Firestore PITR and Scheduled Export Backups for Solo Flutter + Firebase Founders in 2026
Indie Flutter apps on Firestore often ship Crashlytics, Perf Monitoring, and cost alerts first—then discover that a bad migration, a buggy admin tool, or an accidental delete has no rollback path. Firebase documents three complementary tools: Point-in-Time Recovery (PITR), scheduled database backups, and managed exports you can schedule with Cloud Functions + Cloud Scheduler. This 2026 guide covers a practical solo-founder cadence: when to enable PITR, how scheduled backups differ from exports, and what to verify after a restore. Pair it with a Firestore Security Rules review cadence, Cloud Functions cost alerts and budgets, and Performance Monitoring triage. It extends ship and post-launch loops in ship Flutter Firebase apps as an indie developer and indie product ops after launch. Cite official Firebase Firestore PITR, backups, and schedule-export docs; UI labels and CLI flags move. Portfolio: gspteck.com.
Why solo founders need a backup cadence (not just rules reviews)
Security Rules and App Check reduce abuse; they do not undo a mistaken bulk delete or a bad write from an admin script. Official Firebase docs describe PITR as retaining document versions for up to seven days after enablement (minute granularity), scheduled backups as daily/weekly consistent copies you restore into a new database, and scheduled exports as Cloud Scheduler–driven managed exports to Cloud Storage.
Common indie failure modes without backups:
- A one-line migration wipes or corrupts a collection with no way to read “yesterday.”
- Staging and production share habits, so a console click in the wrong project is irreversible.
- Exports exist as a manual ritual that nobody ran before the incident.
- Cost alerts fire for Functions—but nobody budgeted PITR storage or export read ops.
PITR is disabled by default and has no free-tier storage; scheduled backups and managed export/import require Blaze. Plan cost alongside your existing Functions budgets.
A minimal weekly / monthly backup cadence
- Enable PITR on production — After you understand PITR storage pricing, turn it on so the 7-day window starts retaining versions (you cannot retroactively read 7 days immediately after enablement).
- Create backup schedules — Up to one daily and one weekly schedule per database; set retention (docs allow up to 14 weeks). Backups live in the same location as the source database.
- Schedule exports to GCS — Follow Firebase’s schedule-export solution: Cloud Function calling
exportDocuments+ Cloud Scheduler; use a nearby non–Requester Pays bucket; grant Import/Export Admin + Storage Admin to the function’s service account. - Dry-run restore literacy — Know how you would restore a backup to a new database ID, reapply TTL policies (not included in backups), and re-check IAM—without improvising during an outage.
- Pair with cost and rules — Same calendar block as Functions budgets and rules review: export reads and PITR storage should not surprise you after a viral week.
PITR exports cannot replace a durable off-database copy; scheduled backups and GCS exports cover longer retention and disaster scenarios beyond the 7-day PITR window.
What to watch on Flutter + Firebase specifically
- PITR window — Minute-granularity versions for surgical stale reads or full export/clone at a whole-minute timestamp within seven days (not earlier than
earliestVersionTime). - Scheduled backups — Consistent copies of data + index configs; restores create a new database; TTL policies are not in the backup.
- Scheduled exports — Each export incurs one read per document exported (may not show in console usage the way you expect—budget explicitly).
- Staging vs production — Separate Firebase projects so restore drills and export tests do not touch live user data—same separation habit as App Check.
- Rules still matter — Backups do not fix open rules; keep the rules review cadence and App Check staging habits.
Incident response when data is wrong or missing
- Stop the bleed — Disable the bad admin path (Remote Config / feature flag); ensure rules and App Check still fail closed—see Remote Config kill switches.
- Choose recovery mode — Surgical stale read / rewrite for a small subset (PITR); full backup restore or PITR export/import into a new database for widespread corruption.
- Verify before cutover — Spot-check critical collections; reapply TTL; confirm IAM on the new database.
- Short postmortem — Note root cause next to Crashlytics/Perf notes; adjust schedules if retention was too short.
Restores to a new database ID mean your Flutter apps must be pointed at the restored DB (or you migrate data back)—practice the cutover story before you need it.
Ops pairing with Flutter product cadence
Put PITR/backup checks next to Crashlytics, Perf, and billing budgets in one weekly block. A viral release can raise export costs and Functions invocations together. Align backup retention and export bucket access with store privacy commitments—see product ops and policy. Pair with Crashlytics weekly triage so data loss and crash spikes are not reviewed in isolation.
Checklist for indie Firestore PITR and backups
- Blaze enabled; PITR pricing understood before turning on production PITR.
- Daily and/or weekly backup schedules with retention set; list backups periodically.
- Scheduled export Function + Scheduler + GCS bucket IAM verified; test “Run now” once.
- Documented restore path to a new database ID; TTL reapply + IAM check on the checklist.
- Same session as Functions cost glance + rules review; staging project separate.
- Re-verify current PITR, backups, and schedule-export steps in official Firebase Firestore docs.
Key takeaways
- PITR, scheduled backups, and GCS exports solve different recovery windows—use them together.
- Enable PITR early; it does not backfill a full 7-day history the day you turn it on.
- Restores create new databases; practice cutover and TTL/IAM reapply.
- Budget PITR storage and export reads alongside Functions cost alerts.
- Affiliates empty; no invented RPO/RTO SLAs or frozen console click-paths as eternal truth.
Operational guidance for indie developers—not a guarantee of zero data loss or free restoration. Confirm current Firestore PITR windows, scheduled backup retention limits, restore behavior, and schedule-export IAM in official Firebase / Google Cloud documentation for your projects. Last verified 2026-10-04.