Модель сейфа
Сервер хранит то, чего не может прочитать
Термин zero-knowledge затаскан до потери смысла, поэтому вот механика: что происходит в браузере, что уходит на сервер и какие ограничения из этого следуют.
Что происходит при работе с сейфом
Мастер-пароль превращается в ключ
Вывод ключа идёт в браузере, с большим числом итераций. Сам мастер-пароль никуда не отправляется.
Ключ сейфа заворачивается
Записи шифруются случайным ключом сейфа, а он — ключом из мастер-пароля. Поэтому смена мастер-пароля не требует перешифровки всех записей.
На сервер уходит шифротекст
Сервер видит непрозрачные блобы, их размер и время изменения — и всё. Контекст шифрования привязан к владельцу, чужой блоб не расшифруется.
Ключ живёт в памяти вкладки
Кнопка «Запереть» стирает его. Закрытие вкладки — то же самое.
Одноразовые ссылки
Ссылка вида /s/…#k=… устроена так же: запись шифруется случайным ключом в вашем браузере, ключ живёт во фрагменте URL, а фрагмент браузер серверу не отправляет. Сервер хранит только шифротекст, счётчик открытий и срок.
Открытие двухшаговое: превью в мессенджере не сжигает единственный просмотр. Принятый риск проговорен прямо: ссылка вместе с ключом едет тем же каналом, по которому раньше отправили бы сам пароль, — мы защищаемся от накопления паролей в переписке, а не от компрометации канала.
- Срок — от пяти минут до недели, по умолчанию сутки
- Просмотры — от одного до десяти, по умолчанию один
- Отзыв — в один клик, до первого открытия и после
- Аккаунт получателю не нужен
Прямые следствия
Модель без компромиссов означает, что часть привычных функций невозможна. Мы считаем правильным сказать это на сайте, а не в переписке с поддержкой.
- Восстановления мастер-пароля нет и не появится в текущей модели; запасные сценарии (экспорт, доверенные лица) — в плане
- Администратор организации не видит содержимое личных сейфов сотрудников — ни в отчётах, ни в выгрузках
- Командные секреты должны жить в разделе секретов: там анализ полный, а сейф остаётся личным
- Криптоаудит клиентской части ещё впереди — до него мы описываем модель, но не называем её проверенной третьей стороной