-
-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Evie edited this page Apr 29, 2026
·
2 revisions
Monorepo layout:
apps/
server/ Fastify + SQLite + Crypto + Playwright + PDFKit
web/ React + Vite dashboard and mobile view
desktop/ Electron wrapper for local packaged runtime
- Fastify API server
- better-sqlite3 local DB
- Node crypto (scrypt KDF + AES-256-GCM)
- Playwright automation runtime
- PDFKit for recovery kit generation
- React + TypeScript + Vite
- Themed split-pane dashboard
- QRCode rendering for mobile sync
- Fontsource typography bundle for a distinctive visual style
- Electron shell for bundled local desktop runtime
- electron-builder packaging (NSIS installer target on Windows)
- Master password is never stored.
- Master password is transformed with scrypt into a 256-bit key.
- Database stores:
- Encrypted canary string (
auth_success) for unlock validation. - Wrapped Data Encryption Key (DEK) encrypted by master-derived key.
- Wrapped DEK encrypted by recovery-derived key.
- Encrypted canary string (
- Usernames/passwords/notes are stored in a local encrypted vault SQLite database using DEK (AES-256-GCM).
- Active DEK is held only in RAM for active sessions.
- Lock/revoke wipes session key material from memory.
- Unauthenticated recovery import vulnerability
- Unsafe default LAN exposure
- Overly permissive CORS policy
- Mobile QR token over-privilege
- Recovery reset session persistence vulnerability
- Unsafe URL validation and automation target risks
- Automation job exposure and secret persistence risks
- Raw internal error leakage
- Weak CSV/logo/theme/recovery input limits
- Missing security headers and CSP protections
- Recovery PDF file handling and persistence risks
- better-sqlite3 / Electron runtime compatibility issues
- Node runtime and contributor build inconsistency
SeaViperCascade has not received a formal independent security audit.
Security-sensitive areas still needing review:
- Cryptographic implementation
- Recovery flows
- Mobile sync
- Desktop/Electron boundaries
- Automation engine
- Vault persistence
- Import/export handling
- The recovery code should be stored offline.
- If you lose both master password and recovery code, vault decryption is not possible by design.