개인정보처리방침
0. 요약
메시지 본문은 당신의 기기에서 암호화되며, 당신이 보낸 사람만 읽을 수 있습니다. 우리도 읽을 수 없고, 서버를 빌려 쓰는 Google도 읽을 수 없습니다.
우리가 볼 수 있는 것은 대화가 있었다는 사실입니다. 어떤 계정이 참여했고 언제 활동했는지입니다. 그것까지 없애는 일은 내용을 암호화하는 것보다 어렵고, 아직 끝내지 못했습니다. 이 방침은 그 경계가 지금 어디에 있는지를 정확히 말합니다.
1. 종단 간 암호화되는 것
당신의 기기에서 암호화되어 우리도 Google도 읽을 수 없습니다:
- 메시지 본문.
- 첨부한 파일, 사진, 오디오, 동영상의 내용.
- 링크 미리보기.
- 음성·영상 통화. 두 기기 사이에서 WebRTC가 의무화한 DTLS-SRTP를 사용합니다.
대부분의 1:1 및 그룹 메시지는 여기에 더해 래칫을 씁니다. 메시지마다 키가 달라서, 기기가 뚫려도 이전 메시지까지 드러나지는 않습니다. 상대의 클라이언트가 새 키 자료를 게시하지 않은 대화는 단일 장기 키로 되돌아가며, 그 키에는 이 성질이 없습니다. 메시지 아래 표시가 그 메시지가 실제로 어느 쪽을 거쳤는지 알려 줍니다.
이 선을 넘는 것은 하나뿐이며, 그것도 당신이 요청할 때만 일어납니다. 위키백과에서 이름을 찾아볼 때 보내는 것은 그 이름 하나이고, 그것이 들어 있던 메시지가 아닙니다. 누가 받는지는 6절에 있습니다. 이 요청은 누른 그 순간에만 일어나고 그 외에는 일어나지 않으므로 끌 것도 없습니다. 요약·번역·전사도 이 선을 넘는 일이지만, 이번 릴리스에서는 꺼져 있고 앱 어디에도 그것을 켜는 설정이 없습니다.
2. 암호화되지 않는 것과 우리가 볼 수 있는 것
암호화는 내용을 보호하지, 대화가 있었다는 사실을 보호하지 않습니다. 다음은 우리 서버에 평문으로 남습니다:
- 각 대화에 누가 있는지, 언제 만들어졌고 마지막으로 언제 활동했는지.
- 모든 메시지의 시각과 읽지 않은 개수.
- 첨부의 파일 이름, 형식, 크기. 바이트는 암호화되지만 그에 대한 설명은 그렇지 않으며, 암호문의 길이가 원본 길이의 한계를 드러냅니다.
- 당신의 친구와 친구 요청.
- 통화 시그널링 — 통화가 있었다는 것, 상대, 시각. 음성이나 영상은 아닙니다.
입력 중 표시와 읽음 표시는 켜기 전까지 꺼져 있고, 꺼져 있는 동안에는 아무것도 기록되지 않습니다.
더 이상 여기에 없는 것: 당신의 이메일 주소와 이름입니다. 2026년 9월부터 계정 기록에는 계정 식별자만 남으며, 그때부터는 어디에도 보관할 주소 자체가 없습니다. 가입할 때 당신에 관해 묻는 것은 없습니다. 계정은 24단어 복구 문구이고, Firebase Authentication이 확인하는 자격 증명은 거기서 파생됩니다. 그곳에 저장되는 것은 메일을 받을 수 없는 도메인 아래의 무작위 라벨뿐입니다.
별개로: 이 앱은 Google Firebase 위에서 돌아가므로, 당신의 기기가 그쪽으로 여는 모든 연결의 IP 주소와 시각을 Google이 볼 수 있습니다. 이는 호스팅의 성질이지 앱의 성질이 아니며, 암호화로 없앨 수 없습니다.
3. 다른 사람이 당신을 찾는 방법
검색할 수 없습니다. 디렉터리가 없고 — 이메일, 전화번호, 이름 어느 것으로도 찾을 수 없으며 — 서버는 그런 조회를 모두 거부합니다.
누군가에게 닿으려면 앱 밖에서, 당신이 이미 쓰는 어떤 수단으로든 초대 링크를 보냅니다. 링크는 한 번만 동작하고 24시간 뒤 만료되며, 철회할 수 있습니다. 상대를 뭐라고 부르는지는 당신이 붙인 이름표이고 당신 것입니다. 상대가 자기를 소개했다면, 그 이름은 암호화된 채로 당신에게 왔습니다.
4. 우리가 수집하는 것
- 계정 데이터: 계정 식별자와 복구 문구에서 파생된 자격 증명. Firebase Authentication에 보관됩니다. 이메일 주소도, 전화번호도, 이름도 없습니다 — 가입 때 어느 것도 묻지 않습니다.
- 메시지와 첨부 파일의 암호문, 그리고 2절의 메타데이터.
목록은 이것이 전부입니다. 사용 분석도 없고 오류 보고도 없습니다. 예전에는 화면 조회를 Firebase Analytics로, 오류를 Firebase Crashlytics로 보냈고 둘 다 계정 식별자를 달고 있어 익명이 아니었습니다. 둘 다, 그것을 보내던 라이브러리와 함께 제거했습니다. 오류는 개발 중에 개발자 자신의 기기에 출력될 뿐 다른 어디로도 가지 않습니다.
5. 어디에 저장되는가
Google Firebase — Firestore, Storage, Authentication — 에 저장되며, 각 문서를 누가 읽고 쓸 수 있는지는 보안 규칙이 정합니다.
당신의 기기에서는 캐시된 메시지, 설정, 앱 잠금 PIN이 기기별 키로 암호화됩니다. 그 키는 일반 앱 저장소가 아니라 플랫폼 키 저장소(iOS Keychain, Android Keystore)에 있습니다.
메시지를 복호화하는 개인 키는 기기를 떠나지 않습니다. 예외는 당신이 적어 두기로 한 복구 문구뿐입니다. 우리는 그것을 갖고 있지 않고 대신 복구해 줄 수도 없습니다. 잃어버리면 그 기기로 보낸 메시지는 다시는 읽을 수 없습니다 — 우리를 포함해 누구도 읽을 수 없습니다.
1.2.0 및 이전 버전은 로그인할 때마다 문구의 사본을 Android 자체 백업인 Google Block Store에도 저장했습니다. 휴대폰에 화면 잠금이 있었다면 그 사본은 종단 간 암호화된 상태로 당신의 Google 계정에 동기화되었습니다. 1.2.1 버전부터 앱은 더 이상 이렇게 하지 않으며, 시작할 때마다 그 사본을 삭제합니다.
6. 그 밖에 데이터를 받는 곳
우리는 당신의 개인정보를 팔거나 교환하거나 대여하지 않습니다. 데이터가 가는 곳은:
- Google Firebase — 위에서 설명한 우리의 호스팅 제공자.
- Cloudflare Realtime——당신의 기기와 상대방의 기기가 직접 연결될 수 없을 때 통화의 음성과 영상을 중계합니다.
- 위키미디어 재단 — 이름을 눌러 위키백과에서 찾아볼 때, 그 이름 하나.
- Google Cloud Speech-to-Text — 전사를 요청할 때, 음성 메시지 하나의 오디오.
- Google Cloud Translation — 번역을 요청할 때, 메시지 하나의 텍스트.
- Cloudflare Workers AI — 요약을 요청하거나 대화에 대해 질문할 때, 그 대화의 최근 50개까지의 메시지.
뒤의 셋은 이번 릴리스에서 꺼져 있습니다. 전사·번역·요약을 켜는 설정이 앱 어디에도 없으므로 그 세 서비스에는 아무것도 도달하지 않습니다. 지우지 않고 남겨 둔 것은 코드가 아직 있고 이 기능들을 되돌릴 계획이기 때문입니다. 되돌릴 때는 이 고지와 첫 사용 전 확인을 함께 되돌립니다. 그때 보내지는 것은 당신의 결과를 만들기 위한 것이지 무언가를 학습시키기 위한 것이 아니며, 전사도 번역도 저희 서버에 저장되지 않습니다.
이 찾아보기에는 스위치가 없습니다. 꺼야 할 상시 동작이 없기 때문입니다. 누른 그 순간에만 실행되고 그 외에는 실행되지 않습니다. 위키백과가 받는 것은 그 이름과 당신의 IP 주소뿐이며, 검색창에 직접 입력한 것과 같습니다. 계정도, 메시지도, 대화도 함께 가지 않습니다. 돌아온 내용은 보여줄 뿐 저장하지 않고, 대화에도 아무것도 기록하지 않습니다.
Cloudflare Realtime에도 스위치가 없습니다. 대부분의 통화는 이것이 필요하지 않습니다. 직접 연결할 수 있는 두 기기—같은 네트워크에서의 대부분의 통화—는 이것 없이 연결되며, 아무것도 중계되지 않습니다. 직접 연결할 수 없을 때—흔히 서로 다른 모바일 네트워크에 있을 때—이미 암호화된 통화가 연결 불가 상태로 남는 대신 중계됩니다. Cloudflare가 보는 것은 양쪽의 IP 주소, 통화 시각, 대략적인 데이터 이동량이며, 음성과 영상은 2절에서 설명한 것과 동일한 DTLS-SRTP 암호화 상태를 유지하므로 중계한다고 해서 복호화되지 않습니다.
법이 요구하면 우리가 가진 것을 공개할 수 있습니다. 우리가 가진 것은 2절의 목록입니다. 메시지 내용은 내놓을 수 없습니다. 읽을 수 없기 때문입니다.
7. 푸시 알림
알림은 Firebase Cloud Messaging이 전달합니다. 기기 토큰은 당신만 읽을 수 있는 계정의 비공개 영역에 저장됩니다.
알림에는 메시지 본문이 담기지 않습니다. 당신의 기기가 메시지를 그 자리에서 복호화해 보이는 내용을 구성합니다. Google이 나르는 것은 봉투이지 내용물이 아닙니다.
8. 당신이 할 수 있는 것
- 프로필 화면에서 계정을 삭제합니다. 통화 기록처럼 대화에 공동으로 속한 내용은 상대에게 남습니다. 그것은 그 사람의 기록이기도 하기 때문입니다.
- 프로필 화면에서 데이터를 내보냅니다.
- 대화별로 메시지 만료를 설정합니다: 1시간, 24시간, 7일, 30일.
- 입력 중 표시와 읽음 표시를 켜거나 끕니다. 둘 다 기본값은 꺼짐입니다.
- PIN이나 생체 인식으로 앱을 잠급니다.
- 이미 건넨 초대 링크를 철회합니다.
직접 손으로 지워 주기를 원하면 연락해 주세요.
9. 보관
계정이 존재하는 동안 데이터를 보관합니다. 계정을 삭제하면 데이터도 삭제되지만, 위에서 말한 공동 보유 내용은 제외됩니다. 대화별 만료는 당신이 정한 일정에 따라 메시지를 지웁니다.
10. 알아 두어야 할 한계
직접 알아차리게 두기보다 먼저 말씀드립니다.
- 키는 처음 볼 때 신뢰됩니다. 누군가 두 사람이 메시지를 한 번도 주고받기 전에 키를 바꿔치기했다면, 그 대화는 엉뚱한 사람에게 암호화되면서도 완전히 정상으로 보입니다. 그 뒤에 키가 바뀌면 앱이 경고하고, 다른 경로로 대조할 수 있는 안전 번호를 보여 줍니다 — 그러나 대조를 강제하는 장치는 없습니다.
- 한 번에 한 기기만. 복구 문구는 기록을 여는 열쇠를 되살리므로, 새 기기에서 로그인해도 이미 받은 내용은 잃지 않습니다. 순방향 비밀성이 적용된 대화는 그것을 만든 기기를 결코 벗어나지 않는 두 번째 열쇠를 씁니다. 이런 메시지는 마지막으로 로그인한 기기에 도착하며, 그 사이 다른 기기로 봉인된 것은 옮길 수 없습니다.
- 암호화가 생기기 전에 보낸 메시지는 그대로입니다. 소급해서 변환한 것은 없습니다.
- 이 앱은 독립적인 보안 감사를 받은 적이 없습니다.
11. 아동
Chatterbox는 13세 미만 아동을 위한 앱이 아니며, 그들의 정보를 알면서 수집하지 않습니다. 아동이 개인정보를 제공했다고 생각되면 연락해 주세요. 삭제하겠습니다.
12. 변경
이 방침은 갱신될 수 있습니다. 중요한 변경은 앱에서 알리며, 위의 날짜가 마지막으로 바뀐 시점입니다.
13. 문의
이 방침에 대한 문의: [email protected]
14. 새 버전 확인하기
Google Play는 이 앱이 안드로이드 휴대전화에 도달하는 방법이 아닙니다. 대신 chatterbox.fans에서 다운로드되며, 그 과정에 참여하지 않는 스토어는 사용자를 대신해 업데이트를 확인할 수 없습니다 — 그래서 요청하면 이 앱이 직접 확인할 수 있습니다.
"지금 확인"을 탭하면 현재 버전이 무엇인지 묻는 요청 하나가 chatterbox.fans로 전송됩니다. 이 요청에는 IP 주소만 포함되며 그 외에는 아무것도 포함되지 않습니다 — 계정도, 기기 식별자도, 메시지도 없습니다. 돌아오는 것은 버전 번호이며, 휴대전화에서 현재 실행 중인 버전과 비교됩니다. 아무것도 자동으로 다운로드되지 않으며, 이 확인에 대한 어떤 것도 대화에 기록되지 않습니다.
이 기능에는 스위치가 없습니다. 끌 것이 아무것도 없기 때문입니다: 탭했을 때만 실행되며 그 외에는 실행되지 않습니다.
업데이트를 설치하면 Google Play의 업데이트와 마찬가지로 동일한 서명 키를 사용하여 앱이 제자리에서 교체됩니다.