Tier: L (1-2 weeks) Type: feature
Context
Some browser-only apps need to keep derived stealth keys around briefly (e.g., to scan, to spend). Today consumers either keep them in memory (lost on reload) or insecurely in localStorage. Provide a passphrase-protected IndexedDB vault.
Scope
KeyVault class wrapping IndexedDB with PBKDF2 + AES-GCM
vault.unlock(passphrase) / vault.lock() / vault.put(label, keys) / vault.get(label)
- Browser-only (Node consumers don't need it)
- Auto-lock on tab idle / blur (configurable)
- Clear documentation that this is not a replacement for hardware wallets
Acceptance criteria
Files to start with
Tier: L (1-2 weeks) Type: feature
Context
Some browser-only apps need to keep derived stealth keys around briefly (e.g., to scan, to spend). Today consumers either keep them in memory (lost on reload) or insecurely in localStorage. Provide a passphrase-protected IndexedDB vault.
Scope
KeyVaultclass wrapping IndexedDB with PBKDF2 + AES-GCMvault.unlock(passphrase)/vault.lock()/vault.put(label, keys)/vault.get(label)Acceptance criteria
Files to start with
src/vault/