TarnVeil — мессенджер с текстовым общением, личными и групповыми сообщениями,
голосовыми сообщениями, голосовыми и видео-звонками, пространственными аудио-комнатами
и сообществами. Доступен в браузере, как приложение для Windows (десктоп) и для Android.
Настоящая политика описывает, какие данные мы обрабатываем, зачем и как вы можете ими
управлять.
1. Какие данные мы обрабатываем
Аккаунт: логин, отображаемое имя, аватар и пользовательский статус
(по желанию), хеш пароля. Сам пароль мы не храним — только криптографический
хеш (bcrypt).
Контент: сообщения в каналах и сообществах, личные и групповые сообщения,
обсуждения, вложения (файлы, картинки, голосовые сообщения), реакции, закреплённые
сообщения и ответы.
Личные сообщения: личная переписка «один на один» защищена сквозным
шифрованием (E2EE) — подробнее в разделе 4. В этом режиме сервер хранит только
зашифрованный текст и вложения и не может их прочитать.
Голос и видео: передаются между участниками звонка или аудио-комнаты в
реальном времени (через собственный SFU TarnMedia) и не записываются и не хранятся нами.
В пространственных комнатах между участниками синхронизируются только их условные
координаты (позиция на «карте»), звук нигде не сохраняется.
Служебные данные общения: отметки о прочтении, индикатор «печатает…»,
статус «в сети / последний раз в сети», ваши избранные контакты и настройки
уведомлений. Они нужны для работы соответствующих функций.
Техническая информация: токен устройства для push-уведомлений (FCM).
IP-адрес используется только временно для защиты от перебора и спама и не
сохраняется в профиле.
2. Зачем мы их используем
Чтобы предоставлять работу приложения: доставлять сообщения, звонки,
уведомления, отображать профиль, друзей и сообщества.
Для безопасности: защита от спама, перебора паролей и злоупотреблений.
Мы не продаём ваши данные и не используем их для рекламы.
3. Кому передаются данные
Firebase Cloud Messaging (Google) — для доставки push-уведомлений
на устройство. Для зашифрованных личных сообщений в push уходит только
обезличенное «🔒 Новое сообщение» без текста.
Других передач третьим лицам нет.
4. Хранение, шифрование и защита
Данные хранятся на нашем сервере. Всё сетевое соединение защищено TLS (HTTPS/WSS).
Пароли хранятся только в виде хеша.
Личные сообщения (E2EE): когда оба собеседника настроили ключи шифрования
(это происходит автоматически при входе на устройстве), личная переписка и вложения
в ней шифруются на устройстве — сервер получает и хранит только шифротекст и
не может прочитать содержимое сам по себе.
Приложение честно показывает статус шифрования для каждого диалога (значок замка).
Если у собеседника шифрование ещё не настроено, сообщения защищены шифрованием на
стороне сервера (см. ниже), но технически доступны серверу — об этом сигнализирует
соответствующий статус замка.
Важное исключение — восстановление доступа администратором. Чтобы забытый
пароль не означал безвозвратную потерю переписки, приложение хранит на сервере
резервную копию вашего приватного ключа. Она запечатана на отдельный ключ
восстановления администратора, закрытая половина которого хранится офлайн и на
сервер не попадает: утечка базы сама по себе переписку не раскрывает. Но оператор
сервиса, располагая этим офлайн-ключом, технически может восстановить ваш ключ и
получить доступ к вашей личной переписке. Это осознанный размен: без него
забытый пароль стоил бы вам всей истории. На практике восстановление выполняется
по обращению самого пользователя, требует отдельного офлайн-ключа и фиксируется в
журнале действий администратора. Отключить эту резервную копию в приложении нельзя.
Если такая модель доверия вам не подходит — не используйте сервис для переписки,
которую нельзя доверить его оператору.
Групповые диалоги и сообщения в сообществах: шифруются на сервере в
состоянии покоя (AES-256-GCM). Это защищает данные при хранении, но, в отличие от
личной переписки, они технически доступны серверу (полноценное групповое сквозное
шифрование пока не реализовано).
Доступ: к личным сообщениям имеют доступ только участники переписки; к
сообщениям в сообществе — его участники.
5. Ваши права и управление данными
Удаление аккаунта: в приложении откройте Настройки → Аккаунт →
Удалить аккаунт. Аккаунт и связанные с ним данные (сообщения, личные диалоги,
созданные сообщества) удаляются безвозвратно.
Смена пароля: в Настройки → Аккаунт; при смене пароля сессии
на других устройствах завершаются, а ключ шифрования переупаковывается под новый пароль.
Блокировка: вы можете заблокировать любого пользователя — он не сможет
писать вам и звонить.
Жалобы: вы можете пожаловаться на пользователя или сообщение — жалобу
рассмотрят модераторы.
6. Контент пользователей и модерация
Контент создают сами пользователи. Запрещены оскорбления, угрозы, незаконные
материалы и спам. Модераторы вправе удалять такой контент и блокировать
нарушителей по жалобам пользователей. Обратите внимание: содержимое личной
переписки с включённым сквозным шифрованием не читается сервером и недоступно
модераторам в обычной работе — модерация личной переписки ведётся только по
жалобам, к которым заявитель сам прикладывает снимок сообщения. Единственная
возможность оператора получить доступ к содержимому описана в разделе 4
(«Восстановление доступа администратором»).
7. Дети
Приложение не предназначено для детей младше 12 лет. Для использования
рекомендуется возраст 12+.
8. Изменения политики
Мы можем обновлять эту политику. Актуальная версия всегда доступна по этому
адресу с указанием даты обновления.
9. Контакты
TarnVeil — учебный проект. По вопросам конфиденциальности, сообщениям об ошибках
и уязвимостях — через раздел Issues на странице проекта в GitHub:
github.com/Amesu-afk/TarnVeil.