개인정보 처리방침
최종 업데이트: 2026년 11월 5일
요약
- 저희는 이용자의 이메일 주소, 비밀번호 해시, 구매 내역, 계정에 연결된 컴퓨터와 그 대략적인 하드웨어 사양, 날마다 사용한 앱 버전과 플랫폼, 그리고 호스팅 모델과 호스팅 음성 인식 사용량을 보관합니다.
- 저희는 이용자의 변환된 텍스트, 질문, 모델의 답변, 오디오, 스크린샷을 저장하지 않습니다.
- 결제는 Stripe를 통해 이루어집니다. 저희는 이용자의 카드 번호를 절대 보지 않습니다.
- 이 웹사이트는 로그인 쿠키만 설정하며 추적 도구가 없습니다. 방문과 다운로드는 저희 서버에서 쿠키 없이 익명으로 집계합니다. 방문 및 다운로드 집계를 참고하십시오.
- 저희 서버와 그 데이터베이스 및 백업은 미국(뉴욕)에 있습니다. 데이터가 보관되는 곳을 참고하십시오.
- 계정을 삭제하면 저희 데이터베이스에서 데이터가 즉시 삭제되며, 백업에는 최대 14일 동안 남아 있습니다.
Let Me Solo IT(“저희”)는 이 웹사이트, 계정 서비스, 호스팅 모델을 운영합니다. 이 방침은 이들 서비스와 데스크톱 앱에 적용됩니다. 이들의 이용 규칙은 서비스 약관에서 정합니다.
데이터 컨트롤러
일반 개인정보 보호법(GDPR)에 따른 이용자 개인정보의 컨트롤러는 체코 영업등록부(živnostenský rejstřík)에 등록되어 Let Me Solo IT 상호로 영업하는 개인사업자 Taras Hevlich 님입니다. 이 방침에서 “저희”는 이 사람을 뜻합니다.
- 사업자 식별번호(IČO): 30209382
- 등록 주소: Rostislavova 1362/24, Nusle, 140 00 Praha 4, Czech Republic
- 데이터에 관한 문의나 요청을 위한 이메일: support@letmesoloit.com
계정
- 이메일 주소: 로그인하고 구매 내역을 연결하는 데 사용합니다. 처음 플랜을 구매할 때 Stripe에도 전달됩니다.
- 비밀번호: 솔트를 적용한 bcrypt 해시만 저장하며, 비밀번호 자체는 절대 저장하지 않습니다.
- 계정 상태: 계정이 활성 상태인지, 컴퓨터를 몇 대까지 연결할 수 있는지, 마지막으로 계정을 옮기거나 컴퓨터 연결을 해제한 때가 언제인지.
- 약관 동의: 가입할 때 서비스 약관에 동의한 시점과 동의한 약관의 버전(약관 상단에 표시된 날짜). 저희가 이 정보를 기록하기 시작하기 전에 만든 계정에는 저장된 기록이 없습니다.
- 이메일 확인: 이메일 주소를 확인했는지 여부와 저희가 마지막으로 확인 이메일을 보낸 시점.
- 비밀번호 변경: 비밀번호를 마지막으로 변경한 시점. 변경 전의 로그인이 더 이상 작동하지 않도록 하기 위해서입니다.
저희는 이용자의 이름, 우편 주소, 전화번호를 요구하거나 저장하지 않습니다.
이용자의 컴퓨터
데스크톱 앱에서 로그인하면 앱이 컴퓨터를 계정에 연결합니다. 이를 위해 운영체제의 머신 ID를 읽고 그 단방향 해시만 보내며, 원래 ID는 컴퓨터 밖으로 나가지 않습니다. 머신 ID를 읽을 수 없으면 앱은 대신 임의의 값을 만들어 자체 설정 폴더에 한 번 저장해 사용합니다.
저희는 그 해시를 연결된 날짜, 마지막으로 확인된 날짜와 함께 저장합니다. 이 정보는 컴퓨터 연결을 해제하거나, 다른 컴퓨터에 자리를 내주기 위해 그 컴퓨터가 로그아웃되거나, 계정을 삭제하면 삭제됩니다.
데스크톱 앱을 사용하면 저희는 계정이 날마다 어떤 앱 버전과 플랫폼(Windows, macOS 또는 Linux)을 사용했는지 기록합니다. 업데이트가 누구에게 영향을 미칠지 알기 위해서입니다. 이 기록은 아래의 하드웨어 통계 스위치와 관계없이 남습니다. 이 기록은 35일 동안 보관되며 계정과 함께 삭제됩니다.
컴퓨터의 하드웨어 사양
로그인한 뒤 데스크톱 앱은 컴퓨터의 대략적인 사양을 저희에게 보냅니다. 단, 앱의 설정(설정 → 고급 → 개인정보 보호 및 권한)에서 “하드웨어 및 OS 통계 공유”를 끈 경우에는 보내지 않습니다. 이 설정은 기본적으로 켜져 있습니다. 사양에는 다음이 포함됩니다.
- 운영체제와 그 주 버전(예: Windows 11 또는 macOS 15)
- 프로세서 모델과 코어 수
- 로컬 음성 인식 엔진이 그래픽 카드를 사용하는 경우 그 그래픽 카드의 이름
- 4, 8, 16, 32, 64 또는 128 GB로 반올림한 메모리 용량
- 접속한 국가(두 글자 코드). 저희 서버는 해당 요청의 IP 주소로 저희 서버에 있는 데이터베이스 파일에서 국가를 조회하므로 그 주소가 다른 누구에게도 전송되지 않습니다. 저희는 국가만 저장하고 그 IP 주소는 절대 저장하지 않으며, 그 주소를 로그에 기록하지도 않습니다.
사양에는 컴퓨터 이름, 사용자 이름, 일련번호, MAC 주소, 국가보다 정밀한 위치가 절대 포함되지 않습니다. 앱은 로그인할 때마다 사양을 보내고, 앱을 시작할 때는 지난번 이후 사양이 바뀐 경우에만 보냅니다.
저희는 계정에 연결된 각 컴퓨터별로 사양을 보관하며, 그 컴퓨터의 이전 사양을 대체합니다. 이 사양은 어떤 시스템, 하드웨어, 지역을 지원해야 하는지 파악하는 데만 사용합니다. 이 정보는 컴퓨터 연결을 해제하거나, 다른 컴퓨터에 자리를 내주기 위해 그 컴퓨터가 로그아웃되거나, 그 컴퓨터에서 다른 계정으로 로그인하거나, 계정을 삭제하면 삭제됩니다. 스위치를 끄면 앱이 새 사양을 보내지 않습니다.
IP 위치 정보 제공: DB-IP.
로그인 토큰과 라이선스
- 로그인 토큰은 30분 동안 유효하며 저희 서버에 저장되지 않습니다. 비밀번호를 변경하거나 재설정하면 더 이상 작동하지 않습니다.
- 데스크톱 앱과 이 웹사이트는 30일 동안 유효하고 사용할 때마다 교체되는 갱신 토큰도 받습니다. 한 번의 로그인은 몇 번 갱신하든 최대 90일까지 유지됩니다. 저희는 그 해시만 만료 시점과 함께 저장하며, 데스크톱 앱의 경우 토큰이 속한 컴퓨터도 함께 저장합니다. 토큰은 사용될 때, 로그아웃할 때, 비밀번호를 변경하거나 재설정할 때, 컴퓨터 연결을 해제할 때 종료됩니다. 도난당한 토큰이 다시 사용되는 것을 감지할 수 있도록 종료된 토큰을 종료 사유와 함께 보관하며, 해당 로그인 전체가 종료되고 30일 후에 삭제합니다. 갱신 후 60초 이내에 다시 사용된 토큰(예: 새 토큰을 저장하기 전에 앱이 종료된 경우)은 같은 새 토큰을 한 번 더 받으며, 그 이후에 다시 사용되면 해당 로그인이 종료됩니다. 한 번도 다시 사용되지 않고 만료된 토큰은 제시되거나, 로그아웃하거나, 계정을 삭제할 때까지 해시로 보관됩니다.
- 이 웹사이트를 통해 데스크톱 앱에 로그인할 때 쓰는 일회용 코드는 해시로 저장되고, 5분 동안 유효하며, 만료되고 하루 뒤에 삭제됩니다. 비밀번호 재설정 링크는 해시로 저장되고, 30분 동안 유효하며, 계정을 삭제할 때까지 보관됩니다.
- Own Key Lifetime 보유자는 앱이 저희 서버에 연결하지 않고도 30일 동안 작동할 수 있게 해 주는 오프라인 라이선스를 받습니다. 이 라이선스는 저희가 아니라 이용자 컴퓨터의 앱이 보관하며, 앱이 갱신하지 않으면 30일 후에 만료됩니다.
구매와 결제
- 카드는 저희 결제 및 청구 페이지에 표시되는 Stripe의 카드 양식에 입력합니다. 카드 정보는 곧바로 Stripe로 전달되며 저희는 절대 받지 않습니다.
- 저희는 Stripe에 플랜과 그 가격, 저희 내부 계정 번호, 그리고 이용자의 이메일 주소 또는 Stripe 고객 ID를 보냅니다.
- 저희는 구매별로 플랜, 상태, Stripe의 참조 번호, 해지 예정 여부, 결제한 기간이 끝나는 시점과 구매가 종료된 시점을 저장합니다. 종료된 구매는 이용자의 내역에 남습니다.
- 결제할 때 이용자는 서비스 약관에 동의하는 확인란을 선택합니다. 저희는 이용자가 동의한 약관 버전과 확인란을 선택했다는 Stripe의 기록을 해당 구매와 함께 저장하며, Stripe도 자체 기록을 보관합니다. 저희는 이 정보를 결제에 대한 이의가 제기된 경우 이용자가 무엇에 동의했는지에 대한 증거로만 사용하며, 계정을 삭제하면 해당 구매와 함께 삭제합니다.
- Stripe는 자체 개인정보 처리방침에 따라 이용자의 결제 데이터를 처리하며, 이용자의 결제와 청구서에 대한 자체 기록을 보관합니다.
통화: 오디오, 변환된 텍스트, 질문
- 데스크톱 앱은 이용자가 동의 단계를 수락하기 전에는 아무것도 캡처하지 않습니다. 이용자는 AI 어시스턴트가 통화를 텍스트로 변환하고 있다는 사실을 통화 참가자 모두에게 알려야 합니다.
- 앱은 이용자가 선택한 음성 인식 엔진으로 통화 오디오(이용자의 마이크와 컴퓨터 소리)를 텍스트로 변환합니다. 오디오가 어디로 가는지는 엔진에 따라 다릅니다. 아래의 음성 텍스트 변환을 참고하십시오.
- Own Key 플랜에서는 앱이 각 질문의 텍스트와 이용자가 추가한 이미지를 이용자의 컴퓨터에서 이용자가 선택한 모델 제공업체로 곧바로 보내며, 그 제공업체의 약관이 적용됩니다. 이 데이터는 저희 서버를 거치지 않습니다.
- 호스팅 모델에 크레딧을 사용하면 앱이 각 질문의 텍스트와 이용자가 추가한 이미지를 저희 서버로 보내고, 저희 서버는 이를 저희가 사용하는 모델 제공업체에 전달한 뒤 답변을 돌려줍니다. 저희는 질문, 이미지, 답변을 저장하거나 로그에 기록하지 않으며, 제공업체에 이용자의 이름, 이메일, 계정 ID를 보내지 않습니다. 저희는 사용된 크레딧 수만 보관합니다.
- 통화 요약을 요청하면 해당 채팅(오간 대화, 입력한 질문, 힌트)을 요청 하나를 더 보내 같은 모델에 전송하며, 호스팅 플랜에서는 힌트와 마찬가지로 크레딧을 사용합니다. 채팅을 지울 때는 “채팅을 지울 때 요약”이 켜져 있는 경우에만 같은 일이 일어납니다. 이 설정은 직접 켜지 않는 한 꺼져 있습니다.
- 찍은 스크린샷은 질문과 함께 전송되며, 채팅에 추가된 후 디스크에서 삭제됩니다.
- 질문에 첨부한 문서의 텍스트는 이용자의 컴퓨터에서 읽혀 그 질문과 함께 같은 모델로 전송되며, 파일 자체는 업로드되지 않습니다. 문서로 채우기(설정 → 프로필)는 이용자가 고른 문서의 텍스트를 내 소개 초안을 작성하기 위해 그 모델에 한 번 보내며, 무엇이든 저장되기 전에 이용자가 초안을 검토합니다.
- 고지 사항에 대한 동의는 저희 서버가 아니라 이용자 컴퓨터의 앱 설정에 저장됩니다.
음성 텍스트 변환: 통화 오디오가 가는 곳
통화 오디오는 이용자의 컴퓨터(로컬 엔진: 오디오가 컴퓨터에 남습니다) 또는 클라우드 음성 서비스에서 텍스트로 변환되며, 클라우드 음성 서비스는 오디오를 말하는 대로(스트리밍) 또는 한 문장씩 받습니다. 클라우드 서비스에는 이를 포함하는 플랜에서 쓸 수 있는 letmesoloit.com의 저희 호스팅 음성 인식 서비스가 있으며, 이 서비스는 오디오를 저희가 사용하는 음성 인식 제공업체에 전달합니다. 또는 이용자가 자신의 API 키로 설정한 음성 제공업체(앱 설정에 각각의 이름이 나와 있습니다)가 있으며, 여기에는 그 제공업체의 약관이 적용됩니다. 엔진은 앱 설정(설정 → 고급 → 오디오 → 음성 인식)에서 선택하며, 기본값은 자동 선택입니다.
자동 선택은 플랜에 호스팅 음성 인식이 포함되어 있고 크레딧이 남아 있는 동안 모든 언어, 모든 컴퓨터에서 저희 호스팅 음성 인식 서비스를 사용하며, 서비스가 스트리밍을 지원하는 경우 오디오를 스트리밍합니다. 그렇지 않으면 로컬 엔진을 사용하며, 저희 서비스에 연결할 수 없거나 서비스가 실패하면 로컬 엔진으로 전환합니다. 이용자가 자신의 키로 설정한 음성 제공업체는 절대 사용하지 않으며, 그 제공업체는 이용자가 직접 선택할 때만 사용됩니다. 둘 다 들을 수 없는 동안에는, 예를 들어 저희 서비스 없이 로컬 모델이 준비될 때까지는 아무것도 텍스트로 변환되지 않습니다.
오디오를 스트리밍할 때(스트리밍을 지원하는 저희 호스팅 음성 인식 서비스로, 또는 스트리밍을 켠 경우 이용자가 자신의 키로 설정한 음성 제공업체로)는 음소거되거나 일시 중지되지 않은 채널의 오디오가 짧은 멈춤을 포함해 연속으로 전송됩니다. 말소리가 들리기 약 1초 전부터 마지막으로 말소리가 들린 후 최대 약 2초까지 전송되며, 그 이후에는 다시 말소리가 들릴 때까지 아무것도 전송되지 않습니다. 마이크 채널은 통화 자체의 소리만 들릴 때 더 일찍 멈춥니다. 여기서 말소리란 채널의 음성 임계값을 넘으면서 음성 감지기도 사람 목소리로 판단하는 소리를 뜻하며, 음성 감지기를 실행할 수 없을 때는 충분히 큰 소리만으로도 해당됩니다. 음소거, 참가자 일시 중지 또는 보정 전에 들린 소리는 그 이후에 전송되지 않습니다. 오디오는 한 번만 전송되지만, 자동 언어 설정에서 말소리를 스트리밍하는 동안은 예외입니다. 문장의 언어를 알아내기 위해 앱은 그 문장의 처음 8초를 언어를 지정하지 않고 저희 호스팅 음성 인식 서비스로 한 번 더 보내며, 이 두 번째 인식은 다른 오디오와 똑같이 청구됩니다. 이용자의 컴퓨터에 음성 모델이 설치되어 있으면 그 모델도 같은 몇 초를 이용자의 컴퓨터에서 듣습니다. 여러 인식 결과가 새로운 언어에 일치하면(또는 5초 이상인 문장에서 그중 하나가 그 언어를 판단하면) 앱은 저희 호스팅 음성 인식 서비스에 그 언어를 알리는 짧은 신호를 보내고, 서비스는 이미 받은 오디오를 그 언어로 다시 인식하며 다시 청구하지 않습니다. 작성된 텍스트의 언어는 이용자의 컴퓨터에서 판단하며, 통화 양쪽이 마지막으로 사용한 언어(쪽마다 언어 코드 하나)는 다음 통화의 첫 추정값으로 이용자의 컴퓨터에 보관됩니다. 이용자가 언어를 직접 고른 경우에는 아무것도 감지하지 않습니다. 같은 신호는 이용자가 직접 언어를 바꿀 때만 전송되며, 서비스는 그 이후의 오디오를 그 언어로 인식하고 다시 인식하는 것은 없습니다. 스트리밍하지 않을 때 앱은 누군가 말하는 것이 들리는 오디오 구간만 클라우드 엔진으로 보내며, 각 구간은 말소리가 시작되기 0.25초 전부터 화자가 말을 멈출 때까지입니다.
앱은 오디오와 함께 저희 호스팅 음성 인식 서비스에, 또는 이용자가 자신의 키로 설정한 음성 제공업체가 받는 경우 그 제공업체에, 주의해서 들을 단어 목록을 보냅니다. 철자를 맞출 단어 필드(설정 → 고급 → 오디오 → 음성 인식)에 있는 단어만 보내며 다른 것은 보내지 않습니다. 활성 프로필의 내 소개는 이를 위해 읽지 않습니다. 단어는 최대 100개, 각각 최대 50자, 전체 최대 6,000바이트까지 전송됩니다. 이 단어들은 이름을 정확히 표기하는 데 도움이 되며, 개인적인 정보일 수 있습니다. 이용자 자신의 이름이나 고객의 이름이 포함될 수 있습니다. 이 단어들은 오디오와 함께만 전송되며, AI가 답하는 질문과 함께 전송되는 일은 없습니다. 저희 호스팅 음성 인식 서비스는 음성 인식 제공업체에 오디오와 이 단어들만 전달하며, 이용자나 계정에 관한 다른 정보는 전달하지 않습니다. 또한 오디오, 이 단어들, 텍스트를 저장하거나 로그에 기록하지 않습니다. 이용자가 자신의 키로 설정한 음성 제공업체는 그 제공업체의 약관에 따라 이를 받습니다. 로컬 엔진에는 아무것도 전달되지 않습니다.
- 로컬 엔진은 이용자의 컴퓨터에서 텍스트로 변환하며, 저희를 포함해 누구에게도 오디오를 보내지 않습니다. 로컬 엔진을 선택하면 오디오가 클라우드 서비스로 저절로 전송되는 일은 절대 없으며, 로컬 모델이 준비될 때까지는 아무것도 텍스트로 변환되지 않습니다.
- 이용자가 자신의 키로 설정한 음성 제공업체: 앱은 오디오와 이용자가 고른 언어를 이용자의 컴퓨터에서 그 제공업체로 곧바로 보내며, 저희 서버를 거치지 않습니다. 그 제공업체가 오디오를 보관하는 기간을 포함해 이용자와 그 제공업체 간의 계약이 적용됩니다.
- letmesoloit.com의 저희 호스팅 음성 인식 서비스(앱의 “클라우드(letmesoloit.com)”): 이를 포함하는 플랜, 즉 All-Inclusive 또는 Credit Pack에서 크레딧이 남아 있는 동안 사용할 수 있습니다. 이 서비스를 사용하는 동안 앱은 통화 오디오를 위에서 설명한 인식할 단어와 함께 문장 단위로 또는 스트림으로 저희 서버에 보냅니다. 자동에서 문장 단위로 보낼 때는 언어를 보내지 않습니다. 제공업체가 언어를 감지하고, 저희 서버는 텍스트를 보고 완료된 각 문장이 앱의 12개 언어 중 어느 언어인지 판단해 앱에 알려 주며, 이는 메모리에서만 처리되고 저장되거나 로그에 기록되지 않습니다. 이용자가 언어를 고른 경우 앱은 문장마다(또는 스트림이 열릴 때) 그 언어를 보내며, 아무것도 감지하지 않습니다. 스트림은 통화의 해당 쪽이 마지막으로 사용한 언어 또는 이용자가 고른 언어로 즉시 열리고 그 언어를 유지하므로 텍스트가 그 언어로 작성됩니다. 저희 서버는 여전히 완료된 각 문장에서 들은 언어를 알려 줍니다. 연결이 끊긴 후 스트림은 최대 마지막 4초의 오디오를 다시 보내며, 저희 서버는 말소리가 전혀 들리지 않은 오디오가 120초 동안 이어지면 스트림을 종료합니다. 저희 서버는 오디오와 이 단어들만 저희가 사용하는 음성 인식 제공업체에 전달하며, 이용자나 계정에 관한 다른 정보는 전달하지 않습니다. 제공업체는 오디오를 텍스트로 변환하고, 저희 서버는 그 텍스트를 앱에 돌려줍니다. 저희는 오디오, 이 단어들, 텍스트를 저장하거나 로그에 기록하지 않습니다. 스트림이 실행되는 동안 저희 서버는 아직 끝나지 않은 문장의 단어만 메모리에 보관하며, 연결이 끊긴 후에는 다시 전송된 오디오가 이중으로 청구되지 않도록 이미 청구한 초를 몇 초 동안 보관합니다. 저희는 사용된 크레딧과 아직 1크레딧에 못 미치는 호스팅 음성 인식 초만 저장합니다.
오디오를 해당 제공업체와 공유할 수 없는 통화에서는 클라우드 엔진을 사용하지 마십시오.
호스팅 모델 및 호스팅 음성 인식 사용량
All-Inclusive의 각 달과 각 Credit Pack에 대해 저희는 제공한 크레딧 수, 사용한 크레딧 수, 만료 시점을 저장합니다. 크레딧은 호스팅 답변과 호스팅 음성 인식 비용으로 쓰입니다. 호스팅 음성 인식은 말소리가 있든 없든, 문장 단위로 보내든 스트림으로 보내든 저희 서버가 받은 오디오의 초를 기준으로 10초마다 1크레딧씩 청구되며, 아직 1크레딧에 못 미치는 초는 다음 문장으로 이월됩니다. 자동에서 말소리를 스트리밍하는 동안에는 문장의 언어를 알아내기 위해 그 문장의 처음 8초를 한 번 더 인식하며, 이 두 번째 인식은 다른 오디오와 똑같이 청구됩니다. 화자가 언어를 바꾸면 서비스는 이미 받은 오디오를 새 언어로 다시 인식하며 추가 비용은 없습니다. 단독으로 전송된 문장에는 저희가 사용하는 음성 인식 제공업체가 요청 한 건에 대해 청구하는 최소 금액이 있는 경우 최소한 그만큼이 청구됩니다. 저희는 그 초가 청구될 때까지 저장합니다. 저희는 이 정보를 플랜의 한도를 적용하고 요금을 청구하는 데 사용합니다.
데스크톱 앱의 충돌 보고서
충돌 보고서는 이용자의 허락 없이는 절대 전송되지 않습니다. 기본적으로 처리되지 않은 오류나 충돌이 발생하면 보고서가 이용자의 컴퓨터에 남고, 다음에 시작할 때 보낼지 물어봅니다(설정 → 고급 → 개인정보 보호 및 권한: 충돌 후 묻기, 항상 보내기 또는 보내지 않음). 보고서에는 오류, 앱 버전, 운영체제가 담기며, 변환된 텍스트, 프로필, API 키, 홈 폴더 아래의 파일 경로, 컴퓨터 이름, IP 주소, 위치는 절대 담기지 않습니다. 앱 메모리의 값이나 오류 전에 한 작업의 흔적도 담기지 않으며, 보내기 전에 무엇이 전송될지 정확히 확인할 수 있습니다. 전송된 보고서는 Sentry(sentry.io)로 가서 유럽연합에 저장되며, Sentry와 그 하위 처리자가 처리합니다. 소스 코드에서 실행한 빌드처럼 보고 엔드포인트가 없는 빌드는 아무것도 보관하거나 보내지 않습니다.
앱이 이용자의 컴퓨터에 보관하는 것
데스크톱 앱은 다음 파일을 이용자의 컴퓨터에만 보관하며, 절대 업로드하지 않습니다.
- 채팅 백업: 충돌이 나거나 그냥 닫아도 아무것도 잃지 않도록 만드는 각 채팅의 사본(오간 대화, 힌트, 보낸 이미지, 첨부한 문서의 이름. 문서 내용은 절대 포함되지 않습니다). 이용자 프로필에 보관되며(Linux와 macOS에서는 이용자의 계정만 읽을 수 있습니다), 채팅이 끝나고 30일 후에 삭제됩니다. 설정 → 고급 → 채팅 기록에서 보관 일수를 바꾸거나, 모든 채팅을 보관하거나, 백업을 끄거나, 모든 백업을 한 번에 삭제할 수 있습니다.
- 채팅 자동 내보내기: 채팅이 끝나면(채팅을 지우거나, 새 채팅을 시작하거나, 앱을 종료하면) 앱이 채팅을 문서 폴더의 LetMeSoloIT 폴더에 TOML 파일로 저장합니다. Markdown, HTML, PDF, 일반 텍스트 또는 폴더를 고르면 그 형식으로 저장합니다(설정 → 고급 → 채팅 기록: “채팅 자동 내보내기”, 기본값은 켜짐, 그리고 “내보내기 형식”). 이 기능에는 채팅 백업이 필요합니다. 앱 헤더에서 직접 고른 폴더로 채팅을 수동으로 내보낼 수도 있으며, HTML 또는 PDF로 내보내면 채팅의 이미지가 파일 안에 포함됩니다.
- 이용자 자신의 API 키(이용자가 직접 설정한 모델 또는 음성 제공업체용): 이용자의 컴퓨터에서 앱 설정 폴더 안의, 이용자의 사용자 계정만 읽을 수 있는 파일에 암호화되어 저장되며, 각 키가 속한 제공업체에만 전송되고 letmesoloit.com에는 절대 전송되지 않습니다.
- 로그: 앱은 기술 로그를 로그 폴더에 기록합니다(설정 → 고급 → 개인정보 보호 및 권한에서 확인할 수 있습니다). 로그에는 변환된 텍스트, 입력한 질문, 첨부한 파일의 이름이 담기지 않으며, 홈 폴더는 ~로 표시됩니다. 로그는 최대 약 6 MB까지만 보관됩니다. 2 MB가 되면 새 파일을 시작하고 그 이전 파일 두 개를 보관합니다. 로그는 어디에도 전송되지 않습니다.
- 로컬 음성 모델: 로컬 엔진이 통화를 듣게 되면 앱은 Hugging Face(huggingface.co)에서 음성 모델을 한 번 다운로드하고, 파일을 확인한 뒤 이용자의 컴퓨터에 보관합니다. Hugging Face는 이용자의 IP 주소를 볼 수 있지만 계정 데이터는 받지 않습니다.
- 이용자의 설정, 고지 사항에 대한 동의, 그리고 Own Key Lifetime의 오프라인 라이선스.
방문 및 다운로드 집계
사이트와 앱이 어떻게 사용되는지 알기 위해 저희 서버는 하루 단위로 이 웹사이트의 페이지가 몇 번 열렸는지(어떤 페이지인지, 어느 다른 사이트에서 왔는지, 이용자의 국가), 서로 다른 방문자가 몇 명이었는지, 빌드가 몇 번 다운로드되었는지, 업데이트 확인과 가입이 몇 번 있었는지 집계합니다. 분석 서비스나 쿠키, 스크립트는 전혀 사용하지 않습니다.
저희는 하루 단위의 이 합계만 저장하며, 이용자의 IP 주소, 브라우저의 사용자 에이전트, 계정, 방문 시각은 절대 저장하지 않습니다. 방문자를 하루에 한 번만 세기 위해 저희 서버는 IP 주소와 사용자 에이전트로 만든 뒤섞인 코드를 디스크가 아닌 메모리에만 보관하며, 여기에 매일 바뀌는 임의의 값을 섞으므로 이 코드로 이용자를 역추적하거나 다른 날과 연결할 수 없습니다. 국가는 저희 서버의 데이터베이스로 IP 주소에서 읽어 냅니다. 빌드의 다운로드 수에는 플랫폼, 버전, 그리고 웹사이트, 설치 스크립트, 앱 중 어느 것이 가져갔는지가 담깁니다.
다운로드와 업데이트
다운로드에는 계정이 필요 없습니다. 저희는 익명의 일일 집계와 아래에서 설명하는 서버 로그 줄 외에는 다운로드에 관해 아무것도 보관하지 않습니다. 이 로그 줄에는 앱이나 브라우저가 저희 API로 직접 보내는 다운로드와 업데이트 확인에 대해서만 이용자의 IP 주소와 사용자 에이전트가 담기며, 웹사이트의 다운로드 버튼에 대해서는 담기지 않습니다. 앱의 빌드와 업데이트 파일은 GitHub가 전달하며, GitHub는 이를 다운로드하는 컴퓨터의 주소를 볼 수 있습니다.
앱은 시작할 때마다, “시작할 때 업데이트 확인”(설정 → 고급 → 업데이트)을 끄지 않은 한, 이용자의 플랫폼(Windows, macOS 또는 Linux)용 최신 버전의 서명된 설명을 저희 서버에 요청합니다. 이 요청에는 주소에 포함된 플랫폼과 앱 웹 라이브러리의 표준 사용자 에이전트만 담기며, 계정 데이터나 토큰은 담기지 않습니다. 앱은 무엇이든 설치하기 전에 서명과 다운로드한 파일을 확인합니다.
서버 로그
저희 서버는 기술 로그를 기록합니다. 요청마다 메서드, 경로, 상태, 요청이 온 주소를 담은 한 줄과 오류의 세부 정보를 기록합니다.
- 앱에서의 로그인, 업데이트 확인, 특정 버전의 다운로드처럼 앱이나 브라우저가 저희 API로 직접 보내는 요청의 경우, 그 주소는 이용자의 IP 주소입니다.
- 이 웹사이트는 이용자가 로그인하거나, 가입하거나, 새 확인 이메일을 요청하거나, 비밀번호 재설정 링크를 요청하거나 사용하거나, 데스크톱 앱의 로그인을 승인하거나, 데이터 사본을 다운로드할 때 이용자의 IP 주소를 저희 API에 전달합니다. 이런 줄에는 이용자의 IP 주소가 담깁니다.
- 다른 페이지와 웹사이트의 다운로드 버튼을 통한 다운로드는 이용자의 주소 없이 웹사이트 자체 서버에서 저희 API로 연결됩니다. 이런 줄에는 이용자의 주소가 아니라 그 서버의 주소가 담기며, 다운로드의 경우 이용자가 아니라 그 서버의 사용자 에이전트가 담깁니다.
- 저희 API로 직접 보내는 각 다운로드 또는 업데이트 요청에 대해서는 이용자의 사용자 에이전트, 즉 브라우저나 앱이 보내는 이름과 버전 문자열도 기록합니다.
저희 코드는 이용자의 이메일 주소, 비밀번호, 토큰, 질문, 답변을 로그에 기록하지 않습니다. 컴퓨터의 하드웨어 사양을 보내는 요청의 경우, 그 줄에는 IP 주소가 전혀 담기지 않습니다.
저희 서버의 오류 보고서
저희 서버에서 처리하지 못한 오류가 발생하면 Sentry(sentry.io)로 오류 보고서를 보내며, 보고서는 유럽연합에 저장됩니다. 잘못된 비밀번호나 응답하지 않는 결제 서비스 제공업체처럼 저희 서버가 스스로 응답하는 오류는 보고서를 보내지 않습니다. 단, 한 가지 예외가 있습니다. 저희 서버가 적용하지 못한 Stripe의 결제 이벤트로, 이로 인해 이용자의 계정에서 구매가 누락될 수 있기 때문입니다. 이 보고서에는 Stripe 이벤트의 ID와 유형도 담기므로 저희가 Stripe에서 그 이벤트를 찾아 수동으로 적용할 수 있습니다. 보고서에는 오류 유형, 저희 코드에서 오류가 발생한 위치, 요청 메서드와 경로 패턴(그 안의 값, 예를 들어 이용자 컴퓨터의 ID를 뺀 주소의 형태), 시각, 그리고 저희 서버의 기술적 세부 정보(호스트 이름, Python 및 패키지 버전)가 담깁니다.
보고서에는 실제 요청 경로, 오류 메시지, 요청 헤더, 쿠키, 요청 본문, 쿼리 문자열, 이용자의 IP 주소, 이메일 주소 또는 그 밖의 계정 데이터가 절대 담기지 않습니다.
데이터가 보관되는 곳
미국(뉴욕)에 있는 DigitalOcean 서버 한 대가 이 웹사이트와 저희 API를 실행하며, 저희 데이터베이스와 그 백업을 보관합니다. 저희 도메인의 DNS는 GoDaddy에 있고, HTTPS 인증서는 Let's Encrypt에서 발급받습니다. 둘 다 이용자에 관한 데이터를 받지 않습니다. Better Stack은 저희 공개 페이지와 API가 응답하는지 확인하며, 역시 이용자에 관한 데이터를 받지 않습니다.
따라서 이용자의 계정 데이터는 유럽연합과 유럽경제지역을 떠나 미국으로 이전됩니다. DigitalOcean은 EU-미국 데이터 프라이버시 프레임워크 인증을 받았으며, 이 이전은 이에 근거합니다. Stripe, Resend, GitHub도 미국에서 데이터를 처리하며 EU-미국 데이터 프라이버시 프레임워크를 준수한다고 밝히고 있습니다. Resend의 약관에는 유럽연합 집행위원회의 표준계약조항이 추가되어 있습니다. 호스팅 모델 제공업체는 데이터 처리 약관의 표준계약조항에 따라 받은 질문과 이미지를 미국에서 처리합니다. 호스팅 음성 인식 제공업체도 미국에 있습니다. 이러한 보호 조치의 세부 내용을 받으려면 support@letmesoloit.com로 연락하십시오.
데이터를 처리하는 다른 주체
- DigitalOcean: 저희 서버, 데이터베이스, 백업을 호스팅합니다.
- Stripe: 결제, 구독, 청구서, 카드 양식.
- 호스팅 모델 제공업체: 위에서 설명한 대로 호스팅 플랜에서 각 질문의 텍스트와 이용자가 추가한 이미지.
- 호스팅 음성 인식 제공업체: 위에서 설명한 대로 저희 호스팅 음성 인식 서비스를 사용하는 동안 텍스트로 변환하기 위한 통화 오디오.
- Resend: 저희의 확인 이메일과 비밀번호 재설정 이메일을 보냅니다. 이용자의 이메일 주소와 링크가 포함된 이메일을 받습니다.
- Own Key 플랜에서 이용자 자신의 모델 제공업체, 그리고 이용자가 자신의 키로 설정한 경우 이용자 자신의 음성 제공업체. 각각 이용자와의 계약에 따라 처리합니다.
- GitHub: 다운로드와 업데이트 전달.
- Hugging Face: 로컬 음성 모델 전달.
- GoDaddy(DNS), Let's Encrypt(인증서), Better Stack(가용성 확인). 이용자에 관한 데이터는 받지 않습니다.
- Sentry: 이용자가 보내기로 선택한 경우에만 전송되는 데스크톱 앱의 충돌 보고서, 그리고 저희 서버의 오류 보고서. 이 보고서에는 개인 데이터가 담기지 않으며, 저희 서버가 적용하지 못한 결제 이벤트의 경우에만 그 이벤트에 대한 Stripe의 ID가 담깁니다.
저희는 이용자의 데이터를 판매하거나 광고에 사용하지 않습니다.
데이터 보관 기간과 삭제
- 저희는 이용자가 계정을 삭제할 때까지 계정 데이터, 구매 내역, 사용 기록을 보관합니다.
- 대시보드의 보안 페이지에서 언제든지 계정을 삭제할 수 있습니다. 삭제하면 이용 중인 Stripe 구독이 해지되고, 계정, 구매 내역, 연결된 컴퓨터와 그 하드웨어 사양, 토큰, 사용 기록이 저희 데이터베이스에서 즉시 삭제됩니다.
- 같은 페이지(“내 데이터 다운로드”)에서 저희가 계정에 관해 저장하는 모든 정보의 사본을 JSON 파일로 다운로드하거나, support@letmesoloit.com로 요청할 수 있습니다.
- 저희는 매일 밤 데이터베이스를 저희 서버에 백업하고, 각 백업을 14일 후에 삭제합니다. 따라서 삭제된 데이터는 14일 이내에 백업에서 사라지며, 장애 복구를 위한 경우가 아니면 저희 데이터베이스로 복원되지 않습니다. 백업을 다른 곳에 보관하게 되면 그 전에 이 방침에 보관 장소를 명시하겠습니다.
- 서버 로그는 날짜가 아니라 크기를 기준으로 보관됩니다. 저희 서비스의 각 부분은 최근 줄을 최대 50 MB(10 MB 파일 5개)까지 보관하며, 이는 보통 며칠에서 몇 주 분량이고, 서비스의 새 릴리스가 배포되면 삭제됩니다. 로그인 토큰, 로그인 코드, 재설정 링크는 로그인 토큰과 라이선스에서 설명한 대로 보관되며, 이용자가 사용한 앱 버전 기록은 35일 동안 보관됩니다.
- 저희는 적용한 Stripe 결제 이벤트의 ID를 보관하며, 이 ID는 어떤 계정도 가리키지 않습니다. 카드 결제 분쟁에서 패소한 계정은 새 구매를 할 수 없는 상태로 유지됩니다. 남용을 막기 위해 저희 서버는 IP 주소별, 이메일 주소별 요청 수를 메모리에서만 집계하며, 서버가 다시 시작되면 이 집계는 사라집니다.
- 이메일 주소를 한 번도 확인하지 않은 계정은 로그인할 수 없으므로 대시보드에서 삭제할 수 없으며, 자동으로 삭제되지도 않습니다. 삭제를 원하면 그 이메일 주소에서 support@letmesoloit.com로 연락하십시오.
- Stripe는 고객으로서의 이용자와 이용자의 과거 결제 및 청구서에 대한 자체 기록을 보관합니다.
- 이미 이용자의 컴퓨터에 있는 오프라인 라이선스는 만료될 때까지, 최대 30일 동안 유효합니다.
데이터를 사용하는 이유와 이용자의 권리
저희는 이용자가 가입하고 구매한 서비스를 제공하기 위해(이용자와의 계약) 계정, 컴퓨터, 구매 및 사용 데이터를 사용합니다. 서비스를 안전하게 유지하고 어떤 시스템을 지원해야 하는지 알기 위한 저희의 정당한 이익에 근거해 서버 로그, 하드웨어 사양, 앱 버전 기록을 사용하며, 사이트와 앱이 어떻게 사용되는지 알기 위한 저희의 정당한 이익에 근거해 익명의 방문 및 다운로드 집계를 사용합니다. 데스크톱 충돌 보고서는 이용자의 허락이 있을 때만 보냅니다.
- 열람 및 사본: 대시보드 보안 페이지의 “내 데이터 다운로드”를 누르면 저희가 계정에 관해 저장하는 모든 정보를 JSON 파일로 받을 수 있습니다.
- 삭제: 같은 페이지의 “계정 삭제”. 위에서 설명한 대로입니다.
- 정정, 반대, 처리 제한 또는 그 밖의 요청: 계정의 이메일 주소에서 support@letmesoloit.com로 연락하십시오. 하드웨어 사양은 언제든지 해당 스위치를 꺼서 반대할 수 있습니다.
- 저희는 모든 요청에 1개월 이내에 답변합니다.
- 데이터 보호 감독기관에 민원을 제기할 수도 있습니다. 체코에서는 개인정보보호청(Úřad pro ochranu osobních údajů, uoou.gov.cz)이며, 또는 이용자가 거주하거나 일하는 곳의 감독기관에 제기할 수 있습니다.
방침의 변경
저희는 이 방침을 업데이트할 수 있습니다. 이 페이지 상단의 날짜는 방침이 마지막으로 변경된 날을 나타냅니다.
문의
데이터에 관한 문의나 요청: support@letmesoloit.com.