Confidex

Ваши пароли — только ваши.

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

На вашем устройстве GitHub логин пароль одноразовый код теги octocat •••••••••••••••• 482 913 работа, двухфакторная 0d24b0ab На сервере синхронизации 7f3a9ce2 c04d178b 2be5f04a ни имён, ни почты, ни паролей
Каждое изменение запечатывается и подписывается на вашем устройстве до того, как покинет его. Сервер хранит запечатанные коробки с номерами на них, и ничего больше.
  • Без регистрации

    На нашей стороне нет аккаунта, который можно украсть, выманить фишингом или сбросить.

  • Запечатано на устройстве

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

  • Свободный и открытый исходный код

    Приложения под GPL-3.0 и сервер синхронизации под AGPL-3.0, который вы можете запустить сами.

Всё, что действительно нужно для входа, в одном месте.

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

  • Логины и паролиС генератором, который хранит свои настройки на вашем устройстве.
  • Одноразовые кодыКоды для двухэтапного входа, генерируемые на вашем устройстве.
  • Банковские картыНомер, срок действия и код как обычные зашифрованные поля.
  • Заметки и документыОбычные или защищённые, которые остаются скрытыми, пока вы не попросите.
  • Фото и файлыСканы, PDF и изображения, уменьшенные на вашем устройстве до запечатывания.
  • Сети Wi-FiQR-код для ваших гостей, построенный из сохранённого пароля.
  • Ключи API и токеныСкрыты, пока вы их не раскроете, копируются одним действием.
  • Ключи SSHС нативным агентом, который спрашивает вас перед каждым использованием.
  • Свои поляВсё остальное, что вам нужно. При редактировании ничего не теряется.
  • Полная историяКаждое изменение сохраняется. Откройте любую более раннюю версию записи.

Переезд — это один импорт.

Confidex импортирует из 1Password, Bitwarden, KeePass и CSV и экспортирует обратно в них. Попробуйте на своих настоящих данных и уйдите со всем, если передумаете.

  • 1Password
  • Bitwarden
  • KeePass
  • CSV

Компьютер

Настоящие нативные приложения для Mac, Linux и Windows, написанные на Rust с интерфейсом, ускоренным GPU. Без Electron, без Flutter, без веб-представления.

  • macOS
  • Linux
  • Windows

Браузер

Откройте app.confidex.me и начните сразу. После первого посещения приложение работает и офлайн, а также устанавливается на домашний экран телефона.

Открыть app.confidex.me

Сначала офлайн

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

Ваш сейф открывают два ключа. Оба есть только у вас.

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

Ваш пароль Ваш секретный ключ Закрыто Открыто Только пароль Только секретный ключ Оба вместе
  • Ваш пароль

    Вы его помните. Он нигде не хранится и никогда не отправляется.

  • Ваш секретный ключ

    Его хранит ваше устройство. На новом устройстве вы вводите его один раз как код переноса: 77 букв и цифр группами по семь.

  • Замок

    Хранит ключи сейфа и открывается только обоими. Argon2id намеренно делает каждую попытку подбора пароля медленной: 64 MiB памяти и три прохода на попытку.

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

Ваши устройства идут в ногу через сервер, который не может заглянуть внутрь.

Каждое изменение покидает ваше устройство запечатанным и подписанным. Сервер передаёт запечатанные коробки между вашими устройствами и проверяет подпись, чтобы никто другой не мог изменить ваш сейф. Он не может открыть ни одной коробки и работает по обычному HTTP так же безопасно, как по HTTPS.

Ноутбук 7f3a9ce2 c04d178b 2be5f04a Сервер синхронизации Телефон

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

Заблокируйте, и из памяти всё исчезнет.

Пока сейф открыт, ключи и записи, которые вы просматриваете, находятся в памяти. Когда вы его блокируете, Confidex сбрасывает их в тот же момент. Rust освобождает память детерминированно, без сборщика мусора, который мог бы подержать секреты ещё какое-то время. Копии, сделанные буфером обмена или операционной системой, вне этой гарантии.

Память ключи сейфа, открытые записи освобождается при блокировке Разблокировано Заблокировано. В памяти ничего не осталось.

