● CipherMsg

Политика конфиденциальности CipherMsg


Коротко

Мы не можем прочитать вашу переписку. Не потому что обещаем этого не делать, а потому что у нас нет ключей: они создаются на вашем устройстве и никогда его не покидают. Сервер получает только шифртекст.

Одно исключение — обращение в поддержку. Его читает оператор, иначе ответить было бы не на что. Оно не зашифровано от сервера, приложение говорит об этом на самом экране, и написать туда что-либо — всегда ваше отдельное решение. Подробности ниже, в разделе «Обращения в поддержку».

У нас нет аккаунтов, паролей, номеров телефона и адресов почты. Личность — это пара криптографических ключей на вашем устройстве.

Мы не собираем аналитику, не показываем рекламу и не передаём данные третьим лицам для маркетинга.


Что хранится на вашем устройстве

ДанныеГдеПримечание
Секретный и публичный ключсистемное защищённое хранилищеключ не покидает устройство
Сообщениялокальная база приложениятолько шифртекст, открытый текст не сохраняется
Контактылокальная база приложенияимя, которое вы задали, и публичный ключ
Отметки о проверке и блокировкелокальная база приложенияникуда не передаются

Открытый текст сообщения существует только в оперативной памяти, пока вы смотрите на переписку. На диск он не пишется.

Если вы включили замок приложения, доступ к нему дополнительно закрыт биометрией или кодом устройства.

Резервное копирование Android выключено. По умолчанию система копирует данные приложений в облако Google, и туда попал бы весь ваш список контактов и зашифрованная переписка. Мы это отключили: данные приложения не покидают устройство ни через облачную копию, ни при удалении приложения.

Удаление приложения удаляет всё это безвозвратно. Резервной копии — ни на наших серверах, ни в облаке Google — не существует. Если вы потеряете устройство и не сохранили резервную копию ключа, восстановить переписку и личность невозможно — ни вами, ни нами.

Что хранится на сервере доставки

Сервер работает по принципу «принял — отдал — забыл». На каждое недоставленное сообщение он хранит ровно четыре поля:

Поля отправителя нет. Это не упущение: получатель определяет автора сам, перебирая ключи своих контактов. Сервер не может выдать, кто с кем переписывался, потому что он этого не знает.

Как только получатель забрал сообщение, конверт удаляется. Недоставленное удаляется автоматически через 7 суток.

История переписки на сервере не хранится вообще. Резервные копии очереди мы не делаем сознательно — иначе получился бы именно тот архив, которого мы избегаем.

Фотографии

Фотография не отправляется внутри сообщения. Она шифруется отдельным случайным ключом и кладётся на сервер как набор байт под случайным идентификатором. Сам ключ едет внутри зашифрованного сообщения и на сервер не попадает никогда — там лежит то, что оператор не может ни прочитать, ни отличить от шума.

Перед отправкой фотография уменьшается и пережимается. Побочный, но важный эффект: при этом стираются метаданные EXIF, которые обычно содержат координаты съёмки и серийный номер устройства. Отправляя снимок с отдыха, вы не отправляете вместе с ним адрес, где он сделан.

Фотографии удаляются с сервера через те же 7 суток, что и сообщения. Расшифрованные копии хранятся во временном кэше вашего устройства, который система может очистить в любой момент.

Уведомления

Чтобы закрытое приложение узнало о новом сообщении, сервер отправляет на ваше устройство уведомление. Для этого он хранит токен уведомлений — адрес, выданный вашему устройству системой Apple или Google, — связанный с вашим публичным ключом. Это единственная долговременная связь между личностью и устройством, которую сервер сохраняет.

Само уведомление не содержит ни текста сообщения, ни имени отправителя. Это просто сигнал «есть что забрать»: приложение просыпается, забирает конверт и расшифровывает его у вас на устройстве.

