Как это работает
Сквозное шифрование. Мы не можем прочитать ваши письма.
1
Регистрация и ключи
При регистрации ваш браузер генерирует пару ключей локально:
- Публичный ключ — загружается на наш сервер, используется для шифрования входящих писем
- Приватный ключ — шифруется вашим паролем (Argon2id), хранится на сервере
- Фраза восстановления — 24 слова (BIP39), единственный способ восстановить доступ при потере пароля
password → Argon2id → master_key → encrypt(private_key) → server
Важно: Мы не храним ваш пароль или фразу восстановления. Потеря обоих = потеря доступа навсегда.
2
Получение почты
Входящие письма шифруются вашим публичным ключом перед сохранением:
incoming_email → crypto_box_seal(your_public_key) → encrypted_blob → database
Только ваш приватный ключ может расшифровать. У нас его нет. Утечка базы данных = бесполезные зашифрованные данные.
3
Отправка почты
Пользователям defnd.email:
your_message → crypto_box_seal(recipient_public_key) → server → recipient decrypts
Внешним получателям (Gmail и т.д.):
У них нет ключей. Вместо этого:
- Вы устанавливаете пароль для сообщения
- Получатель получает ссылку на defnd.email/s/{token}
- Он вводит пароль → расшифровка и чтение
- Может ответить (тоже зашифровано)
Мы храним только хеш пароля для проверки. Передайте пароль отдельно (Signal, телефон и т.д.).
4
Как это работает
Почта
Что мы видим
Зашифрованные данные, метаданные для доставки
Что мы не видим
Содержимое писем, темы, вложения
Календарь
Что мы видим
Зашифрованные данные событий
Что мы не видим
Названия, описания, места событий
Заметки
Что мы видим
Зашифрованные данные заметок
Что мы не видим
Содержимое и названия заметок
Пароли
Что мы видим
Зашифрованные записи хранилища
Что мы не видим
Пароли, логины, URL
Как шифруются мои данные?
Все данные шифруются на стороне клиента ключом, полученным из вашего пароля. Мы никогда не видим ваших данных.
Что если я забуду пароль?
Используйте 24-словную фразу восстановления. Без неё данные невозможно восстановить — это сделано намеренно.
Криптография
Обмен ключами
X25519
Curve25519, libsodium
Шифрование
XChaCha20-Poly1305
С аутентификацией, 192-битный nonce
Деривация ключей
Argon2id
Требователен к памяти, устойчив к GPU
Восстановление
BIP39
24 слова, 256-бит энтропии
FAQ
Забыли пароль?
Используйте 24-словную фразу восстановления. Она выводит тот же мастер-ключ, что и ваш пароль. Нет фразы восстановления = нет доступа.
Потеряли фразу восстановления И забыли пароль?
Ваши данные утеряны. Навсегда. Мы не можем их расшифровать. Это компромисс настоящего zero-knowledge шифрования.
Где хранится мой приватный ключ?
Зашифрованная копия на нашем сервере. Расшифровывается только в памяти браузера при входе. Мы никогда не видим его в открытом виде.
Могу ли я сменить пароль?
Да. Ваш приватный ключ будет перешифрован новым паролем. Фраза восстановления останется прежней.
Почему не PGP?
PGP устарел. X25519 + XChaCha20 (libsodium) современный, быстрее, меньше ключи, лучшие настройки по умолчанию. Не требует конфигурации.
Это open source?
Пока нет. Криптография — стандартный libsodium, можете проверить в devtools браузера.