Обновлено: 29.09.2026
Личные сообщения, шифрование и проверка ключей
Текст личных сообщений шифруется прямо в вашем браузере. Сервер получает только зашифрованный текст и не располагает кодом, который его читает, — прочитать переписку на стороне сервера технически невозможно.
Это не значит, что шифрование работает всегда. Ниже описано, что именно защищено, а что нет, и что вам стоит проверить самостоятельно.
1. Что и как шифруется
Текст личных сообщений шифруется алгоритмом XChaCha20-Poly1305. Ключ для переписки выводится из вашего закрытого ключа и открытого ключа собеседника по схеме X25519, а затем преобразуется функцией HKDF-SHA256.
Закрытый ключ никогда не покидает устройство и не отправляется на сервер. На сервер уходит только открытый ключ — по нему шифровать можно, расшифровать нельзя.
У каждого сообщения свой одноразовый вектор инициализации, поэтому два одинаковых сообщения шифруются по-разному.
Такой же механизм применяется к каналам и личным заметкам участников, когда ключ для них уже сгенерирован.
2. Главное ограничение: проверяйте значок
Если у собеседника ещё нет опубликованного открытого ключа, приложение отправит сообщение обычным текстом — молча, без предупреждения. Так же происходит при самом первом входе, пока ключи ещё генерируются.
Единственный признак этого — значок в шапке диалога. «Скрозное шифрование» означает, что текст зашифрован. «Без шифрования» и «Ожидание ключа собеседника» означают, что сообщение ушло открытым текстом.
Прежде чем обсуждать что-то чувствительное, посмотрите на этот значок. Он меняется по мере того, как собеседник заходит в систему.
3. Сверка кода безопасности
Нажмите на значок замка в шапке диалога — откроется окно «Проверка безопасности» с кодом безопасности из 32 символов и отпечатками ключей обоих собеседников.
Код безопасности один и тот же с обеих сторон и не зависит от того, кто его смотрит. Сравните его с собеседником по другому каналу: голосовым звонком, в игре или при встрече. Совпали — разговор действительно защищён от подмены ключей сервером.
Сверку достаточно провести один раз. Повторять её при каждом сообщении не нужно.
4. Чего приложение не делает
Приложение не запоминает, что сверка выполнена, и не предупреждает, если у собеседника сменился ключ. Сверившийся однажды код в следующий раз может оказаться другим, и заметить это можно только вручную.
Открытые ключи хранятся на сервере. Сервер выдаёт их всем подряд, поэтому скомпрометированный сервер теоретически может подменить чужой ключ своим. Сверка кода безопасности — единственная защита от этого сценария.
У ключей нет механизма скользящей генерации, поэтому взлом устройства раскрывает переписку с этим человеком целиком, включая старую.
5. Что не зашифровано
Картинки и вложения не шифруются. Они загружаются на сервер как есть и доступны ему так же, как обычные файлы.
Голосовые разговоры, объявления, рассылки по расписанию и опросы не зашифрованы — это объявления для всего альянса.
Метаданные остаются видимыми всегда: кто кому и когда писал, сколько сообщений, какого размера, кто состоит в альянсе и кто сейчас онлайн. Шифруется содержимое переписки, но не факт обмена.
6. Ключи и смена устройства
Ключи хранятся в браузере и не резервируются на сервере. На новом устройстве или после очистки данных браузера приложение создаст новую пару ключей, и старая переписка перестанет читаться.
Собеседники при этом не получают предупреждения о смене ключа. Если человек внезапно попросил вас сверить код безопасности повторно после долгого перерыва — стоит сначала убедиться, что это тот же человек.