Локальный менеджер паролей с шифрованием на стороне клиента. Мастер-пароль не покидает браузер, на сервере хранится только шифртекст.
- Шифрование AES-256-GCM, ключ выводится из мастер-пароля через PBKDF2
- Теги с сортировкой drag-and-drop
- Избранное
- Поиск с подсветкой совпадений
- Три вида списка: таблица, доска, список
- Шесть тем оформления
- Генератор паролей и оценка надёжности
- Импорт и экспорт в JSON и CSV
- Восстановление доступа из резервной копии ключей
- Автоблокировка по таймауту и при переключении вкладки
- Журнал активности
- Мастер-пароль не передаётся на сервер и не сохраняется на диске. Производный ключ живёт только в памяти и выгружается при блокировке.
- Поля
passwordиnoteшифруются на клиенте. Остальные поля (заголовок, логин, URL, тег) хранятся как есть. - Данные лежат в локальном файле
database.db, в репозиторий не попадают. - Соль и verifier шифра хранятся в
localStorageбраузера. При потере браузера доступ восстанавливается из резервной копии ключей (раздел экспорта в Центре безопасности).
npm install
npm run migrate # применить миграции SQLite
npm run dev # http://localhost:3000При первом запуске приложение попросит задать мастер-пароль.
- Next.js 16 (App Router)
- React 19
- TypeScript
- Drizzle ORM + better-sqlite3
- Zustand
- Tailwind CSS 4
- @dnd-kit
- FontAwesome 7
- Сезонные эффекты (снежинки, сердечки и т.п.)