Отсюда следует то, о чём стоит знать прямо: Apple и Google неизбежно видят, что на ваше устройство пришло уведомление и когда. Кто вам написал и что именно — они не видят. Полностью избежать этого нельзя: так устроены пуш-уведомления на обеих платформах.

Уведомления можно выключить в настройках. Тогда токен удаляется с сервера, а сообщения приходят только когда приложение открыто.

Что сервер видит, но не хранит

Здесь мы обязаны быть точны, потому что «не хранит» и «не видит» — разные вещи.

IP-адрес. Любое сетевое соединение раскрывает адрес, с которого вы пришли. Приложение сервера его не записывает, но промежуточный прокси или хостинг-провайдер могут это делать по умолчанию. Если вам важно скрыть сетевое расположение, используйте VPN или Tor — приложение само этого не делает.

Факт отправки. Чтобы ограничить рассылку спама, отправитель подтверждает владение своим ключом. В момент запроса сервер технически видит, чей ключ отправляет сообщение. Эта информация используется только для проверки лимита и не записывается рядом с конвертом. Мы называем это компромиссом, а не анонимностью: полностью скрыть отправителя от оператора эта версия не умеет.

Время активности. Приложение опрашивает сервер, пока открыто. Тот, кто наблюдает за сетью, может по этому судить о времени вашей активности.

Жалобы на сообщения

Приложение не просматривает переписку и не ищет в ней нарушений. Никакой автоматический анализ содержимого не выполняется — ни на устройстве, ни на сервере.

Жалоба появляется только тогда, когда получатель сообщения сам нажал «Пожаловаться». Он и так видит это сообщение расшифрованным, и раскрыть его — его решение.

В жалобе передаётся:

Остальная переписка при этом остаётся зашифрованной и недоступной никому.

Жалобы хранятся не дольше 90 суток. Рассмотренная удаляется сразу: держать читаемые куски чужой переписки без цели незачем. После отправки жалобы приложение стирает копию текста и со своего устройства.

Обращения в поддержку

Это единственная часть сервиса, где сервер хранит текст, который можно прочитать. Иначе поддержки не бывает: ответить на вопрос, которого не видно, нельзя. Мы не прячем это за общими словами — приложение предупреждает прямо на экране обращения, каждый раз, а не однократно при первом открытии.

Что происходит, когда вы пишете в поддержку:

Что это значит на практике: не пишите в поддержку то, что не должно попасть к третьим лицам, — пароль от резервной копии, код доступа, содержимое личной переписки. Всё, что вы туда напишете, вы показываете оператору сознательно.

Обращение без движения удаляется через 60 суток. Оператор может удалить его раньше. Разговор живёт на том устройстве, где начат: пропуск к нему в резервную копию не входит — иначе читаемая переписка попадала бы в копию вашего ключа.

Ограничения на отправку

Если по жалобе принято решение ограничить отправку, на сервере появляется запись: публичный ключ, причина и срок. Больше ничего — ни переписки, ни сведений о том, кто пожаловался, ни истории решений.

Это единственное место, где сервер ведёт долговременную запись, относящуюся к конкретному человеку. Мы называем это прямо, потому что во всём остальном сервер устроен так, чтобы такой записи не существовало. По окончании срока ограничение удаляется автоматически.

Статистика работы сервиса

У оператора есть панель с показателями работы сервера: сколько сообщений передано, сколько лежит в очереди, сколько ключей обращалось к серверу за сутки. Все эти цифры — суммарные.

Узнать через неё, кто именно был онлайн, кто кому писал или чем занимался конкретный человек, невозможно: таких записей не существует. Количество активных считается по множеству, которое живёт в памяти сервера минуты и никогда не сохраняется на диск.

В той же панели оператор читает обращения в поддержку и отвечает на них — это описано выше и остаётся единственным читаемым текстом во всём сервисе.

Раскрытие данных по требованию закона

Сервер доставки размещён в Германии, и мы отвечаем на законные требования компетентных органов Федеративной Республики Германия и Европейского союза.

