Что это такое?
Демонстрация того, как шифровать API-ключи прямо в браузере и разблокировать их с помощью passkey или пароля.
Это демонстрационный проект на TypeScript, показывающий паттерн безопасного хранения секретов в браузере. Вместо хранения API-ключей в открытом виде в localStorage, они шифруются локально. Расшифровка возможна либо через recovery-пароль, либо через passkey...
Для разработчиков, которые хотят безопаснее хранить API-ключи в браузерных приложениях, и для специалистов по безопасности, изучающих современные криптографические паттерны.
Когда вы просите пользователя вставить API-ключ в браузерное приложение, самый простой способ — сохранить его в localStorage или IndexedDB. Но тогда секрет лежит там в открытом виде, и любой XSS или утечка хранилища сразу раскрывает ключ.
Проект генерирует случайный ключ шифрования прямо в браузере, шифрует им секрет (например, API-ключ) и сохраняет только зашифрованный текст. Ключ шифрования дополнительно «заворачивается»: один раз с помощью recovery-пароля (через scrypt), а второй раз — с использованием выхода PRF от WebAuthn passkey. Для расшифровки нужен либо пароль, либо физическое подтверждение через passkey.
Это демонстрационный проект на TypeScript, показывающий паттерн безопасного хранения секретов в браузере. Вместо хранения API-ключей в открытом виде в localStorage, они шифруются локально. Расшифровка возможна либо через recovery-пароль, либо через passkey (биометрию или ключ безопасности). Весь процесс происходит полностью на клиенте, без участия бэкенда. Проект позиционируется как наглядный пример, а не готовое...
Проект использует расширение WebAuthn PRF (Pseudo-Random Function) для получения криптографического материала от passkey, что позволяет использовать его как источник ключей для шифрования, а не только для аутентификации.
Стоит попробовать как образовательный демо-проект, чтобы понять современный паттерн защиты данных в браузере. Для production-использования потребуется серьёзная доработка и аудит.
Проект свежий и актуальный, демонстрирует современный подход с использованием WebAuthn PRF. Активность низкая (11 звёзд, 1 форк), так как это именно демо, а не библиотека.
Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.
Демонстрация того, как шифровать API-ключи прямо в браузере и разблокировать их с помощью passkey или пароля.
Для разработчиков фронтенда и специалистов по безопасности, которые хотят улучшить защиту чувствительных данных в клиентских приложениях.
Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.