How bluviper/securevault works
SecureVault is an offline-first password manager delivered as a browser app and a Manifest V3 extension. The main workflow initializes or unlocks a vault, derives a key and decrypts credentials, then supports managing, importing/exporting, and optionally syncing encrypted vault data. The extension adds its own popup unlock and domain-aware credential selection before dispatching autofill to the active page. The sampled app excerpt confirms encryption, local persistence, entry management, imports/exports, and GitHub sync; other documented capabilities are represented only where README evidence supports them.
Main entry points: app.js Vault logic · popup.js Extension popup · service_worker.js Extension session and dispatcher · index.html Vault interface
Components 16
Core Vault
- Vault interface
src/index.html - Vault logic
src/app.js - Key derivation and encryption
src/app.js - Browser local storage
Credential Tools
- Credential ledger
src/app.js - Password security analysis
src/app.js - Password generator
src/app.js - Vault imports
src/app.js - Vault exports
src/app.js
Browser Extension
- Extension popup
extension/popup/popup.js - Extension session and dispatcher
extension/background/service_worker.js - Page autofill
extension/content/content.js
Encrypted Portability
- Encrypted vault file
- GitHub repository
Other components
- Vault user
- Active browser page
Connections 20
- Vault user → Vault interface: opens
README.md - Vault interface → Vault logic: invokes
- Vault logic → Key derivation and encryption: derives and encrypts
src/app.js - Vault logic → Browser local storage: persists encrypted data
src/app.js - Vault logic → Credential ledger: renders and edits
src/app.js - Credential ledger → Password security analysis: assesses strength
src/app.js - Vault logic → Password generator: generates passwords
src/app.js - Vault logic → Vault imports: imports records
src/app.js - Vault logic → Vault exports: exports records
src/app.js - Vault logic → Encrypted vault file: exports encrypted payload
src/app.js - Encrypted vault file → Vault logic: loads payload
src/app.js - Vault logic → GitHub repository: pushes encrypted payload
src/app.js - GitHub repository → Vault logic: pulls encrypted payload
- Vault user → Extension popup: uses extension
README.md - Extension popup → Key derivation and encryption: derives and decrypts
extension/popup/popup.js - Extension popup → Extension session and dispatcher: stores or clears session
extension/popup/popup.js - Extension popup → Active browser page: detects active domain
extension/popup/popup.js - Extension popup → Extension session and dispatcher: requests autofill
extension/background/service_worker.js - Extension session and dispatcher → Page autofill: dispatches credentials
extension/background/service_worker.js - Page autofill → Active browser page: fills form fields
extension/content/content.js