Features

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.

01 · ENCRYPTION

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.
Encryptionevery backup
cipherAES-256-GCM, 1 MiB authenticated chunks
data keyrandom 256-bit, one per backup
standard modewrapped by server master key
own-key modeX25519 + Argon2id passphrase
tamper / truncationdetected, refused
plaintext on disknever
02 · INTEGRITY VERIFICATION

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.

Re-download the stored fileexactly what sits in your storage
done
Checksum matchesSHA-256 recorded at upload time
match
Every chunk decryptsauthenticated, nothing missing or reordered
ok
Archive readable end to endread in full by the PostgreSQL restore tool
verified
03 · DAILY RESTORE TESTS

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.
Sandboxisolated
runsPostgreSQL 15 · 16 · 17 · 18
internet / DNSblocked
app database, Redis, hostblocked
comparisonobject by object with the original
after the testdatabase deleted
size limitbackups up to 5 GB
04 · MONITORING & ALERTS

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.

Email alert · exampleBackup Safe

Restore verification failed for Billing service

Your backup passed integrity checks, but it couldn't be restored successfully. Your database itself was not changed.

Production APIverified · restore test passed
Billing servicerestore test failed · alert sent
Analytics warehouseverifying
05 · INDEPENDENT RECOVERY

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…"
}
06 · ONE-CLICK RESTORE

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.

Choose a verified backupany backup still within your retention
1
Pick the target, type its nameno accidental overwrites
2
Authenticated, then restoredone transaction, rolled back on any error
complete

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.