Шесть вещей, которые мы обещаем, и одна, которую обещать пока не можем. Каждое утверждение здесь проверяемо: код клиентов открыт, протокол описан, схема опубликована.
Соединение с сервером зашифровано всегда. Не «можно включить в настройках»,
не «для платных аккаунтов» — всегда, с первого пакета до последнего. Клиент и
сервер договариваются о ключе по Диффи–Хеллману, дальше идёт AES IGE, а
целостность каждого сообщения проверяется по msg_key. Мы пробовали
читать собственный трафик со стороны: полезная
нагрузка не читается.
Что при этом видно постороннему: длины пакетов и идентификатор ключа. Это метаданные, и мы про них знаем.
В секретных чатах и в звонках один на один ключ вырабатывают устройства, а сервер работает слепым релеем: он передаёт байты, не имея возможности их прочитать. Это не обещание не смотреть — это отсутствие технической возможности. Проверить можно по коду клиента.
Облачные чаты сервер видит. Так устроена любая система, где переписка доступна с нового устройства без переноса ключей: чтобы отдать вам историю на только что установленном клиенте, сервер должен уметь её прочитать. Это осознанный размен удобства на приватность, и правильный ответ здесь — назвать его вслух, а не прятать за словом «шифрование».
Нужна переписка, недоступная нам, — это секретный чат. Он есть на всех наших клиентах.
Исходный код клиентов открыт под GPL, протокол и схема опубликованы целиком — со всеми 1560 конструкторами и 769 методами, а не выдержками. Любой может написать свой клиент и получить ключи разработчика. Утверждение «данные защищены» стоит ровно столько, сколько стоит возможность это перепроверить.
У Ansible есть страница с перечнем того, что сделано — и того, что не сделано. Групповых звонков пока нет, нативного клиента для macOS нет, часть сборок отладочные. Продукт, который перечисляет свои дыры, проверяем; продукт, у которого всё «работает отлично», — нет.
Мы не считаем нормальным прятать кнопку выхода, подписывать на что-либо по умолчанию, показывать «прочитано», когда прочитано не было, или отправлять данные, о которых пользователь не просил. Если такое где-то найдётся — это ошибка, и о ней стоит написать.
Всё, что касается денег и юрисдикции, здесь не написано намеренно: как проект будет зарабатывать, будет ли реклама, кому принадлежит и по какому праву отвечает на запросы. Это решения владельцев, а не разработчиков, и пока они не приняты и не подписаны, обещать их со страницы сайта нечестно.
Что уже можно сказать точно: модерация касается публичной части — каналов, супергрупп, ботов, — а не личной переписки.