Security Documentation
This page documents Aegis Firma's disaster recovery objectives, backup procedures, and recovery steps. Last reviewed: 2026-04-18.
RTO — Recovery Time Objective
4 hours
Maximum acceptable downtime before service is restored
RPO — Recovery Point Objective
24 hours
Maximum data loss window (last successful backup)
| Component | Provider | Frequency | Retention | Recovery Method |
|---|---|---|---|---|
| PostgreSQL database | Supabase | Daily WAL + 7-day PITR | 30 days | Supabase dashboard → Restore point |
| File storage (evidence, docs) | Supabase Storage | Supabase replication | Until deleted by user | Supabase dashboard → Object recovery |
| Application code | GitHub | Every push | Indefinite | git clone + deploy from tag |
| Cloudflare Workers/Pages | Cloudflare | Per deployment | 90 days | Cloudflare dashboard → Rollback deployment |
| Environment secrets | Cloudflare + Supabase vault | Manual rotation log | Documented in 1Password vault | Restore from 1Password + re-deploy |
Backup restore tests are performed quarterly. Results are documented here. A test consists of restoring to a staging environment and verifying data integrity.
| Date | Component | Restore Point | Duration | Result | Tested By |
|---|---|---|---|---|---|
| 2026-04-01 | PostgreSQL | 2026-03-31 00:00 UTC | ~12 min | Pass | Owner |
| Next scheduled: Q3 2026 (July 1–15) | |||||