Protection you can prove, from backup to restore.
Six things work together so that a Backup Safe backup isn't a hope. It's a file that has been checked, restored and can be recovered anywhere.
Encrypted before it leaves the stream.
Each backup gets its own random 256-bit key and is sealed in authenticated 1 MiB chunks as it streams from your database. Readable data never touches a disk.
- Standard mode: keys are protected by the server master key, so restores need no extra step.
- Own-key mode: keys are protected by a passphrase only you know. Nobody else can read your backups, including us.
Checked after upload, not assumed.
An upload that "succeeded" can still be incomplete or damaged. So right after every backup, Backup Safe downloads the stored copy again and proves it, before it's ever marked as verified.
Restored for real, every day.
Once a day, the newest verified backup of each database is restored into a sealed sandbox running a matching PostgreSQL version, compared object by object with the original, and deleted.
- No network: the sandbox can't reach the internet, your app, or our own servers.
- No privileges: a throwaway role that can't run commands, read files or open connections.
- Hard limits: time, memory and disk caps. Nothing is left behind, even after a crash.
- Good to know: restore tests cover backups up to 5 GB. Larger backups are integrity-verified only, and the dashboard marks them clearly.
Know the moment something's wrong.
Every database has one clear health state, based on its latest backup, never an older good one. When anything fails, you get an email in plain language, with the technical detail one click away.
Restore verification failed for Billing service
Your backup passed integrity checks, but it couldn't be restored successfully. Your database itself was not changed.
Recover anywhere. Even without us.
Download any backup as a standard PostgreSQL file. Or keep the encrypted file and your recovery kit: a single-file offline tool decrypts them on any computer, with no connection to Backup Safe.
// recovery-kit.json — useless without your passphrase { "vaultly_recovery_kit": 1, "key_fingerprint": "DC8F-50FB-30D9-890F-9D0C", "kdf": { "name": "argon2id", "memory_kib": 65536 }, "encrypted_private_key": "q1v…" }
All or nothing. Never half a restore.
Restore into the original or a staging database. The file is authenticated before your database is touched, and the restore runs as one transaction: it completes fully or changes nothing.
The next restore you run shouldn't be your first.
Connect a PostgreSQL database in two minutes, then watch its first backup get encrypted, verified and restore-tested.