Vault and backups

SQLCipher at rest, an Argon2id key derivation, encrypted backups, and a restore path that has actually been tested.

DohFlow's vault Backup screen, showing the encrypted export option with no account data on screen.

Encrypted where it sits

The vault is SQLCipher-encrypted at rest. The key is derived from your passphrase with Argon2id — a memory-hard function chosen because it is expensive to attack in parallel — and key material is zeroed from memory after use rather than left for whatever reads that page next.

Backups you can actually restore

An encrypted backup export is only half a backup. DohFlow’s restore path is tested, not assumed: restore drills are part of the release process, because an untested backup is a belief rather than a backup.

Migrations that refuse to guess

Schema migrations are versioned with drift detection. If the database on disk does not match what the app expects, it stops and says so rather than migrating something it does not understand. For a file holding your financial history, a refusal is the correct behavior.

Several vaults

Keep separate vaults — personal and a side business, say — and switch between them. Each is independently encrypted.

← All features