Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

EnigmaKeep

EnigmaKeep is a password manager that runs in your browser and keeps everything on your own devices. There is no account to create and no server holding your vault. Your passwords, two-factor codes, notes and files live in one encrypted file that only you can open.

What changed in each version is in CHANGELOG.md.

Screenshots

EnigmaKeep landing page

Passwords viewTwo-factor codes
Passwords, with copy buttons and a per-entry menuTwo-factor codes with a countdown
Security settingsGuardian recovery schedule
Security settings: Secret Key, biometrics, master passwordGuardian recovery with a graded delay: more guardians, shorter wait
Unlock screenMobile
Unlock with the master password, Secret Key or biometricsThe same vault on a phone

What it does

The app stores logins, TOTP codes, secure notes and arbitrary files (with folders, preview and editing) inside the vault. It generates passwords, checks their strength and imports from 1Password, Bitwarden, LastPass, Chrome and CSV or JSON exports. You can install it as a PWA on desktop and mobile, and it works offline once loaded.

On the security side:

How it works
Vault encryptionAES-256-GCM, fresh random salt and nonce on every save
UnlockingMaster password through PBKDF2-SHA-256 (600,000 iterations), combined with a 128-bit Secret Key kept on your devices (HKDF). A stolen vault file can't be brute-forced from the password alone.
New devicesScan the Secret Key's QR code from your printed Emergency Kit, once per device
Biometric unlockWebAuthn PRF: the key that wraps your master password only exists after your device's authenticator verifies you
Recovery phrase12-word BIP-39 phrase that opens a separate, always-current recovery copy of the vault
Guardian recoveryOptional. Trusted people hold shares; a set number of them plus the vault file plus a minimum delay of sequential computation are needed, so you have time to notice and cancel. The delay can shrink as more guardians cooperate, and the puzzle is replaced on every save, so a finished recovery opens only the version it started from.
Decoy vaultOptional. A duress password opens a harmless decoy from the same file; the real vault hides in random padding that every file carries, so a single copy of the file cannot show that a hidden vault exists
Rollback detectionEach save is stamped inside the ciphertext; a device warns when a file is older than the version it last opened
Vault fileHeader-less blocks of ciphertext followed by random padding; no readable metadata
In the browserStrict Content Security Policy in production, auto-lock, clipboard clearing, local encrypted snapshots

If you lose the master password, the Secret Key, the recovery phrase and your guardians' cards, nobody can open the vault, including us. That is the point of zero knowledge, so keep your Emergency Kit and recovery phrase somewhere safe.

Report vulnerabilities as described in SECURITY.md.

Benchmark your device

Guardian recovery makes a computer work for the delay the owner chose, and browsers are slower at this than native code. Open /bench (for example enigmakeep.com/bench) to measure your own device in about 30 seconds and see what a 1-, 7- or 30-day delay would mean on it.

Quick start

git clone https://github.com/hmalvee/EnigmaKeep.git
cd EnigmaKeep
npm install
npm run dev        # http://localhost:5173

npm run build writes a static site to dist/, which you can host anywhere (Netlify, GitHub Pages, your own server). The netlify.toml file contains the production security headers; copy them if you host elsewhere.

Scripts

CommandWhat it does
npm run devDevelopment server
npm run build / npm run previewProduction build and local preview
npm run lint / npm run typecheckESLint and TypeScript checks

Repository layout

src/
  crypto/        encryption, vault format, Secret Key, recovery phrase,
                 Shamir sharing, time-lock puzzles, guardian recovery
  utils/         vault manager, storage, biometric unlock, import/export
  components/    vault UI, login and recovery screens, settings
  workers/       background solver for guardian recovery
  pages/, site/  marketing site, blog and legal pages
public/          static assets, icons, PWA manifest
screenshots/     images used in this README
scripts/         build helpers

Contributing

See CONTRIBUTING.md. Never paste recovery phrases, Secret Keys or vault files into issues.

Support

关于 About

EnigmaKeep is a offline encrypted password manager.
encrypted-storeoffline-password-managerpassword-managerpassword-safetysecure-notepad

语言 Languages

TypeScript86.4%
CSS11.4%
HTML1.3%
JavaScript0.9%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
5
Total Commits
峰值: 3次/周
Less
More

核心贡献者 Contributors