TL;DR: Database backup best practices come down to three questions. Does a backup run on its own? Can you roll back to a moment, not just to last night? And have you ever tested a restore? Most vibe-coded apps fail all three. Paid database tiers tend to run daily backups. But point-in-time recovery is an add-on you must turn on. And nobody tests restores. Our free scan grades reliability on your live app in about a minute.

The AI wrote your schema. It wired up auth. It may have added a nice dashboard. It never asked what happens when a bad change wipes a live table at 2am. That talk does not happen in a Lovable or Bolt chat window. The tool's job is to ship features. So far, no one's job has been to keep the data those features create safe.

QuestionAnswer
Do platforms back up by default?
Paid tiers usually run daily backups. Retention varies by plan. Check yours.
What is point-in-time recovery?
Roll back to a chosen moment, not just last night's copy. Most often an add-on.
Is a persistent disk a backup?
No. It survives restarts, not a bad change or a stray DELETE.
What step does everyone skip?
Testing a restore. An untested backup is a theory, not a plan.
Is this a legal issue too?
Yes. GDPR Article 32 says you must restore personal data in good time.
How do I check my app?
Free scan. Reliability is one of the four grades. About a minute.

Why vibe-coded apps have a backup blind spot

The pattern is the same one we see across all of vibe coding. It works, so nobody checks. The working app is there. The backup rules, the recovery plan, the tested restore? Missing. AI builders chase features that demo well. A backup plan has no demo. It stays unseen until the exact moment you need it.

The wider numbers say how common this is. Symbiotic Security scanned 1,072 AI-built apps: 98% had at least one flaw, and 16% had critical issues. CMU's SusVibes study found flaws in 61% of AI-written code. Across 100 apps we scanned ourselves, the average Launch Readiness Score was 42/100. Backup gaps sit in the same blind spot as the auth flaws. Nobody looked, because it all seemed to work.

What platforms back up by default

"My platform has backups" is not a plan. It is a rumor until you check your own tier. Here is the honest picture.

LayerWhat you get by defaultWhat you do not get
Supabase free tierThe basics for building. No safety net you should rely on.No point-in-time recovery. Do not park real customer data here.
Supabase paid tiersDaily backups run for you. How long they are kept varies by plan.Point-in-time recovery is an add-on. Off until you turn it on.
Host persistent disksFiles survive deploys and restarts.No rollback point. A bad write is permanent.
Your own laptop dumpBetter than nothing.Stale the day after you make it. Not a system.

Supabase is the default database for most vibe-coded builds, so start there. The shape to remember: daily backups come with paid tiers. How long they are kept varies by plan. Point-in-time recovery (PITR) is a separate switch. If nobody turned that switch on, you do not have it. Your way back stops at "whatever happened last night."

One more thing while you are in that dashboard. A backup of a wide-open database is just a copy of a breach waiting to happen. Check that RLS is on for every table. Check that each policy is scoped to the row's owner. Our RLS policies guide covers the SQL, and the free RLS checker probes your live app for the gap.

A persistent disk is not a backup plan

Hosts like Render offer persistent disks. They solve a real problem. Your files survive deploys and restarts. That is all they do. A disk does not protect you from a bad deploy that overwrites data. It does not protect you from a DELETE with no WHERE clause. It does not give you a point to roll back to.

Founders mix up two ideas here. Storage keeps data alive right now. Backups give you a way back to how things were before. The first is table stakes. The second is the safety net. Many founders guess that the cloud host quietly backs it all up. That guess is wrong. It leaves an app with no way back on the day something breaks.

Point-in-time recovery: the switch nobody flips

Point-in-time recovery is the best-value setting most vibe-coded SaaS founders never touch. PITR restores the database to a chosen moment — not just to the last nightly copy.

Here is why the gap costs so much. A bad change runs at 3:47pm. Your only backup is from midnight. You lose almost sixteen hours of orders and signups. With PITR, you roll back to 3:46pm and lose almost nothing. Turning it on takes a few clicks on a paid tier. Leaving it off is also a choice. You are making it by default, whether you meant to or not.

Testing a restore: the step everyone skips

A backup nobody has restored is a theory, not a safety net. This step splits a real plan from a warm feeling. It is also the step almost everyone skips. The button gets clicked for the first time during the real thing. That is the worst moment to learn your backup is broken, partial, or too slow.

