Sésame Éclair
Один секрет, одно прочтение, никаких следов: ключ никогда не покидает ссылку, сервер хранит лишь нечитаемый блок.
- Год
- 2026
- Стек
- Next.js · React · TypeScript · WebCrypto · WebAssembly · PostgreSQL
- Продуктовый дизайн
- Прикладная криптография
- Веб-разработка
- Безопасность приложений
- Доступность
- Многоязычное SEO

- без аккаунта, без рекламы
- 0 €
- ключ ссылки, никогда не отправляемый на сервер
- 256 бит
- одновременных прочтений принимается для секрета с однократным прочтениемАвтоматический тест на Postgres.
- 1 из 100
- языков сайта
- 7
Какую задачу нужно было решить.
Контекст
Sésame Éclair — бесплатный сервис для передачи секретов с однократным прочтением, который KAYZEN выпускает в Лионе. В него вставляют пароль или ключ и получают ссылку со сквозным шифрованием, которая исчезает после прочтения или в выбранный срок. Это родственный продукт Sésame, менеджера паролей KAYZEN: Sésame хранит то, что должно оставаться, Éclair передаёт то, что должно исчезнуть. Программа бесплатна, но проприетарна. В сети работает только веб-приложение, на семи языках; расширение, настольные и мобильные приложения и инструмент командной строки разработаны, но ещё не опубликованы.
Ограничение
Пароль, отправленный по электронной почте или в Slack, никогда по-настоящему не исчезает: он остаётся в истории переписки, резервных копиях и поисковых индексах, и любой, кто однажды получит доступ к почтовому ящику, сможет его прочитать. Сервисы одноразовых ссылок существуют, но некоторые шифруют данные на собственных серверах — об этом, например, говорится на странице Onetime Secret, проверенной 6 октября 2026 года, — а многие оставляют файлы, запросы секретов или собственный домен только для платного тарифа. Нужен был бесплатный сервис без аккаунта, конфиденциальность которого сохраняется, даже если не доверять его разработчику.
Решение
Ключ никогда не покидает ссылку. Браузер генерирует случайный 256-битный ключ, шифрует секрет и помещает этот ключ после знака # в адресе — в ту часть, которую браузеры никогда не отправляют на серверы. Сервер хранит только зашифрованный блок и несколько дат; он выдаёт его один раз и удаляет в той же операции. Всё остальное следует из этого правила: страница ссылки никогда не содержит секрета, сервер не может проверять PIN-код, а каждое ограничение системы описано на сайте, а не замалчивается.
Показатели на момент сдачи.
Оценки Lighthouse для сайта в рабочей среде. Мы публикуем их как есть: если какая-то оценка низкая, её причина и план исправления описаны ниже, а не замалчиваются.
Каждое решение — и его причина.
Семейство Sésame и один акцент для бренда
Тёмно-синий #1F3B61 для заголовков, терракотовый #B7481F для основного действия: фирменный стиль kayzen-lyon.com и Sésame. Янтарный «Éclair» #F2C14E зарезервирован за логотипом. Светлая тема включена по умолчанию, независимо от системных настроек; тёмная тема — выбор пользователя, который запоминается.
Форма — это первый экран
На этот сайт приходят, чтобы отправить секрет, а не читать презентацию: поле ввода занимает hero-блок. Параметры свёрнуты, но сведены в одну понятную строку — «1 прочтение · истекает через 24 часа · без кода», — и раскрывать их нужно, только чтобы изменить число прочтений, срок, защиту или получателей.
То, чего ещё нет, так и помечено
Страница «Функции» относит каждую функцию к категории «Доступно» или «Запланировано». Страница «Скачать» показывает расширение, Windows, macOS, командную строку, Android и iPhone с пометкой «Скоро» и отсылкой к веб-приложению. Для продукта безопасности объявление отсутствующей функции стоило бы больше доверия, чем принесло бы.
Движение, которое не мешает чтению
Чёткие кривые анимации, кнопки, слегка утапливающиеся при нажатии, эффекты наведения только для мыши, карточки, которые встают на место при прокрутке на чистом CSS, без плавного проявления, чтобы никогда не снижать контраст. Всё отключается, когда система просит уменьшить анимацию.
Палитра проекта
Чернила
#1F2937
Текст
Морской
#1F3B61
Заголовки
Терракота
#B7481F
Основное действие
Янтарь Éclair
#F2C14E
Логотип
Зелёный
#1F6B48
Подтверждение
Типографическая система
Заголовки
Outfit 800
Основной текст
Plus Jakarta Sans 400
Семейства kayzen-lyon.com в вариативных версиях, раздаваемые с собственного домена: политика безопасности не разрешает ни одного стороннего шрифта.
Что внутри.
- Next.js
- React
- TypeScript
- WebCrypto
- WebAssembly
- PostgreSQL
AES-256-GCM, ключ во фрагменте
Содержимое шифруется средствами WebCrypto в режиме AES-256-GCM со случайным 96-битным вектором инициализации и связанными данными, привязанными к идентификатору секрета. Ключи выводятся с помощью HKDF-SHA-256. Перед шифрованием содержимое дополняется до фиксированных ступеней (1, 4, 16, 64 КиБ…), чтобы сервер не знал его реальной длины. Формат опубликован вместе с тестовыми векторами на странице «Формат v1».
PIN-код, который сервер не может проверить
Код проходит через Argon2id (64 МиБ, 3 прохода), выполняемый в WebAssembly и загружаемый, только если запрошен код. Проверочное значение, отправляемое на сервер, вычисляется из кода и ключа ссылки: без этого ключа сервер не может ни проверить код, ни подобрать его. Он считает ошибки и уничтожает секрет после пятой попытки. Ограничение описано на странице «Безопасность»: тот, у кого есть одновременно ссылка и копия базы данных, может взломать короткий код офлайн.
Одно прочтение, даже при ста одновременных
Страница ссылки, получаемая через GET, никогда не содержит шифротекста: он выдаётся только после нажатия «Раскрыть», через запрос POST. Поэтому роботы предпросмотра Slack, Teams или Outlook не расходуют прочтение. Выдача и удаление выполняются одним SQL-запросом; тест запускает 100 одновременных раскрытий секрета с однократным прочтением и принимает только одно. Неизвестная, истёкшая, прочитанная или уничтоженная ссылка — ответ один и тот же.
Никаких сторонних скриптов, закрытая политика
Content-Security-Policy с nonce для каждого запроса, без unsafe-inline и unsafe-eval для скриптов; допускается только wasm-unsafe-eval — для Argon2id. connect-src ограничен доменом, frame-ancestors — none, HSTS на два года с preload, Referrer-Policy — no-referrer. Цена осознанно принята и задокументирована: страницы рендерятся при каждом запросе, а не генерируются статически.
Размещён в Европейском союзе, без IP-адресов в базе
Приложение работает на Vercel в Париже; база данных Postgres — у Neon во Франкфурте. Ни один столбец не содержит IP-адресов: ограничение частоты запросов основано на необратимом отпечатке, который меняется каждый день. Доступ к данным идёт через Drizzle и стандартный Postgres, поэтому хостинг-провайдера можно заменить.
Одно криптографическое ядро, несколько клиентов в подготовке
Всё шифрование сосредоточено в едином модуле packages/crypto, протестированном на детерминированных векторах. Тот же модуль уже используется в коде расширением Manifest V3, настольными приложениями на Electron, приложениями Capacitor для Android и iOS и инструментом командной строки с сервером MCP. Ни одно из них пока не опубликовано: сайт представляет их как будущие.
Как сайт становится находимым.
Одна страница на каждый поисковый интент
Пять сравнений (Onetime Secret, Password Pusher, scrt.link, Bitwarden Send, Password.link), четыре страницы сценариев использования (агентства, DevOps, ИТ-поддержка, частные лица), два бесплатных инструмента, работающих в браузере (генератор паролей, проверка надёжности), и блог. На каждом сравнении указаны дата проверки, источники и строка «Нашли ошибку? Напишите нам».
Семь языков, связанных между собой
Французский — в корне сайта, английский, немецкий, испанский, итальянский, португальский и нидерландский — под своими префиксами. Каждая страница объявляет свои языковые версии через hreflang с x-default, и карта сайта перечисляет их все. Машинные переводы помечены как «на проверке»; для юридических текстов силу имеет только французская версия.
FAQPage, SoftwareApplication и llms.txt
FAQ размечен как FAQPage; продукт объявлен как SoftwareApplication с ценой 0 €. Файл llms.txt описывает ассистентам, что гарантирует сервис, но и его ограничения: отсутствие внешнего аудита, проприетарное ПО, приложения пока недоступны.
Удобно для всех.
С июня 2025 года Европейский акт о доступности (European Accessibility Act) требует цифровой доступности для значительной части онлайн-сервисов. Мы закладываем её на этапе проектирования, а не исправляем задним числом.
WCAG 2.2 AA проверено на 44 страницах
Сквозные тесты прогоняют axe-core на уровнях WCAG 2.0, 2.1 и 2.2 AA на 44 страницах на нескольких языках, а также на главной странице в светлой и тёмной темах. Навигация с клавиатуры, видимый фокус и ссылка для перехода к содержимому указаны в заявлении о доступности.
Контраст, проверяемый тестом
Для каждой пары цветовых токенов задан минимальный коэффициент, который проверяется автоматически: 7:1, уровень AAA, для основного текста и заголовков на светлом фоне; 4,5:1 для второстепенного текста, акцентных ссылок и сообщений о состоянии, в обеих темах.
Заявление без преувеличений
Поскольку аудит по RGAA (французскому стандарту доступности) независимой организацией не проводился, в заявлении о доступности указано, что сайт «не соответствует» стандарту, хотя и спроектирован так, чтобы соответствовать. Это правило продукта, применённое к доступности: никаких утверждений без доказательств.
Что было сдано.
- Главная — создать секрет, три шага, мини-сравнение
- Функции — «Доступно» или «Запланировано», функция за функцией
- Безопасность — примитивы, угрозы, ограничения; формат v1 и тестовые векторы
- Что видит сервер — реальный запрос, показанный в реальном времени
- Запросить секрет — зашифрованная ссылка для передачи, только для запросившего
- Сравнения, сценарии использования, FAQ, тарифы, блог, инструменты
- Состояние сервиса, прозрачность, новости, дорожная карта
- Правовая информация, условия использования, конфиденциальность, доступность, жалобы
Ход проекта.
Фундамент
Монорепозиторий, непрерывная интеграция со статическим анализом, криптографический модуль и формат v1 с тестовыми векторами, дизайн-токены, архитектурные решения и модель угроз.
Сервер и приложение
База Postgres, атомарное раскрытие, PIN-код с пятью попытками, ссылка для отслеживания, плановая очистка, политика безопасности с nonce; экраны создания, раскрытия и отслеживания.
Публичный сайт
Функции, безопасность, датированные сравнения, FAQ, сценарии использования, инструменты, юридические страницы, «Что видит сервер», состояние сервиса и прозрачность.
Запуск
Заявлен реальный хостинг (Париж для приложения, Франкфурт для базы данных), семь языков, бюджет производительности, проверяемый при каждом изменении, вёрстка, согласованная с kayzen-lyon.com.
Другие платформы
Расширение, настольная и мобильная версии и командная строка разработаны на том же ядре; публикация в магазинах приложений ожидается. Внешний аудит запланирован до версии 1.0.
О чём нас часто спрашивают.
Другие проекты
Кибербезопасность & Кроссплатформенное приложениеSésame
Менеджер паролей, который не может прочитать ваши пароли: доказательством стала сама архитектура.
Соответствие GDPR & SaaSKonsent by Kayzen
Разработчик баннеров, который сам же их проверяет, — судья в собственном деле: независимость и была продуктом.
Наступательная кибербезопасность & SaaSSentinel by Kayzen
Продавать продукт безопасности инженерам: каждое утверждение должно было быть доказуемым.
Тот же уровень требований — для вашего сайта.
Бесплатный аудит вашего текущего сайта, смета в течение 24 часов и письменное обоснование — такое же, как то, что вы только что прочитали. Оплата в три этапа без переплаты; местные программы поддержки проверяются до подписания.