Сообщения передаются напрямую между пирами через libp2p и шифруются
протоколами Olm/Megolm в стиле Signal (через
vodozemac) ещё до того, как покинут
ваше устройство. Единственный задействованный сервер — это небольшой каталог,
который помогает пирам находить актуальные адреса друг друга. Он никогда не
видит содержимое сообщений, и его можно удалить одной командой.
Смотрите docs/THREAT_MODEL.md и
docs/SECURITY.md — что именно защищено и как.
Содержание
Скриншоты
Первый запуск — выберите имя; больше ничего настраивать не нужно.
Переписки — групповой сайдбар, список контактов и панель чата со сквозным шифрованием.
Настройки — чувствительность микрофона, push-to-talk, автозапуск при входе в систему, доступность сети.
Возможности
- Сквозное шифрование всегда — каждое сообщение запечатывается с помощью Olm (1:1)
или Megolm (группы) ещё до того, как покинет ваше устройство, по
схеме в стиле Double Ratchet от vodozemac:
у каждого сообщения свой ключ.
- Никакого инбокса, никогда — сообщения передаются по прямому одноранговому
соединению (libp2p: QUIC/TCP + Noise, с ретрансляцией и
hole punching для NAT). Если получатель офлайн, сообщение ждёт
локально и повторяет попытки — оно никогда не попадает в очередь
на чужой инфраструктуре.
- Каталог, а не база данных — единственный задействованный сервер
(
crates/directory-server) сопоставляет идентификатор пользователя с текущим сетевым адресом
и ничем больше. Он структурно не способен прочитать содержимое сообщений:
его Cargo.toml даже не зависит от крейтов, которые умеют это делать.
- Несколько аккаунтов на одном устройстве — полностью раздельные идентичности
(ключи, контакты, сообщения), между которыми можно переключаться без перезапуска.
- Группы с настоящим изменением состава участников — текстовые и голосовые
каналы в каждой группе; при исключении участника ключ группы ротируется,
чтобы он не мог прочитать ничего из отправленного после этого.
- Голосовая связь из коробки — push-to-talk по глобальной горячей клавише
(работает из любого приложения, не только из Seal), настраиваемая
чувствительность микрофона и опциональный модулятор голоса.
- Вложения без метаданных — данные EXIF (GPS-координаты, сведения
о камере/устройстве) удаляются из изображений до отправки; включено
по умолчанию.
- Настоящая кнопка экстренного стирания — «Настройки» → «Данные и конфиденциальность» мгновенно
и безвозвратно удаляют все ключи, контакты и сообщения на этом устройстве,
никак не влияя на тех, с кем вы общались.
- Автозапуск при входе в систему, если хотите — включён по умолчанию,
отключается одним переключателем в настройках.
- Одна кодовая база, три платформы — нативные окна на macOS, Windows
и Linux через Tauri.
Как это работает
В этом приложении два вида идентичности, и они намеренно разделены: