The sync pipeline
Every recording moves through a state machine — recorded, uploaded, synced — with retry-and-backoff, a terminal blocked state, and nothing deleted before it is safely synced.
Data layer
Where CallVault keeps things — an on-device SQLite database as the source of truth, recording metadata in Supabase, and audio backups in FilesHub.
Security & privacy
CallVault's posture — your-server-only with no third-party trackers, HTTPS everywhere, an optional app lock, sensitive files in private storage, and strict database rules.
One codebase, two builds
CallVault builds a native Android recorder and a web dashboard from a single Flutter codebase — kept apart by keeping device-only code out of the web build.