BackupDrillJoin waitlist

DISASTER RECOVERY FOR SUPABASE

Your Supabase backup can’t restore Storage files. Did you know?

Database restores only bring back storage.objects metadata — your actual files live elsewhere. BackupDrill snapshots your database and Storage files into your own bucket, then runs scheduled drills that actually restore your database — proof, not hope.

First 30 on the list use the private beta free for 4 weeks. From $19/mo at launch — Supabase PITR is $100/mo per project.

weekly-drill · acme-prodPASS

$ backupdrill drill --project acme-prod

snapshot fetcheds3://acme-backups/2026-07-03

temp postgres 16provisioned

pg_restore142 tables in 8m 12s

row counts1,482,304 = manifest ✓

sampled checksums500/500 primary keys ✓

RESULT: RESTORABLE ✓restore time 11m 04s

report sent → email · slack

The report you’ll get after every drill — from a real restore, not a checkbox.
DB + STORAGE IN ONE SNAPSHOTYOUR BUCKET, YOUR KEYSSCHEDULED RESTORE DRILLS

Why this exists

A backup you’ve never restored is a guess.

Storage files don’t come back

Restoring a Supabase database only restores storage.objects — the metadata. The actual files live in a separate object store, so a restore hands you a bucket index full of pointers to files that no longer exist.

Official backups live inside Supabase

Pro-plan backups keep 7 days, can’t be downloaded to your own infrastructure, and disappear with the project. The official fix is PITR at $100/month per project — and it still doesn’t cover Storage files.

Untested backups fail silently

Truncated dumps, a schema that no longer restores, a snapshot that quietly shrank 40% — you only find out during a real outage. The first time you test a restore shouldn’t be the day you need it.

How it works

Backup is step one. Proof is the product.

  1. 01

    Connect in 10 minutes

    Paste your Session Pooler connection string. We give you the exact SQL to create a read-only backup_reader role — we never ask for your service_role key. First backup completes in minutes.

  2. 02

    Back up to your bucket

    Daily on paid plans, weekly on Free: pg_dump (custom format) + a full Storage file sync + a manifest with row counts and checksums — written straight to your own S3, R2, or B2 bucket. Bytes stream through our workers and never land on our disks.

  3. 03

    Drill the restore, on schedule

    We spin up a temporary Postgres, run a full restore, and verify table counts, row counts, and sampled checksums against the manifest — weekly on Team and Agency, monthly on Solo. You get a graded report with the measured restore time. Failures, >30% size drops, or slow runs alert you within 15 minutes.

Planned pricing

A fifth of the cost of PITR — with proof.

Supabase PITR: $100/mo per project, Storage files not included. Final numbers may shift before launch — waitlist members hear first.

Free

For side projects

$0/mo

  • 1 project
  • Weekly backups
  • 3 snapshots retained
  • Your own S3/R2/B2 bucket
Join waitlist

Solo

POPULAR

For products with real users

$19/mo

  • 3 projects
  • Daily backups
  • Monthly restore drills
  • Email alerts
  • Up to 10 GB per project
Join waitlist

Team

For small teams

$49/mo

  • 10 projects
  • Daily backups
  • Weekly restore drills
  • Slack + webhook alerts
  • Up to 25 GB per project
Join waitlist

Agency

For client work

$99/mo

  • 30 projects
  • Weekly restore drills
  • PDF client reports
  • Priority support
Join waitlist

Annual billing: pay for 10 months. Extra capacity: $5 per 10 GB per project.

FAQ

Fair questions.

Where do my backups actually live?

In your own S3, R2, or B2 bucket — you bring the bucket, you hold the keys. Backup bytes stream through our workers and are never written to our disks. If you cancel tomorrow, every snapshot is still yours.

How is this different from Supabase PITR?

PITR gives you point-in-time recovery for $100/month per project — and still doesn’t cover Storage files. We sell verified daily snapshots of your database and Storage together, starting at $19/month. If you need sub-24h recovery points, run both: they solve different problems.

What access do you need?

A read-only backup_reader role (we give you the SQL to create it) and your Session Pooler connection string. We never ask for your service_role key or dashboard access. Credentials are sealed with envelope encryption.

What happens in a restore drill?

We provision a temporary Postgres, restore your latest snapshot into it, verify table counts, row counts, and sampled checksums against the backup manifest, measure the wall-clock restore time, then destroy the instance. The report lands in your inbox or Slack.

When can I use it?

Private beta opens soon. The first 30 people on the waitlist get the private beta free for 4 weeks — in exchange for honest feedback. We’re also open-sourcing our backup CLI (MIT) — the cloud service adds scheduling, drills, alerts, and reports on top.

Prove your backup restores — before you need it to.

Join the waitlist for the private beta. The first 30 get it free for 4 weeks — in exchange for honest feedback.