Сквозное шифрование · без номера

Читаете только
вы двое.
Сервер — никогда.

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

0байт на диске узла
PQXDH + DRкак в Signal
1команда до своего узла
9:415G
Еваzo-1 · e2e
Сообщение
ЧТО ВИДИТ УЗЕЛконверт · 412 Б
кому: ••••
от кого
текст
ЧТО ВИДИТЕ ВЫ«Встречаемся в 8?»
номер безопасности ✓
01 — Как это работает

Узел — почтовый ящик,
а не читатель.

Сообщение шифруется на вашем телефоне, запечатывается в конверт и уходит на узел. Узел хранит его в оперативной памяти, пока собеседник не заберёт, и забывает.

A ВЫ RAM ONLY ZO-NODE 0 B / disk B СОБЕСЕДНИК федерация между узлами 01001 10110 шифр на устройстве расшифровка только у B
01

Ключ вместо номера

Аккаунт рождается на телефоне: пара ключей Ed25519 и X25519. Нет номера, нет почты — нечего слить и нечего привязать к вам.

02

Запечатанный конверт

PQXDH и Double Ratchet: у каждого сообщения свой ключ. Конверт не говорит узлу, от кого он: отправка без подписи, только по токену доставки получателя.

03

Забрал — и исчезло

Ящики живут только в оперативной памяти узла. Получатель подтвердил — конверт стёрт. Через 7 дней стёрт в любом случае.

02 — Две стороны одного разговора

Слева — всё, что знает сервер.
Справа — всё, что знаете вы.

  zo-node · loglive

      
  приложение · Ева
03 — Безопасность

Безопасность — не настройка.
Это фундамент.

Никаких самодельных примитивов: только проверенная криптография, и всё достаточно просто, чтобы любой мог это проверить.

Сквозное шифрование

Каждое сообщение и звонок шифруются на устройстве. Ключи никогда не покидают телефон.

PQXDH · DOUBLE RATCHET · CHACHA20-POLY1305

Запечатанная отправка

Узел не знает, кто вам пишет: отправитель спрятан внутри конверта, а доступ даёт ваш токен доставки.

SEALED SENDER · DELIVERY TOKENS

Только оперативная память

Узел не пишет сообщения на диск. Перезапуск — и всё, что не доставлено, исчезло. В логах нет ни ID, ни IP.

RAM-ONLY · NO LOGS

Номер безопасности и QR

Отсканируйте QR собеседника при встрече — и никакой сервер не сможет подменить ключ. Если ключ вдруг сменился, приложение не примет ни одного сообщения, пока вы не подтвердите.

ED25519 · SAFETY NUMBERS
01Z·7F3A·99C2
01Z·D10E·4B71

Звонки и видео

Один на один, через ретранслятор вашего узла. Собеседник не узнаёт ваш IP-адрес.

WEBRTC · DTLS-SRTP · TURN RELAY

Исчезающие сообщения

Таймер на чат: сообщения стираются у обоих, по-настоящему, а не прячутся из ленты.

BOTH SIDES

Кнопка паники

Удержание — и ключ, которым запечатано всё на телефоне, уничтожен. Переписку больше не открыть никому.

SEALED STORE · KEYCHAIN THIS-DEVICE-ONLY

Не уходит в облако

Переписка на телефоне запечатана ключом, который живёт только на этом устройстве и не попадает в резервные копии iCloud.

KEYCHAIN · NO BACKUPS
04 — Ваш сервер

Свой узел —
одной командой.

Любой VPS за пару долларов в месяц. Сертификат, ретранслятор звонков и автозапуск настроятся сами. Узлы общаются между собой, так что вы пишете кому угодно.

Установка

Укажите домен, который уже смотрит на сервер, — остальное узел сделает сам.

curl -fsSL https://zeroone.nexustech.network/node | ZO_DOMAIN=chat.example.org sh
  • TLS-сертификат Let's Encrypt — автоматически
  • TURN-ретранслятор для звонков встроен
  • Федерация: ваш узел доставляет на любой другой
  • Linux x86-64 и ARM64, один бинарник на Go
zo-1.nexustech.networkFRA1 · публичный узел
…
…статус
—версия
—ответ

Узел отдаёт наружу только это: работает ли он и какая версия. Ни числа людей, ни трафика.

05 — Честная модель

Безопасность не бывает бесплатной.
Платят деньгами или собой.

Мы берём только деньги. Две двери на равных: подписка на общие узлы Zero One или свой сервер за свои деньги. Расходы узлов открыты — сервер, трафик, число подписчиков, — а в приложении видно, сколько трафика потратили вы. Ни рекламы, ни продажи данных: их просто нет в этой схеме.

