Политика конфиденциальности
0. Коротко
Текст ваших сообщений шифруется на вашем устройстве, и прочитать его могут только те, кому вы его отправили. Мы его прочитать не можем, и Google, чьи серверы мы арендуем, тоже.
Что мы видим — это что разговор состоялся: какие аккаунты в нём участвуют и когда они были активны. Убрать и это сложнее, чем зашифровать содержимое, и мы ещё не закончили. Эта политика говорит точно, где сейчас проходит граница.
1. Что зашифровано сквозным шифрованием
Зашифровано на вашем устройстве и нечитаемо ни для нас, ни для Google:
- Текст ваших сообщений.
- Содержимое файлов, фотографий, аудио и видео, которые вы прикрепляете.
- Предпросмотры ссылок.
- Голосовые и видеозвонки — между двумя устройствами используется обязательный в WebRTC протокол DTLS-SRTP.
Большинство личных и групповых сообщений дополнительно используют храповик: у каждого сообщения свой ключ, поэтому компрометация устройства не раскрывает более ранние. Разговоры, где чей-то клиент не опубликовал более новый ключевой материал, откатываются на один долгоживущий ключ, у которого этого свойства нет. Отметка под сообщением говорит, каким путём оно пошло на самом деле.
Эту линию пересекает одно, и только когда вы сами просите: поиск имени в Википедии отправляет это имя, а не сообщение, из которого оно взято. Кто его получает, сказано в разделе 6; запрос происходит по нажатию и никак иначе, так что выключать нечего. Пересказ, перевод и расшифровка пересекали бы её тоже — в этом выпуске они выключены, и в приложении нет ничего, что их включает.
2. Что не зашифровано и что мы видим
Шифрование защищает содержимое, а не сам факт разговора. Вот что лежит в открытом виде на наших серверах:
- Кто участвует в каждом разговоре, когда он создан и когда был активен в последний раз.
- Время каждого сообщения и сколько вы не прочитали.
- Имя файла, тип и размер вложения. Байты зашифрованы, а их описание — нет, и длина шифртекста ограничивает длину оригинала.
- Ваши друзья и заявки в друзья.
- Сигнализация звонков — что звонок был, кому и когда. Не его звук и не видео.
Индикатор набора и отчёты о прочтении выключены, пока вы их не включите, и пока они выключены, ничего не записывается.
Чего здесь больше нет: вашего адреса электронной почты и вашего имени. С сентября 2026 года запись аккаунта содержит только его идентификатор — и с тех пор адреса нет вообще нигде. Регистрация не спрашивает о вас ничего: ваш аккаунт — это фраза восстановления из 24 слов, и учётные данные, которые проверяет Firebase Authentication, выведены из неё. Там хранится случайная метка в домене, который не способен принимать почту.
Отдельно: поскольку приложение работает на Google Firebase, Google видит IP-адрес и время каждого соединения, которое ваше устройство к нему открывает. Это свойство хостинга, а не приложения, и зашифровать его мы не можем.
3. Как вас находят
Вас нельзя найти поиском. Здесь нет каталога — ни поиска по почте, ни по телефону, ни по имени, — и сервер отклоняет любой запрос, который это пытается сделать.
Чтобы связаться с кем-то, вы отправляете ему ссылку-приглашение по любому каналу, которым уже пользуетесь. Ссылка срабатывает один раз, истекает через 24 часа, и её можно отозвать. То, как вы кого-то называете, — это ваша собственная пометка, и она остаётся у вас; если человек представился, это имя пришло к вам зашифрованным.
4. Что мы собираем
- Данные аккаунта: идентификатор аккаунта и выведенные из вашей фразы восстановления учётные данные, хранящиеся в Firebase Authentication. Ни адреса почты, ни номера телефона, ни имени — при регистрации ничего из этого не спрашивают.
- Шифротекст сообщений и вложений плюс метаданные из раздела 2.
Это весь список. Никакой аналитики и никаких отчётов о сбоях. Раньше приложение отправляло просмотры экранов в Firebase Analytics, а сбои — в Firebase Crashlytics, и то и другое с идентификатором вашего аккаунта, так что анонимными они не были; и то и другое убрано вместе с библиотеками, которые это отправляли. Ошибки печатаются на машине разработчика во время разработки и больше никуда не идут.
5. Где это хранится
На Google Firebase — Firestore, Storage и Authentication — под правилами безопасности, которые решают, кто может читать и записывать каждый документ.
На вашем устройстве закэшированные сообщения, настройки и PIN-код блокировки шифруются ключом, привязанным к устройству и хранящимся в системном хранилище ключей (Keychain в iOS, Keystore в Android), а не в обычном хранилище приложения.
Закрытый ключ, который расшифровывает ваши сообщения, никогда не покидает устройство — кроме как в виде фразы восстановления, которую вы решите записать. У нас его нет, и восстановить его за вас мы не можем. Потеряете — сообщения, отправленные на это устройство, больше никто не прочитает, включая нас.
Версии 1.2.0 и более ранние при каждом входе также сохраняли копию фразы в Google Block Store — системную резервную копию Android. Если на телефоне была блокировка экрана, эта копия синхронизировалась с вашим аккаунтом 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-адреса, время звонка и приблизительный объём переданных данных; аудио и видео остаются под тем же шифрованием DTLS-SRTP, описанным в разделе 2, поэтому ретрансляция их не расшифровывает.
Мы можем раскрыть то, чем располагаем, если этого требует закон. Располагаем мы списком из раздела 2. Содержимое сообщений мы предоставить не можем, потому что прочитать его не в состоянии.
7. Push-уведомления
Уведомления доставляет Firebase Cloud Messaging. Токен вашего устройства хранится в приватной части аккаунта, которую можете читать только вы.
Уведомления не содержат текста сообщения. Ваше устройство расшифровывает сообщение локально и составляет то, что вы видите; Google доставляет конверт, а не содержимое.
8. Что вы можете сделать
- Удалить аккаунт на экране профиля. Содержимое, которое совместно принадлежит разговору — например, запись о звонке — остаётся у собеседника, потому что это и его запись тоже.
- Экспортировать свои данные на экране профиля.
- Задать срок жизни сообщений для каждого чата: 1 час, 24 часа, 7 дней или 30 дней.
- Включить или выключить индикатор набора и отчёты о прочтении. Оба по умолчанию выключены.
- Закрыть приложение PIN-кодом или биометрией.
- Отозвать ссылку-приглашение, которую вы уже раздали.
Если вам удобнее, чтобы мы удалили что-то вручную, напишите нам.
9. Хранение
Мы храним ваши данные, пока существует аккаунт. Его удаление удаляет и их, кроме совместно принадлежащего содержимого, о котором сказано выше. Срок жизни сообщений в чате удаляет их по заданному вами расписанию.
10. Ограничения, о которых стоит знать
Мы предпочитаем рассказать о них сами, чем чтобы вы наткнулись на них.
- Ключам доверяют при первой встрече. Если бы кто-то подменил ключ до того, как вы обменялись хотя бы одним сообщением, разговор оказался бы зашифрован не тому человеку и выглядел бы совершенно обычно. Приложение предупреждает, когда ключ меняется после этого, и показывает код безопасности, который можно сверить по другому каналу, — но ничто не заставляет вас его сверять.
- По одному устройству за раз. Фраза восстановления возвращает ключ, открывающий вашу историю, так что вход на новом устройстве не теряет то, что вы уже получили. Переписки с прямой секретностью используют второй ключ, который никогда не покидает создавшее его устройство: они приходят на устройство, вошедшее последним, а то, что тем временем было запечатано для другого, перенести нельзя.
- Сообщения, отправленные до появления шифрования, остаются как были. Ничего не переводилось задним числом.
- Это приложение никогда не проходило независимый аудит безопасности.
11. Дети
Chatterbox не предназначен для детей младше 13 лет, и мы сознательно не собираем их данные. Если вы считаете, что ребёнок передал нам личную информацию, свяжитесь с нами, и мы её удалим.
12. Изменения
Мы можем обновлять эту политику. О значимых изменениях сообщим в приложении, а дата вверху — это дата последнего изменения.
13. Контакты
Вопросы по этой политике: [email protected]
14. Проверка новой версии приложения
Google Play — не тот способ, которым это приложение попадает на ваш Android-телефон. Оно скачивается с chatterbox.fans, а магазин, который не в курсе, не может проверять обновления от вашего имени — поэтому это может делать само приложение, если вы его об этом попросите.
Нажатие «Проверить сейчас» отправляет один запрос на chatterbox.fans с вопросом, какая версия актуальна. Этот запрос содержит только ваш IP-адрес и ничего больше — ни аккаунта, ни идентификатора устройства, ни сообщения. В ответ приходит номер версии, который сравнивается на вашем телефоне с установленной версией; ничего не скачивается автоматически, и ничего об этой проверке не записывается в переписку.
У этого нет переключателя, потому что нечего отключать: это выполняется только по нажатию и никак иначе.
Если вы установите обновление, оно заменит приложение на месте с использованием того же ключа подписи — так же, как это сделало бы обновление из Google Play.