# Playbook: Accidental Delete / Data Corruption **Triggers:** deleted repo, dropped table, bad migration, destructive script, bad Ansible run. ## Steps 1. **Stop writes** — scale deployment to zero, enable maintenance mode, or revoke DB write access. 2. **Assess scope** — what was deleted/corrupted, when, last known good state. 3. **Clone backup to staging** — never restore directly over production first. 4. **Identify last good point** — backup timestamp, git ref, DB snapshot. 5. **Restore selectively** — one repo, one table, or one PVC — not full blast restore unless required. 6. **Diff** — compare staging restore against current production; list deltas. 7. **Apply to production** — merge recovered data; re-run migrations if needed. 8. **Resume writes** — remove maintenance mode; monitor. 9. **Document** — `TestEvidence/` note with RPO achieved; update registers if backup gap contributed. ## Fast rollback If local snapshot or recent git push exists, prefer that over full restore. ## References `RTO-RPO-Matrix.md` · `BackupPolicy.md` · `AssetRegister.yaml`