restoproof backs up your Supabase database to storage you own — then every week it actually restores that backup into a throwaway database and checks every row came back.
Every Supabase project ships this. Restore into another project and pg_restore aborts. restoproof filters database-level objects that collide across projects.
The restore reports success; rows silently didn't land. We compare row counts against a manifest taken at backup time and fail loudly.
pg_dump never carries them. After restore those roles can't log in. We detect custom roles and warn you before it bites.
Read-only connection string in, your own S3 / R2 / B2 out. Your data never lands on our servers.
Each backup is restored into an isolated throwaway Postgres, not just stored and hoped over.
Row counts, RLS policies and checksums verified — a "restore verified" report, or an alert the instant it fails.