Аккаунт создается без телефона и почты. Ключ остается главным доступом.
Приватный мессенджер без номера телефона
Obscura — desktop-мессенджер для личных диалогов: вход по recovery key, сквозное шифрование сообщений, второй пароль, защищенные звонки и контроль активных устройств.
Private mode
Официальный клиент шифрует сообщение до отправки на API.
Новые устройства показываются отдельно, подтвержденные ключи закрепляются.
Обновление проверяется по хэшу и подписи перед установкой.
Защита собрана слоями
Идея простая: сервер помогает найти пользователя, доставить конверт и синхронизировать разрешенную историю, но критичные проверки и расшифровка остаются на клиенте.
Recovery key подписывает одноразовый challenge. Сам ключ не отправляется как пароль.
Второй пароль проверяется через доказательство. Сервер хранит verifier, а не текст пароля.
P-256 ECDH, Double Ratchet-style цепочки, HKDF/HMAC-SHA256 и AES-256-CBC + HMAC для зашифрованных конвертов.
Rate limit на вход, поиск, 2FA, устройства и выдачу ключей для новых чатов.
Как проходит сообщение
Техническая схема текущего MVP: клиент создает зашифрованный envelope, API хранит и доставляет его, получатель расшифровывает локально. Для stealth-чатов история не уходит в синхронизацию между устройствами.
Клиент отправителя
Берет публичный ключ получателя, делает DH-ratchet шаг и шифрует текст до сетевого запроса.
plaintext → envelope
Obscura API
Проверяет сессию, rate limit, mailbox-адрес доставки и формат envelope. Содержимое остается ciphertext, служебные данные сообщения дублируются внутри sealed metadata.
mailbox + ciphertext
Клиент получателя
Забирает входящие конверты, подтверждает доставку и расшифровывает их своим локальным ключом.
envelope → message
Что видит сервер
- логин, отображаемое имя и публичные данные профиля;
- публичные ключи аккаунта и устройств;
- зашифрованные конверты, время, размер, статусы доставки;
- IP прокси при включенном SOCKS5; при прямом подключении - IP клиента.
- Mailbox-адрес доставки, время запроса и размер ciphertext.
Что не должно попадать на сервер
- текст recovery key как пароль;
- 2FA пароль в открытом виде;
- приватные ключи клиента;
- расшифрованный текст сообщений в официальном клиенте.
Режим чата выбирается заранее
Если вы пишете первым, новый диалог создается по вашему режиму. Это проще для пользователя и понятнее для безопасности: старый чат не меняется задним числом.
Для обычных диалогов
Самый быстрый режим. Сквозное шифрование включено, история и медиа могут переноситься на ваши устройства.
Для личных разговоров
Больше осторожности с устройствами и ключами. Подходит для диалогов, где важна проверка собеседника.
Для чувствительных чатов
История не переносится на новое устройство. Меньше статусов и меньше лишних следов в синхронизации.
Честно о текущих границах
Obscura пока не притворяется финальным Signal-level протоколом. Мы уже строим клиент вокруг сквозного шифрования, но следующие криптографические этапы нужно закрывать отдельно и проверять аудитом.
Уже есть
Challenge-response вход, 2FA без хранения пароля, v3 Double Ratchet-style envelopes, padding тела, encrypted media chunks, исключение stealth из синхронизации, device pinning и signed updates.
Дальше по безопасности
PQXDH/Sesame, header encryption, полный sealed-sender-подход, улучшенный приватный транспорт и внешний аудит перед публичным релизом.
Коротко по делу
Без обещаний, которые нельзя проверить.
Можно войти без телефона и почты?
Да. Аккаунт создается через recovery key. Его нужно хранить как главный ключ доступа.
Что будет на новом устройстве?
Обычная история может подтянуться через сервер. Stealth-чаты не переносятся.
Что с обновлениями?
Приложение проверяет хэш и подпись сборки перед установкой.