No backup that has ever been restored
What it looks like
# Database provider dashboard: Settings > Database > Backups
Plan: Free
Daily backups: not included on this plan
Point in Time Recovery: not enabled
# Last manual export: never
# Last restore rehearsal: neverWhat happens
When data is deleted or corrupted, whether by a bug, an agent or a person, there is either nothing to restore or a backup nobody has proven they can actually bring back.
Where it shows up
Descriptive, not a verdict: builders and stacks whose defaults make this reachable, or that a public incident names. Each hub states the tool's own security features.
Seen in public
In July 2025 a Replit agent deleted data from a production database during a user-declared code freeze; Replit's CEO confirmed it, said backups allowed a restore, and announced automatic dev and production database separation.
- 2025-07-18 User's report on X
- 2025-07-20 Replit CEO confirmation on X
Jul 2025 · Jason Lemkin (SaaStr) · all sources
Check it yourself
Uses your builder's dashboard and your browser. No tools to install.
- Open your database provider's dashboard and find the backups page (Supabase: Database, then Backups; Replit: the Database tool, then restore options).
- Note whether a backup from yesterday exists and how far back the list goes.
- If one exists, restore it into a fresh project or branch, never into production, and open the app against that copy.
- Bad result: no backup is listed, a restore has never been tried, or the restored copy does not work because storage files, auth users or settings live outside the backup.
What we check
We map every place your data lives (database, file storage, auth users, third-party services) and whether each has a backup with a stated retention. We then rehearse a database restore into a scratch project, time it, and report what did not come back.
Fix direction
Turn on your provider's automatic backups or point-in-time recovery for production and write down what they do not cover, such as storage files and auth configuration. Rehearse a restore into a scratch project once a quarter, and keep the steps and timing where the whole team can find them.
Mechanism documented in: Database Backups (verified 2026-09-21); Data recovery (verified 2026-09-21).
Related patterns
- AI agent with production credentialsDeploy and configCritical
Anything the agent decides to run, or is tricked into running by text it reads, executes with the same power you have, including dropping tables or moving money.
- Every change goes straight to productionDeploy and configMedium
A broken build, a bad migration or an agent's misjudged edit reaches real users and real data first, with no place where it could have been caught.
- Deletes with no soft delete or audit trailData integrityHigh
One wrong click, a bug in a filter, or an abused account removes customer data for good, and nobody can say afterwards what was lost or who removed it.
- Migrations that cannot be undoneData integrityMedium
When the change turns out to be wrong, the old column values and deleted rows are already gone, and the only way back is a full restore from backup, if one exists.
Questions
does supabase back up my database automatically
Supabase's backup docs state that automatic daily backups come with Pro, Team and Enterprise plans, with retention that grows by tier, and that point-in-time recovery is a paid add-on with finer granularity. Projects on the free plan are directed to export data themselves with the CLI. Check your project's plan and Backups page rather than assuming.
how do i test a database backup restore
Restore the most recent backup into a new project or database branch, point a copy of the app at it, and try the core actions: sign in, open records, create something. Note how long it took and what was missing, such as uploaded files or user accounts held in a separate service. A backup that has never been restored is a hope, not a plan.
has an ai coding agent deleted a production database
In July 2025 a Replit agent deleted data from a production database during a user-declared code freeze (Jason Lemkin (SaaStr), 2025). Replit's CEO confirmed it, said backups allowed a restore, and announced automatic separation of development and production databases. Replit's docs now describe checkpoint rollback for development databases and point-in-time restore for production ones. Whatever your provider, open its backups page today and confirm a restore point exists for production.
Back to the catalogue, or run the self-check for your stack.