Backups that prove they restore.
Anyone can copy files on a schedule — and find out on the worst day of the quarter that the copies don't restore. OffsiteDB dumps, encrypts, and ships every snapshot to a bucket you own — then restores it into a real Postgres and counts the rows. Your ledger doesn't say “uploaded.” It says proven.
14-day free trial · no card required · works with any Postgres connection string
“The platform has backups” is not a backup strategy.
Platform snapshots live in the same account, same region, same blast radius as your database. They protect the platform from hardware failure. They do not protect you from:
The Friday-night migration
A bad DROP CASCADE, a botched RLS change, an ORM auto-migration that ate a column. Platform PITR windows are short — and on free tiers, nonexistent.
The locked account
Billing failure, compromised credentials, a platform suspension. If your only backups live inside the account you just lost, you don't have backups.
The untested restore
The auditor asks: “where are your off-site backups, and what's your tested restore time?” A folder of never-restored dumps is not an answer. A drill log is.
Every snapshot is restore-drilled. Every month, you get the paper.
This is the part nobody else does. Other tools stop at “file uploaded.” OffsiteDB restores every snapshot into a scratch Postgres cluster, counts tables and rows, measures the clock, and writes it all down.
Restore drills, on real Postgres
initdb → pg_restore → row counts → teardown, for every snapshot. Truncated dumps, bad seals, and corrupt archives are caught the hour they happen — not the day you need them.
The Monthly Restore Drill Report
Backup policy, success rates, drill evidence, and your worst-case observed restore time — auto-generated, emailed, printable. Forward it to the auditor or paste it into the security questionnaire. “Are the backups tested?” becomes a document, not a meeting.
Watchdogs for the silent failures
A deadman alarm fires when backups silently stop running. Table-level diffs catch a shrinking table — a disaster in progress — between snapshots. A bad day gets loud, fast.
Three minutes to your first proven snapshot.
Paste a connection string
Any postgres:// URL — a Supabase direct or session-pooler URL, a Neon branch, RDS. A read-only role is all OffsiteDB needs (the security page has the 5-line SQL). We test the connection before saving and encrypt the credential at rest with AES-256-GCM.
$ postgres://readonly:•••@db.xyz.supabase.co:5432/postgres ✓ connected — postgres @ PostgreSQL 16.4
Point it at your bucket
AWS S3, Cloudflare R2, or any S3-compatible store. Your data lands in infrastructure you control, encrypted before it leaves the worker. We never hold the only copy — by design.
s3://acme-backups/offsitedb/ 2026-06-09T04-00-11_bk_91f3.dump.gz.enc 2026-06-09T03-00-14_bk_88c1.dump.gz.enc
Watch the drill prove it
Every snapshot is a standard pg_dump custom-format archive — and every one is restored into a scratch cluster before it's marked proven. When the bad day comes, you run one command you've already watched succeed hundreds of times.
$ pg_restore -d $NEW_DATABASE_URL \ --clean --if-exists prod-api_2026-06-09.dump ✓ restored 184 tables, 9.2M rows
Never run a migration without a checkpoint again.
One step in CI seals a tagged, restore-drilled snapshot and blocks until it exists — so the migration that goes wrong is the migration you can undo.
# .github/workflows/deploy.yml
- name: Checkpoint before migrating
uses: offsitedb/checkpoint@v1
with:
url: https://offsitedb.com
api-key: ${{ secrets.OFFSITEDB_API_KEY }}
database: prod-api
tag: pre-deploy-${{ github.sha }}
- run: npm run migrateCheaper than one hour of data-loss panic.
Every plan ships the full engine: encrypted dumps, your own storage, restore drills, failure alerts, the monthly drill report. Most teams start on Pro — it adds hourly backups and the CI checkpoint API. Plans scale with how much there is to protect.
- Databases 1
- Cadence Daily
- Retention 30 days
- Restore drills ✓
- Own S3 / R2 bucket ✓
- Monthly drill report ✓
- Databases 5
- Cadence Hourly
- Retention 90 days
- Restore drills ✓
- CI checkpoint API ✓
- Monthly drill report ✓
- Databases 25
- Cadence Hourly
- Retention 1 year
- Restore drills ✓
- CI checkpoint API ✓
- Priority support ✓
The questions you should ask any backup vendor.
What happens to my backups if OffsiteDB shuts down?
What access do you need to my database?
What exactly gets backed up — which schemas?
My database is behind a firewall / IP allowlist.
Can I use my Supabase pooler URL?
How big can my database be, and what's the load during a dump?
Who can see my data?
You will need a backup once.
That day, you'll want one that's already proven it restores. Set it up before you need it.
Start free trial →