Узлы Zero One

Личное

Около $2 в месяц за общую инфраструктуру. Оплата не связана с вашим ключом.

  • Сообщения один на один
  • Аудио- и видеозвонки
  • Лимит трафика и открытые расходы
01
Свой сервер

Ваше пространство

Платите хостингу, а не нам: от $4 в месяц и одна команда. Как Discord, только сервер ваш и тоже ничего не читает.

  • Сообщества: каналы, роли, приглашения
  • Голосовые комнаты и трансляция экрана — скоро
  • Вход по ссылке-приглашению, одна личность везде
10
06 — Сообщения

Всё, что есть в переписке.
Ничего лишнего узлу.

Обычный мессенджер снаружи и закрытая коробка внутри: тексты, голос, квитанции, таймеры. Всё это уже работает.

Сквозное, с запасом на квантовое

Обмен ключами PQXDH: X25519 вместе с ML-KEM-768, затем Double Ratchet. У каждого сообщения свой ключ, а запись трафика сегодня не расшифруется и квантовым компьютером завтра.

PQXDH · ML-KEM-768 · DOUBLE RATCHET

Запечатанная отправка и выравнивание

Узел не знает отправителя. Каждый конверт дополняется до размера, кратного степени двойки от 1 КиБ: короткий текст, квитанция и «печатает…» выглядят одинаково.

SEALED SENDER · PADDING

Повтор, пока не доставлено

Сообщение держится в очереди, пока каждое устройство получателя не подтвердит его. Повторы через 1 мин, 5, 15, 1 ч… до 7 дней, и без дублей на той стороне.

OUTBOX · RESEND · EXACTLY ONCE

Доставлено, прочитано, печатает

Квитанции и индикатор набора идут теми же запечатанными конвертами, что и текст. Узел не отличает их от сообщения.

✓ доставлено✓✓ прочитано… печатает

Голосовые сообщения

До минуты, сжатие Opus. Шифруются как текст, ждут в очереди, исчезают по таймеру вместе с записью.

0:24

Удалить у себя или у обоих

«У обоих» стирает сообщение на всех устройствах собеседника, и поздний повтор его не вернёт. Но изменённое приложение может это проигнорировать.

DELETE · FOR ME · FOR BOTH

Исчезают всегда

Таймер нельзя выключить, только выбрать: от 1 часа до 30 дней. Идёт с момента прочтения. Если у вас разное, действует короткое.

1 ч8 ч1 д7 д30 д

Кто может писать и звонить

Писать: только контакты (по умолчанию) или все. Звонить: все, контакты или никто. Незнакомцы, которым разрешено, приходят запросом, а не в чат.

WRITES · CALLS · REQUESTS

Блокировка

Конверты заблокированного отбрасываются нераспечатанными, а остальным контактам уходит новый токен доставки. Старым токеном больше не написать и не позвонить.

BLOCK · TOKEN ROTATION
07 — Звонки

Звонок через ваш узел.
Собеседник не видит IP.

Аудио и видео один на один идут только через ретранслятор узла: прямого соединения между вами нет, поэтому адреса друг друга вы не узнаёте.

Один на один

WebRTC с шифрованием DTLS-SRTP; сигнализация звонка идёт теми же запечатанными конвертами.

  • Голос и видео через ретранслятор узла (relay-only): никаких прямых соединений
  • Переподключение: пропала сеть или сменился Wi-Fi на LTE — звонок возвращается сам, до 60 секунд
  • Аппаратное видео (H.264 на чипе телефона): плавно и без нагрева; картинка не растягивается и не обрезается
  • Звонок принимается на любом устройстве аккаунта; кто может звонить, решаете вы
A TURNретранслятор B SRTP SRTP ваш IP знает только узел видит адрес узла, не ваш
EVA · 12:08
вы
relayтолько через узел
≤ 60 cна возврат связи
H.264видео в железе
08 — Устройства

Один аккаунт,
до шести устройств.

iPhone, Mac и десктоп NexusOS — одна личность. Новое устройство подключается по QR с уже подключённого, и у каждого свой ключ и своя очередь на узле.

Одна личность на всех

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

iPhone
Mac
NexusOS
Принцип 5

Резервных копий нет.
Это сделано нарочно.

Облачная копия, файл экспорта, даже зашифрованный паролем — это то, что можно украсть, взломать или потребовать по суду. Чего нет, того нет и у них.

  • Потеряли телефон — потеряли контакты и чаты, если нет другого вашего устройства с историей
  • Переписка на телефоне запечатана ключом, который не покидает устройство и не попадает в iCloud
  • Устройство, отвязанное с другого, стирает свои данные