Не сборщик мусора решает, когда ваши секреты покинут память. Это решает блокировка.

Что будет, если наш сервер взломают?

Включите то, что удалось заполучить атакующему.

Пока ничего.

Включите то, что есть у атакующего. Ответ следует модели угроз из документации проекта.

Используйте наш сервер синхронизации или запустите такой же сами.

Сервер мал, потому что ему нечего защищать. Он хранит запечатанные коробки, ведёт счётчик для каждого сейфа и проверяет подпись перед тем, как принять изменение. Запустите его как образ Docker на любой машине или как Cloudflare Worker на бесплатном тарифе, без собственного сервера и без оплаты. Новые сейфы используют sync.confidex.me; направьте их на вашу копию одной настройкой.

Работает как
Образ Docker, нативный бинарный файл или Cloudflare Worker на бесплатном тарифе.
Индекс
SQLite или PostgreSQL нативно, D1 в Worker.
Объекты
Любое сочетание S3-совместимых бакетов, обычных каталогов и репозиториев Git. Запись идёт во все; чтение переключается на запасные и проверяет дайджесты.
Транспорт
HTTP или HTTPS на ваш выбор. Коробки запечатаны и подписаны в любом случае.
Аккаунты
Нет. Сейф регистрируется, загружая свой подписанный замок. Изменить его потом может только владелец ключа подписи.
Вообще без сервера
Синхронизация необязательна. Сейф может оставаться на одном устройстве, с резервной копией в локальном ZIP-файле, и никогда не касаться сети.
Лицензия
AGPL-3.0. Изменения, которые вы запускаете для других, остаются открытыми.

Что Confidex не защищает.

Криптография защищает данные при хранении и при передаче. Она не может защитить разблокированное устройство и не может скрыть всё. Вот границы, о которых мы знаем, изложенные прямо.

Разблокированное заражённое устройство

Пока сейф открыт, ключи и записи, которые вы просматриваете, находятся в памяти. Вредоносная программа на этом устройстве может их прочитать. Блокируйте, когда отходите.

Формы, а не содержимое

Сервер видит идентификаторы сейфа и записей, какая ревизия за какой следует, временные метки и размеры запечатанных значений. Содержимое, имена, типы и теги остаются скрытыми; формы — нет.

Слабый пароль при утёкшем секретном ключе

Тот, у кого есть ваш код переноса, может подбирать пароли офлайн. Argon2id делает каждую попытку ценой в 64 MiB и три прохода, поэтому длинная парольная фраза выдерживает. Короткая — нет.

Локальный поисковый индекс

Заголовки, веб-адреса, теги и незащищённые заметки индексируются на вашем устройстве открытым текстом для поиска. Индекс никогда не покидает устройство, но любой, кто читает ваш диск, узнаёт эти метки.

Нет прямой секретности

Если приватный материал сейфа когда-либо раскрыт, запечатанные под ним записи можно прочитать. Смена пароля переобёртывает замок; она не перезапечатывает старые ревизии.

Копии вне приложения

Очистка памяти при блокировке охватывает то, чем владеет Confidex. Буфер обмена, браузер и операционная система могут хранить собственные копии.

Конструкция для тех, кто проверяет.

Чистые реализации на Rust без привязок к C. У каждой конструкции есть фиксированные тестовые векторы, а формат хранения, замок, шифрование записей, подписи и протокол синхронизации специфицированы до байта.

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

  • Создание сейфа32 случайных байта, секретный ключ X25519, пара ключей подписи Ed25519, адрес UUIDv5, код переноса из 77 символов.
  • ЗамокArgon2id 64 MiB, HKDF-SHA256 с секретным ключом, XChaCha20-Poly1305 над 33 байтами, всего 344 байта.
  • Записи и ревизииMessagePack, zlib один раз, базовый режим HPKE, Ed25519 над точными байтами, идентификаторы ревизий SHA-256.
  • Сервер синхронизацииОтделённая подпись замка, закреплённый ключ, точные байты, сравнение и продвижение курсора.
  • Что остаётся видимымИдентификаторы, родители, epoch, размеры и тайминги. Ничего читаемого.

Храните свои секреты там, где их нельзя потребовать.