Кибербезопасность & Кроссплатформенное приложение

Sésame

Менеджер паролей, который не может прочитать ваши пароли: доказательством стала сама архитектура.

Год
2026
Стек
React · TypeScript · Vite · WebAssembly · Supabase · Capacitor
  • Продуктовый дизайн
  • Прикладная криптография
  • Веб- и мобильная разработка
  • Расширение для браузера
  • Доступность
  • SEO
https://sesame.kayzen-lyon.com/
Главная страница сайта Sésame — Кибербезопасность & Кроссплатформенное приложение, создан KAYZEN
все функции включены
0 €
доступно серверу для чтения
0 байт
платформы: веб, расширение, Android
3
типов элементов в хранилище
11
Отправная точка

Какую задачу нужно было решить.

Контекст

Sésame — бесплатный менеджер паролей, который KAYZEN выпускает в Лионе и распространяет по лицензии GPL-3.0. Он хранит учётные данные, коды 2FA, ключи доступа, банковские карты, заметки и документы, удостоверяющие личность, в зашифрованном хранилище, которое синхронизируется между устройствами и которым можно делиться в кругу семьи. Он доступен как устанавливаемое веб-приложение, как расширение для Chrome, Edge и Firefox и как приложение для Android.

Ограничение

Менеджер паролей требует наивысшего доверия: он хранит ключ ко всему остальному. Бесплатные предложения на рынке ограничивают синхронизацию, совместный доступ или коды 2FA, чтобы подтолкнуть к подписке, и все они просят пользователя поверить разработчику на слово, что тот не может прочитать его хранилище. Нужен был бесплатный продукт без урезанных функций и обещание конфиденциальности, которое остаётся в силе, даже если вы не доверяете KAYZEN.

Решение

Шифрование выполняется на устройстве, до какой-либо отправки. Мастер-пароль никогда не покидает устройство; из него с помощью Argon2id выводится ключ, открывающий хранилище. Сервер синхронизации хранит только зашифрованные контейнеры, которые сам не в состоянии открыть. Бесплатность вытекает из той же архитектуры: сервер, который лишь хранит небольшие зашифрованные файлы, почти ничего не стоит в эксплуатации.

Измерено, а не заявлено

Показатели на момент сдачи.

Оценки Lighthouse для сайта в рабочей среде. Мы публикуем их как есть: если какая-то оценка низкая, её причина и план исправления описаны ниже, а не замалчиваются.

PageSpeed
99
Производительность: 99 из 100
100
Доступность: 100 из 100
100
Лучшие практики: 100 из 100
100
SEO: 100 из 100
Дизайн и арт-дирекшн

Каждое решение — и его причина.

  1. Успокаивать ясностью, а не темнотой

    Почти все инструменты безопасности оформлены в тёмных тонах, по образу терминала. Sésame исходит из белого фона, тёмно-синего цвета для заголовков и единственного терракотового акцента для действия: хранилище, которое открывают десять раз в день, должно быть прежде всего читаемым, а уже потом впечатляющим. Тёмная тема есть — по выбору пользователя.

  2. Цена на первом экране

    «0 € навсегда» стоит в макете hero-блока, а верхняя плашка уточняет: «без банковской карты, без аккаунта, без рекламы». На рынке, где бесплатное часто оказывается пробным периодом, настоящая бесплатность — решающий аргумент: её нужно было прочитать до первой прокрутки.

  3. Уйти от прежнего менеджера за две минуты

    Главное препятствие — не цена, а переезд. Отдельная страница и импорт из 1Password, Bitwarden, KeePass, Proton Pass, а также CSV-экспортов Chrome, Edge, Firefox, Safari, LastPass и Dashlane, с предварительным просмотром перед импортом: пользователь видит, что попадёт в его хранилище, прежде чем подтвердить.

  4. Типографика, общая для всей линейки

    Outfit для заголовков, Plus Jakarta Sans для текста: те же семейства, что и на kayzen-lyon.com, раздаваемые с собственного домена без обращений к Google Fonts. Собственные продукты узнаются как единая линейка без плашки «by KAYZEN».

Палитра проекта

  • Чернила

    #1F2937

    Текст

  • Морской

    #1F3B61

    Заголовки и логотип

  • Терракота

    #B7481F

    Основное действие

  • Зелёный

    #26704F

    Подтверждение, хранилище синхронизировано

Типографическая система

Заголовки

Outfit 700

Основной текст

Plus Jakarta Sans 400

Семейства kayzen-lyon.com, раздаваемые с собственного домена: ни одного обращения к сторонним сервисам, даже ради шрифтов.

Разработка