∅
09 — Каналы

Один пишет,
читают многие.

Канал — это ключ, а не аккаунт. Его хранит узел, где включены каналы, но узел видит только шифртекст.

Вещание

Для новостей, объявлений, дневника. Ссылка или QR, и канал в приложении.

  • Открытый: ключ в ссылке, читает любой, у кого она есть. Закрытый: читателей пускает владелец, при удалении ключи меняются
  • Несколько админов, у каждого свой ключ публикации; права можно отозвать
  • Посты подписаны и зашифрованы, правка и удаление есть; живут не дольше 30 дней
  • Читатель не раскрывает IP узлу канала: запросы пересылает его домашний узел
Новости студииКАНАЛ · 2 АДМИНА
ОТКРЫТЫЙЗАКРЫТЫЙ
Архитектор21:04
Релиз в пятницу. Сборка уже в тестировании, ссылки пришлю сюда.
Ева18:32
Новый микс лежит в общей папке. Слушайте в наушниках.
Архитекторвчера
Запись в студии переносится на субботу.
10 — Сообщества

Как Discord.
Только сервер ничего не читает.

Текстовые каналы по категориям, роли, приглашения, модерация. Сообщество живёт на сервере, который вы или организация поднимаете сами той же командой, а не на общих узлах Zero One.

протокол готов · сервер и приложения в работе

Каналы и категории

Текстовые каналы, собранные по категориям. В канале-объявлении пишут только выбранные роли, читают все.

TEXT CHANNELS · CATEGORIES

Роли и права

Свои роли с названием и цветом. Права: администратор, модератор, создание приглашений. Владельца снять нельзя.

ADMIN · MODERATE · INVITE

Ссылки-приглашения

Мгновенный вход или с одобрением админа. Срок действия и число использований задаёте вы, ссылку можно отозвать.

INSTANT · APPROVAL · EXPIRY

Модерация

Исключить или забанить: ключи сообщества меняются, и изгнанный не прочтёт ничего нового. Модераторы удаляют чужие сообщения.

KICK · BAN · NEW KEY EPOCH

Живое общение

Ответы, реакции, упоминания (@человек, @роль), закрепы, правка и удаление. Сообщения исчезают по сроку сообщества, до 30 дней.

REPLIES · REACTIONS · MENTIONS · PINS

Голосовые комнаты и экран скоро

Голос и показ экрана на сервере сообщества через SFU с шифрованием SFrame: сервер передаёт поток, но не слышит его.

SFU · SFRAME
  узел сообщества знает
members   128   # сколько
MK        7fa2c9…  # ключ сообщества, не личность
role      a1b2c3d4  # номер роли, не название
POST /messages  ch=c0ffee01  2048 B  21:04
body      nC4x9Tq…  # шифртекст
  узел сообщества не знает
— названия сообщества, каналов и ролей
— имена участников
— текст, ответы, реакции, закрепы
— ваш IP: запрос пересылает домашний узел
— какой аккаунт стоит за ключом MK
11 — Платформы

Одна личность.
Каждое устройство.

iPhone

Сообщения, голос, звонки с видео, каналы. Face ID, кнопка паники, вход по QR. Сборка уже в TestFlight.

тестирование

macOS

Окно с боковой панелью: чаты, каналы, звонки. Сообщества сбоку появятся вместе с сервером.

в разработке

NexusOS

Родное окно для Linux, на котором Zero One и родился: чаты, звонки с видео, привязка по QR к вашему аккаунту.

в разработке
12 — Без маркетинга

Что ещё не сделано.

Безопасность, в которую нельзя заглянуть, — это обещание. Поэтому код будет открыт, а слабые места названы прямо здесь.

  1. Нет внешнего аудита и фаззинга — пока.
  2. Домен узла виден в TLS: маскировки трафика ещё нет.
  3. Первый контакт без QR доверяет узлу, пока вы не сверили номер безопасности.
  4. Узел видит IP клиента, а при звонке через ретранслятор — IP обоих. Двойной релей — в планах.
  5. Таймер и удаление защищают устройства, но не от собеседника: он может сделать скриншот или взломать своё приложение.
  6. Размер конверта виден с точностью до степени двойки (от 1 КиБ).
  7. Сервер сообщества знает число участников и когда пишут, но не кто они и что пишут.
  8. Забаненный может вернуться с новым ключом по ссылке, которую вы не отозвали.
  9. Голосовые комнаты, показ экрана и групповые звонки — скоро. Сообщества пока на стадии протокола.

Нечего сливать.

Ни номера, ни почты, ни переписки на сервере.

01001