Backup and restore posture for persistent data is evidenced in the repo
Why it matters
This is an evidence-pointer check: it verifies committed evidence of the backup and restore control, which is exactly what an auditor will ask for. It evidences SOC 2 A1.2 (backup and recovery infrastructure) and supports A1.3 and CC7.5 (recovery testing and incident recovery). Auditors do not accept "Supabase probably handles it": they want to see where backups are configured and, crucially, how a restore would actually be executed and by whom. AI-generated and vibe-coded apps typically fail both halves. The scaffolded stack leans on platform defaults nobody has confirmed (Supabase free tier has no PITR; daily backups are not restore rehearsals), and no human ever writes the restore runbook because "how do I restore prod" is not a prompt anyone types until the day the table is already dropped. The GitLab 2017 database incident is the canonical case: five backup mechanisms existed on paper, none restorable when needed, roughly six hours of production data lost. A committed IaC flag or ops doc plus a restore procedure is cheap insurance and the minimum artifact a SOC 2 readiness assessment expects.
Severity rationale
Medium because missing backup and restore evidence does not itself expose data, but it turns any destructive incident (bad migration, dropped table, ransomware) into unbounded data loss and stalls the SOC 2 availability criteria until the evidence exists.
Remediation
Commit both legs of the evidence. Backup leg: either an IaC setting (backup_retention_period = 7 on an aws_db_instance, point_in_time_recovery on DynamoDB, backup_configuration { enabled = true } on a GCP google_sql_database_instance), a scheduled dump job (a pg_dump step in .github/workflows/backup.yml or a Vercel/Supabase cron), or an ops doc such as docs/ops/backup-restore.md stating the platform-managed arrangement ("Supabase Pro, PITR enabled, 7-day window"). Restore leg: in the same doc or a scripts/restore-db.sh, write the concrete restore procedure — the exact commands or the dashboard path plus who is authorized to run it. Platform-managed backups documented in a committed ops doc are acceptable auditor evidence; undocumented platform defaults are not.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the SOC 2 Technical Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- soc2:2017 · A1.2 — Availability — backup and recovery infrastructure (also evidences A1.3, CC7.5)
- iso-27001:2022 · A.8.13 — Information backup
- nist:rev5 · CP-9 — System Backup
Taxons
History
- 2026-07-03·v1.0.0·Initial soc2-readiness v1 authoring — merged owner of backup and restore evidence, requiring both a backup leg and a restore leg committed to the repo.·by soc2-readiness-v1-build