TruChat Войти

Приватность

Что защищено, а что нет

Здесь без обтекаемых слов. Ниже написано, что именно шифруется, кто и что в принципе может прочитать и почему сделано именно так.

Личные переписки

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

У каждого своя пара ключей. Открытый лежит на сервере открыто, закрытый — там же, но запечатанный ключом, который выводится из пароля. Сервер хранит конверт; открыть его может только браузер, в котором ввели пароль. Закрытый ключ лежит на сервере намеренно: иначе переписка не открылась бы ни на телефоне, ни после переустановки, а потеря ключа означала бы потерю всей переписки без возможности что-то вернуть.

Чего это не даёт. Ключ выводится из пароля, а пароль сервер видит в момент входа — иначе он не смог бы проверить, что это вы. Значит, у того, кто держит сервер, есть техническая возможность вывести тот же ключ. Защита здесь — от кражи базы и от чтения переписки сторонним кодом, а не от хозяина сервера.

Что не шифруется

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

Разговор голосом

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

Учётная запись

Пароль
В базе только хеш (Argon2id). Восстановить пароль невозможно — можно задать новый.
Вход в два шага
После пароля на почту приходит шестизначный код. Пароль отвечает лишь на вопрос «знаете ли вы секрет», а секреты утекают — чаще всего с других сайтов, где пароль был тем же.
Письмо как сигнал
Код, пришедший тому, кто никуда не входил, означает, что пароль знает кто-то ещё, — и приходит раньше, чем этот кто-то успеет что-либо прочитать.
Запасные способы
Одноразовые коды из приложения-аутентификатора и резервные коды на бумагу — на случай, когда почта недоступна.
Устройства
В настройках видно все входы, любой можно отозвать. Смена пароля отзывает все сессии сразу.
Токены
Рабочий токен живёт пятнадцать минут и только в памяти приложения. Долгий лежит в защищённой cookie, в базе — лишь его отпечаток, и при каждом обновлении он меняется.

Чего здесь нет

Разумные ожидания

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