Что внутри.

  • React
  • TypeScript
  • Vite
  • WebAssembly
  • Supabase
  • Capacitor
  1. Argon2id, HKDF, затем AES-256-GCM

    Мастер-пароль проходит через Argon2id (64 МиБ памяти, 3 прохода), выполняемый в WebAssembly, а затем через HKDF, чтобы получить ключ шифрования ключа. Он оборачивает случайный ключ хранилища длиной 256 бит, который шифрует данные в AES-256-GCM с новым вектором инициализации при каждом сохранении. Поэтому смена мастер-пароля не требует перешифровывать всё хранилище.

  2. Синхронизация с нулевым разглашением (zero-knowledge)

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

  3. Семейный доступ без общего ключа

    У каждого участника своя пара ключей X25519. Общее хранилище шифруется один раз, а его ключ оборачивается отдельно для каждого участника. Удаление участника запускает ротацию ключа хранилища: бывший участник не прочитает то, что добавлено после его ухода.

  4. Одна кодовая база, три платформы

    Криптографическое ядро — модуль без интерфейса, протестированный отдельно: официальные тестовые векторы RFC 6238 для кодов 2FA, тесты защиты хранилища от подделки. Это же ядро обслуживает устанавливаемое веб-приложение (работающее офлайн), расширение на Manifest V3 и приложение для Android, собранное с помощью Capacitor.

  5. Расширение, которое заполняет только по запросу

    Расширение никогда не заполняет форму само: требуется явное действие пользователя. Автозаполнение при загрузке страницы — именно то, чем пользуются невидимые формы, внедрённые в страницу. Оно также поддерживает ключи доступа (passkeys, WebAuthn) и предлагает сохранить учётные данные после входа.

SEO-продвижение

Как сайт становится находимым.

  1. Одна страница на одно намерение

    Безопасность, переезд, установка, новости: у каждого вопроса, который задают себе перед сменой менеджера, есть своя страница и свой URL. «Уйти с 1Password» и «бесплатный менеджер паролей» — разные запросы; одна общая страница не собрала бы ни одного из них.

  2. Разметка SoftwareApplication и FAQ

    Разметка SoftwareApplication указывает категорию, поддерживаемые системы, лицензию и цену 0 €. FAQ — почему это бесплатно, где хранятся пароли, как синхронизировать — снабжён разметкой FAQPage: именно эти ответы подхватывают поисковые системы и ассистенты.

  3. Издатель, связанный с сетью KAYZEN

    Граф JSON-LD сайта указывает KAYZEN как издателя, с тем же идентификатором, что и на kayzen-lyon.com: поисковые системы и ассистенты связывают продукт с агентством, которое его создало.

Доступность

Удобно для всех.

С июня 2025 года Европейский акт о доступности (European Accessibility Act) требует цифровой доступности для значительной части онлайн-сервисов. Мы закладываем её на этапе проектирования, а не исправляем задним числом.

  1. WCAG 2.2 AA проверен в приложении

    Приложение проходит автоматические проверки axe на уровне WCAG 2.2 AA без нарушений в сквозных (end-to-end) тестах. Палитра команд с клавиатуры (Ctrl+K), задокументированные сочетания клавиш, светлая и тёмная темы.

  2. Безопасность не должна исключать

    Скопированный пароль по умолчанию стирается из буфера обмена через 30 секунд; срок настраивается. Об очистке сообщает уведомление, которое озвучивают программы чтения с экрана, — «скопировано · будет стёрто через 30 с», — чтобы пользователь понимал, почему буфер обмена пуст, когда он хочет вставить пароль.

Структура сайта

Что было сдано.

  • Главная — обещание, демонстрация и сравнение
  • Безопасность — модель шифрования с пояснениями
  • Переезд — импорт из прежнего менеджера
  • Установка — приложение, расширение, Android
  • /app/ — хранилище, устанавливаемое и работающее офлайн
  • Правовая информация, конфиденциальность, условия использования, доступность
Метод

Ход проекта.

  1. Криптографическое ядро

    Зашифрованное хранилище, коды 2FA, генератор, проверка надёжности паролей, импорт; модуль протестирован без интерфейса.

  2. Приложение

    Устанавливаемое веб-приложение, работающее офлайн, с зашифрованной резервной копией и аварийным набором.

  3. Синхронизация и совместный доступ

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

  4. Расширение и мобильная версия

    Расширение для Chrome, Edge и Firefox с поддержкой passkeys, приложение для Android.

  5. Проверки безопасности

    Пять внутренних проверок и исправления по их итогам; подготовлено досье для внешнего независимого аудита.

Вопросы

О чём нас часто спрашивают.

Нет, и это свойство архитектуры, а не обещание. Шифрование происходит на устройстве с помощью ключа, выведенного из мастер-пароля, который никогда не покидает устройство. Сервер получает только зашифрованные данные; без мастер-пароля они нечитаемы — и для нас, и для любого, кто получил бы к ним доступ.

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

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

Тот же уровень требований — для вашего сайта.

Бесплатный аудит вашего текущего сайта, смета в течение 24 часов и письменное обоснование — такое же, как то, что вы только что прочитали. Оплата в три этапа без переплаты; местные программы поддержки проверяются до подписания.

Поделиться