CryptHub
Overview
CryptHub is an open-source password manager that runs entirely in your browser. Your vault is stored as an encrypted .crypthub file on your filesystem, not inside the browser and not on any server.
All cryptographic operations run locally through the browser’s native Web Crypto API. There are no accounts, no emails, no subscriptions and no telemetry. The only way into a vault is the master password used to create it.
A command-line tool opens the same file from the terminal, so a vault made in the browser works there too, and back again.
At a glance
- Encryption
- AES-256-GCM, authenticated
- Key derivation
- PBKDF2-SHA256, 310,000 iterations
- Salt
- 32 bytes, random per vault, kept in the file header
- IV
- 12 bytes, a fresh random value on every write
- Auth tag
- 16-byte GCM tag; any tampering fails to decrypt
- Session key
- In memory only; cleared on lock or tab close
- Storage
- A local .crypthub file, through the File System Access API
- Browsers
- Chrome and Edge 86+ (not Firefox or Safari)
- Dependencies
- None: Web Crypto in the browser, Node’s crypto in the CLI
- Cloud and telemetry
- None
- License
- MIT
- Version
- 1.2.0
How it works
- Open CryptHub in Chrome or Edge, or unlock from the terminal with crypthub open.
- Create a new vault, or open an existing .crypthub file from your device.
- Enter your master password. It derives a 256-bit AES-GCM key through PBKDF2.
- The vault decrypts into memory. Every change re-encrypts and writes back to the file immediately.
- Lock at any time. The session key is cleared from memory and the file on disk stays encrypted.
Features
- Auto-save, always encryptedEvery add, edit or delete re-encrypts the whole vault with a new IV and writes it back to the file. There is no save button.
- Tamper detectionThe GCM tag is checked on every read. Change a single byte of the file and it refuses to open.
- Password generatorPasswords come from crypto.getRandomValues(), the browser’s cryptographically secure random source.
- Strength meterA password strength meter sits alongside the generator.
- Categories and searchEight categories (General, Social, Work, Finance, Entertainment, Dev/Tech, Shopping, Other) and full-text search across label and username.
- Lock on demandLocking clears the session key from memory. The file on disk stays encrypted.
- A terminal twinThe CLI works on the same .crypthub file with the same password, so the two are fully interoperable.
- Browser checkAn unsupported browser gets a clear message instead of a broken page.
From the terminal
Manage the vault from the shell. Same file, same password, zero dependencies.
crypthub initCreate a new vault with guided setupcrypthub openUnlock a vault and start an interactive sessioncrypthub use <path>Point the CLI at any vault filecrypthub statusShow the current vault configurationcrypthub locateFind every .crypthub file on the system
Inside a session: list, get, show, add, edit, delete, search, dashboard, cls, lock.
Limits, stated plainly
- Chrome and Edge only. Firefox and Safari do not implement the File System Access API, and there is no fallback.
- No master password recovery. If it is forgotten, the vault cannot be decrypted.
- No cloud sync. A vault moves by copying the .crypthub file.
- No formal security audit has been done. The source is open for review.
- A browser cannot guarantee memory is zeroed after a lock. This is a known limit of in-browser cryptography.
Version history
- 1.2.0Apr 11, 2026Added the CLI: init, open, use, status, locate and an interactive session, with zero dependencies.
- 1.1.0Apr 11, 2026Moved from an Electron desktop app to a web-only app. Removed Electron and better-sqlite3. Added security, contributing and deploy docs.
- 1.0.0Jan 15, 2026First release: AES-256-GCM vaults, PBKDF2 key derivation, File System Access storage, a generator and search.
Drawn from:READMELive siteSecurity policyChangelog