Политика конфиденциальности
mr.enzo — мессенджер для iPhone со сквозным шифрованием чатов и звонков и офлайн-сетью, которая работает без интернета. Здесь простыми словами описано, какие данные обрабатывают приложение и наш сервер, зачем, как долго и что вы можете с этим сделать.
Коротко
- Личные сообщения, публикации в группах и каналах, вложения и звонки защищены сквозным шифрованием. Мы не можем их прочитать или прослушать.
- Для работы сервиса мы храним ваш аккаунт (email, имя пользователя, отображаемое имя, по желанию — фото и описание), список добавленных вами контактов, push-токены ваших устройств и зашифрованные сообщения, которые ещё ждут доставки.
- Истории не защищены сквозным шифрованием: наш сервер хранит их и показывает другим пользователям в течение 24 часов.
- Никакой рекламы и слежки, никаких сторонних SDK аналитики и рекламы; мы не продаём ваши данные и не передаём их для рекламы.
- Аккаунт можно удалить в приложении в любой момент.
1. Кто отвечает за данные
mr.enzo разрабатывает и поддерживает независимый разработчик («мы»), который является оператором (контролёром) описанных здесь персональных данных. По любым вопросам о конфиденциальности, в том числе для реализации ваших прав, пишите на ajkzantokaev@gmail.com.
2. Какие данные мы обрабатываем и зачем
2.1 Аккаунт
- Адрес электронной почты. Вход — по email и одноразовому коду, который мы присылаем на него. Email нужен, чтобы вы могли войти, чтобы защищать аккаунт и чтобы отвечать вам. Пользователи, которые уже знают ваш email, могут найти по нему ваш аккаунт — введя его в поиске или через «Найти друзей» (см. 2.4); сам email другим пользователям мы не показываем.
- Номер телефона — только у старых аккаунтов, созданных по номеру телефона; тот, кто знает номер, так же может найти по нему такой аккаунт.
- Имя пользователя, отображаемое имя, фото профиля и описание. Это ваш публичный профиль. Любой пользователь mr.enzo может найти вас по имени пользователя или отображаемому имени и увидеть этот профиль. Фото профиля хранится без шифрования, и его может открыть любой, у кого есть ссылка на него.
- Необязательные настройки защиты: облачный пароль (хранится только в виде хеша) и подсказка к нему, резервный email, секрет двухэтапной проверки и коды восстановления. Они хранятся, чтобы проверять их при входе.
- Сеансы. Токены входа (хранятся в виде хешей), срок их действия и метка устройства, а также время, когда вы последний раз были в сети.
2.2 Сообщения, вложения и звонки
- Личные чаты шифруются сквозным шифрованием на вашем устройстве (Double Ratchet с обменом ключами X3DH). Наш сервер лишь передаёт зашифрованные сообщения и не может их расшифровать. Если получатель не в сети, зашифрованное сообщение ждёт на сервере, пока устройство получателя его не заберёт, и затем удаляется.
- Группы и каналы. Публикации шифруются сквозным шифрованием ключами, которые есть только у участников, и хранятся на сервере в зашифрованном виде, чтобы участники могли загрузить историю. Они удаляются, когда их удаляет автор, когда срабатывает таймер автоудаления группы, когда удаляется группа или канал или когда автор удаляет свой аккаунт. Название, описание и фото группы, список участников и их роли, а также короткие служебные уведомления (например, «автоудаление включено») хранятся без шифрования — иначе сервис не сможет управлять участниками.
- Фото, видео, голосовые сообщения и файлы шифруются на вашем устройстве (XSalsa20-Poly1305) до загрузки. Ключ передаётся только внутри сообщения со сквозным шифрованием. Сервер хранит зашифрованный файл вместе с его размером, временем загрузки, отправителем и получателем или группой, чтобы получатели могли его скачать. Расшифровать файл сервер не может.
- Голосовые и видеозвонки защищены сквозным шифрованием (DTLS-SRTP; каждая сторона подписывает отпечаток своего ключа ключом личности). Сервер передаёт только служебные сообщения для установки звонка. Звук и видео идут напрямую между устройствами, а если прямое соединение невозможно — через наш ретранслятор (TURN), который пересылает зашифрованный поток и не может его расшифровать. Мы не записываем звонки. При прямом соединении устройство собеседника может видеть ваш IP-адрес. История звонков хранится только на вашем устройстве.
- Что сервер видит неизбежно. Чтобы доставлять сообщения и звонки, сервер обрабатывает, кто с кем связывается, когда и какого размера сообщение, а также в сети ли вы. Отдельного журнала этого мы не ведём — кроме описанных выше очередей доставки и серверных журналов из п. 2.9. Если включить «Скрывать имя в уведомлениях», личные текстовые сообщения по возможности отправляются по схеме «запечатанный отправитель» (sealed sender): отправитель указан только внутри зашифрованного конверта, поэтому он не хранится вместе с сообщением, ожидающим доставки, и не виден в уведомлении.
- Ключи шифрования. Ваши открытые ключи хранятся на сервере, чтобы другие могли начать с вами зашифрованный разговор. Закрытые ключи остаются на вашем устройстве.
2.3 Истории
История (текст или фото) не защищена сквозным шифрованием. Сервер хранит её и 24 часа показывает пользователям mr.enzo, у которых вы есть в контактах, — кроме тех, кого вы заблокировали или кто заблокировал вас. Через 24 часа история пропадает из ленты. Вы можете удалить историю раньше.
2.4 Контакты
- Ваши контакты в mr.enzo (люди, которых вы добавили в приложении) хранятся на сервере в виде списка аккаунтов. Он нужен, чтобы восстановить контакты на новом устройстве и решать, кто чьи истории видит.
- Поиск друзей из адресной книги необязателен и запускается только после вашего нажатия и разрешения доступа к Контактам. Тогда приложение отправляет номера телефонов и адреса email из вашей адресной книги по защищённому соединению (HTTPS) на наш сервер, который сверяет их с зарегистрированными аккаунтами и возвращает совпадения. Сервер их не сохраняет, и ни для чего другого они не используются. Имена и другие данные адресной книги не отправляются.
2.5 Уведомления
Мы храним push-токены ваших устройств (включая VoIP-токен, благодаря которому звонит входящий звонок) вместе со случайным идентификатором установки, который создаёт приложение, чтобы отправлять уведомления через Apple Push Notification service. В уведомлении видно отображаемое имя отправителя (или нейтральный заголовок, если включено «Скрывать имя в уведомлениях») и общий текст вроде «Новое сообщение»; содержимое сообщений через Apple не передаётся.
2.6 Офлайн-сеть (Bluetooth и локальный Wi‑Fi)
Пока офлайн-сеть включена (по умолчанию она включена в режиме «Авто»), ваш iPhone сообщает ваше отображаемое имя находящимся рядом устройствам с mr.enzo через Bluetooth и одноранговый Wi‑Fi Apple, поэтому люди поблизости могут его видеть. Сообщения в офлайн-сети защищены сквозным шифрованием. Чтобы дойти до получателя, они могут до 24 часов находиться на устройствах других людей, а ваше устройство — переносить чужие; переносящие устройства не могут их прочитать. Этот трафик не проходит через наш сервер. Офлайн-сеть можно выключить в Настройках.
2.7 Предпросмотр ссылок
Если в сообщении есть ссылка и предпросмотр ссылок включён (его можно выключить в Настройках), приложение просит наш сервер открыть страницу и вернуть её заголовок, описание и адрес картинки. Поэтому сервер видит эту ссылку (но не остальной текст сообщения), а сайт видит запрос с нашего сервера. Картинку предпросмотра ваше устройство загружает с сайта напрямую, и сайт видит ваш IP-адрес. Сервер хранит предпросмотры в памяти не дольше часа.
2.8 Жалобы и блокировки
- Жалобы. Когда вы жалуетесь на пользователя, сообщение, группу, канал или историю, мы сохраняем жалобу: ваш аккаунт, аккаунт и объект жалобы, причину, ваш комментарий (если есть) и — поскольку сообщения зашифрованы сквозным шифрованием — текст сообщений, которые вы решили приложить: ваше устройство расшифровывает их и отправляет только вместе с жалобой. Жалобы также приходят письмом в наш почтовый ящик модерации. Мы храним жалобы столько, сколько нужно для их рассмотрения и предотвращения повторных нарушений, в том числе после удаления любого из аккаунтов.
- Блокировки. Мы храним, кого вы заблокировали, чтобы сервер не пропускал к вам их сообщения, звонки, истории и статус «в сети». Запись удаляется, когда вы разблокируете человека или удаляете аккаунт.
2.9 Диагностика и журналы сервера
- Диагностика. Приложение отправляет на сервер технические события — ошибки и предупреждения, этапы подключения и установки звонков, а также отчёты о сбоях и зависаниях, которые предоставляет iOS (MetricKit). Они связаны с идентификатором вашего аккаунта, чтобы мы могли разбираться в проблемах, и устроены так, чтобы не содержать текст сообщений и ключи шифрования.
- Журналы сервера. Наши серверы записывают технические данные о запросах: IP-адрес, время, запрошенный адрес (в нём может быть поисковый запрос или ссылка для предпросмотра), версию приложения и системы, идентификатор аккаунта для действий после входа и ошибки. Журналы используются только для безопасности, защиты от злоупотреблений и исправления ошибок. Они автоматически ротируются и перезаписываются, обычно примерно через месяц.
2.10 Что хранится на устройстве
История сообщений, медиафайлы, контакты и история звонков хранятся на вашем iPhone. При удалении приложения они удаляются с устройства.
3. Чего мы не делаем
- Не показываем рекламу и не используем ваши данные для рекламы.
- Не отслеживаем вас в приложениях и на сайтах других компаний и не используем рекламный идентификатор.
- Не встраиваем сторонние SDK аналитики, рекламы или отслеживания.
- Не продаём ваши персональные данные и не передаём их за деньги.
4. Подрядчики и раскрытие данных
- Хостинг. Наши серверы (приложение, хранилище и ретранслятор звонков) работают в дата-центре во Франкфурте-на-Майне, Германия.
- Apple доставляет push-уведомления и передаёт приложению диагностику сбоев.
- Google (Gmail) доставляет письма с одноразовыми кодами входа и принимает уведомления о жалобах в наш ящик модерации.
- Сайты, на которые ведут ссылки, получают запрос предпросмотра, описанный в п. 2.7.
Больше мы ни с кем данными не делимся — кроме случаев, когда этого требует закон (например, законное требование уполномоченного органа), или когда это нужно, чтобы защитить людей от серьёзного вреда. Из-за сквозного шифрования мы не можем выдать содержимое сообщений или звонков.
5. Сроки хранения
| Данные | Срок хранения |
|---|---|
| Аккаунт, профиль, контакты, ключи, push-токены, блокировки | До удаления аккаунта; push-токен — также пока он действителен и пока на этом устройстве не вошёл другой аккаунт |
| Зашифрованные личные сообщения в ожидании доставки | Пока устройство получателя их не заберёт |
| Зашифрованные публикации групп и каналов | До удаления автором, по таймеру автоудаления, при удалении группы или аккаунта автора |
| Зашифрованные вложения | Пока они нужны для загрузки получателями; сервер не может их расшифровать |
| Истории | 24 часа в ленте |
| Одноразовые коды входа | До использования или истечения срока (10 минут) |
| Кэш предпросмотра ссылок | До 1 часа, в памяти |
| Журналы сервера и диагностика | Автоматическая ротация, обычно около месяца |
| Жалобы | Сколько нужно для модерации и предотвращения повторных нарушений |
6. Удаление аккаунта
Откройте в приложении Настройки → Удалить аккаунт и подтвердите, введя имя пользователя. После этого мы удаляем с серверов ваш аккаунт и профиль, фото профиля, список контактов, push-токены, открытые ключи, истории, блокировки, загруженные вами файлы, ваши публикации в группах и каналах и ожидающие вас сообщения. Созданная вами группа переходит одному из её администраторов, а если их нет — участнику, который состоит в ней дольше всех; созданный вами канал переходит одному из администраторов или удаляется. Остаются: жалобы (см. 2.8), журналы сервера до их ротации и уже отправленные вами сообщения — они остаются на устройствах получателей. Если воспользоваться приложением не получается, напишите на ajkzantokaev@gmail.com с адреса, привязанного к аккаунту, и мы удалим аккаунт сами.
7. Ваш выбор и ваши права
Вы можете в любой момент изменить профиль, выключить предпросмотр ссылок и офлайн-сеть, скрывать имя в уведомлениях и отозвать доступ к Контактам, камере, микрофону или Bluetooth в Настройках iOS. В зависимости от места вашего проживания (например, по GDPR в ЕС и Великобритании) у вас есть право получить доступ к своим данным, исправить их, удалить, получить в переносимом формате, ограничить обработку или возразить против неё, а также в любой момент отозвать согласие. Пишите на ajkzantokaev@gmail.com — мы отвечаем в течение месяца. Вы также можете подать жалобу в надзорный орган по защите данных.
Правовые основания по GDPR: исполнение договора — предоставление сервиса, о котором вы просите (аккаунт, сообщения, звонки, уведомления, контакты, истории); наши законные интересы — безопасность, защита от злоупотреблений, рассмотрение жалоб, диагностика и журналы; ваше согласие — доступ к адресной книге для «Найти друзей» и другие необязательные разрешения; и юридические обязанности там, где они применимы.
8. Дети
mr.enzo не предназначен для детей младше 13 лет, и мы сознательно не собираем их данные. Если вы считаете, что mr.enzo пользуется ребёнок младше 13 лет, напишите нам, и мы удалим аккаунт.
9. Безопасность и трансграничная передача
Все соединения с нашим сервером защищены TLS, а содержимое защищено сквозным шифрованием, как описано выше. Абсолютно защищённых систем не бывает, но мы стараемся защищать ваши данные и хранить как можно меньше. Наши серверы находятся в Европейском союзе (Германия). Apple и Google могут обрабатывать данные, которые они обрабатывают для нас (раздел 4), в других странах, включая США, со своими мерами защиты.
10. Изменения
Если мы изменим эту политику, новая версия появится на этой странице, а дата выше обновится. Если изменение существенно влияет на использование ваших данных, мы заранее сообщим об этом, например по email.
11. Связь
Вопросы и запросы: ajkzantokaev@gmail.com.