The fix is boring and it works:

Set a calendar reminder. Once a quarter, minimum. Spin up a staging copy. Never restore over production to test. Restore your latest backup and time it. Compare that time to how long your app can stay down before customers notice. Check the data. Row counts, recent records, one real user journey. A restore that finishes but loses the last day of writes is a failed restore.

The checklist

Run through this before you call your app launch-ready.

1. Write down how often backups run and how long they are kept. Get it from the dashboard, not from memory.
2. Turn on PITR if your platform offers it.
3. Keep at least one backup copy outside your main host.
4. Lock backup storage so a stolen account cannot wipe your history.
5. Write down who can run a restore. "Whoever recalls the password" is not an answer.
6. Test a real restore at least once each quarter, and time it.
7. Check how long you keep backups against your own privacy policy and GDPR duties.

The legal layer: GDPR and the EU AI Act

Backups are not just a tech concern. GDPR Article 32 requires "the ability to restore the availability and access to personal data in a timely manner" after an incident. Read that again. It is a legal duty dressed up as a tech task. If your restore does not work, your GDPR stance does not work. It does not matter how polished the policy page looks. Our GDPR guide walks the full data side.

Does your product have an AI feature facing EU users? Then there is a second layer. Article 50 of the EU AI Act applies from August 2, 2026: users must be told they are talking to an AI, with fines up to €15 million or 3% of global turnover. Where your users sit is what counts, not where your office is. Our Compliance Wing runs 60 automated checks across both. That includes whether your recovery setup holds up, not just whether a policy page exists.

Where this sits in an audit: the reliability dimension

Most people picture an audit as a hunt for SQL injection or an exposed API key. That is half the job. Every scan we run grades four things: security, reliability, performance, and monitoring. Backups sit inside reliability, next to error handling and retry logic. The question it asks is blunt. If the main database vanishes tomorrow, who restores it, from where, and how fast?

An audit that skips this checks whether the front door is locked while ignoring whether the house survives a fire. That is why reliability gets its own grade in every sample report, scored the same way for every app. The full rules are on our methodology page. While you check the locks, the free security headers checker and rate limit checker cover two more gaps that tend to show up with this one.

What checking this costs

The free scan is $0. Give it your live URL. You get a Launch Readiness Score out of 100 across all four areas, reliability included, in about a minute. The full Launch Readiness Audit is $499, one time. You get a branded report, a ranked fix plan with time costs, a benchmark against 200+ audited apps, and a senior review of each finding. Want the fixes done for you? Done-for-you setup is $1,999 — a named CTO ships every change as a pull request you approve, then continues at $2,999/mo. If your stack runs on Supabase, the Supabase security audit page lists everything we probe.

FAQ

Does Supabase back up my database by default?

On paid tiers, yes — daily backups run for you, and how long they are kept varies by plan. Point-in-time recovery is a paid add-on you must turn on yourself. If nobody on your team switched it on, you do not have it.

What is point-in-time recovery?

It rolls your database back to a chosen moment, not just to last night's copy. A bad change at 3:47pm? Roll back to 3:46pm and lose almost nothing. Without it, you lose all writes since the last backup.

Is a persistent disk the same as a backup?

No. A disk survives a restart. It does not survive a DELETE with no WHERE clause, a bad deploy, or a broken migration. Storage keeps data alive. Backups give you a point to go back to. You need both.

How often should I test a restore?

At least once a quarter. Restore your latest backup to a staging copy. Time it. Check the data. A backup you have never restored is a theory, not a safety net.

Do backups matter for GDPR?

Yes. GDPR Article 32 requires you to restore access to personal data in good time after an incident. If your restore does not work, that duty is not met. It does not matter how good your policy reads.

Does a security scan check backup readiness?

Ours does. Reliability is one of the four grades in every Launch Readiness Score, next to security, performance, and monitoring. The free scan takes about a minute. It needs no code access.

Your backup plan is written down, switched on, and tested — or it is a hope. The gap between the two is one afternoon of work. The pattern matches the rest of our vibe coding security guide: the code works, the defaults do not. Find out which state you are in before your users do.

Could you restore your database today?

Scan your live app. No code access. Reliability is one of the four grades in your Launch Readiness Score.

Run the free scan — $0