Практически мы можем предоставить только то, что у нас есть:

Мы не можем предоставить содержимое переписки, список контактов, историю сообщений или сведения о том, кто с кем переписывался. Не потому что откажемся, а потому что этих данных у нас нет.

Правовое основание обработки

Сервер доставки размещён в Европейском союзе, поэтому применяется Общий регламент по защите данных (GDPR).

Данные, перечисленные выше, обрабатываются на основании исполнения договора (ст. 6(1)(b) GDPR): передать сообщение, не приняв его на хранение до момента доставки, технически невозможно. Токен уведомлений обрабатывается на основании вашего согласия (ст. 6(1)(a)) — вы включаете уведомления сами и можете выключить их в любой момент. Жалобы и ограничение частоты отправки — на основании законного интереса (ст. 6(1)(f)): без них сервис невозможно защитить от рассылки спама и злоупотреблений. Обращения в поддержку обрабатываются на основании вашего согласия (ст. 6(1)(a)): вы пишете их сами, зная из предупреждения на экране, что их прочитает оператор.

Никакой обработки для рекламы, профилирования или аналитики не выполняется. Автоматизированного принятия решений в отношении пользователей нет.

Ваши права

GDPR даёт вам право на доступ к своим данным, их исправление, удаление, ограничение обработки, переносимость и возражение против обработки. Мы обязаны эти права обеспечить и обеспечиваем — но устройство сервиса делает большинство из них либо мгновенными, либо бессодержательными, и об этом честнее сказать прямо.

Доступ и переносимость. Всё, что у нас есть про вас, — это недоставленные конверты под вашим публичным ключом и, если вы включили уведомления, токен вашего устройства. Конверты приложение забирает само при первом же выходе в сеть; после этого у нас не остаётся ничего. Содержимое конвертов зашифровано, и выдать вам расшифрованную копию мы не в состоянии — расшифровать её может только ваше устройство.

Удаление. Удаление приложения стирает ключи и переписку с устройства безвозвратно. На сервере недоставленное исчезает само через 7 суток, а токен уведомлений удаляется, когда вы выключаете уведомления в настройках. Никакого профиля, аккаунта или истории, которые нужно было бы удалять отдельно, не существует.

Исправление. Исправлять нечего: мы не храним о вас никаких сведений, которые могли бы оказаться неверными, — ни имени, ни возраста, ни страны.

Возражение и ограничение. Перестать пользоваться сервисом достаточно, чтобы обработка прекратилась полностью: без ваших запросов сервер о вас не помнит.

Как обратиться. Напишите на privacy@cipherdns.org. Сразу предупреждаем о неудобстве, которое следует из самой конструкции: у нас нет способа связать письмо с человеком. Чтобы обработать запрос о конкретной очереди, нам нужен публичный ключ — а подтвердить владение им можно только с самого устройства. Мы не станем выдавать данные тому, кто просто назвал чужой ключ.

Жалоба в надзорный орган. Если вы считаете, что мы нарушаем ваши права, вы вправе обратиться в орган по защите данных страны вашего проживания или по месту размещения сервера — в Германии это уполномоченный по защите данных соответствующей федеральной земли.

Дети

Приложение не предназначено для лиц младше 16 лет. Мы не запрашиваем возраст и не можем его проверить — у сервиса нет ни аккаунтов, ни каких-либо сведений о пользователе, — поэтому это условие пользования, а не работающий фильтр, и мы не выдаём его за фильтр.

Изменения

Об изменениях этой политики мы сообщим в приложении и на cipherdns.org. Дата последнего изменения указана в начале документа.

Как с нами связаться

Сами мы почтовый адрес не публикуем: оператор — физическое лицо, и для связи адрес не нужен — пишите на адреса выше. Но магазин приложений показывает контактные данные разработчика в карточке приложения по собственным правилам, и состав этих данных определяем не мы. Обещать здесь то, чем мы не управляем, было бы неправдой.