Every deletion goes to a 90-day trash bin before permanent removal. Every backup encrypted and verified. Every recovery scenario documented step-by-step. RTO under 30 minutes for critical systems.
| Item | Type | Business | Deleted By | Deleted On | Days Until Purge | Actions | |
|---|---|---|---|---|---|---|---|
| weekend-promo-aromatherapy.png | 🖼 Image | Mindful Wellness | Diego M | 05/24/2026 | 88 days | ||
| customer-testimonial-may.mp4 | 🎬 Video | Bella Vista Spa | Sarah K | 05/23/2026 | 87 days | ||
📄 | Weekend Special Post Draft | 📄 Post | Ocean Breeze | Linh P | 05/22/2026 | 86 days | |
👤 | OLD: Coral Bay Spa profile | 👤 Profile | (client closed account) | Boss | 05/15/2026 | 76 days | |
💰 | PAY-189 · Refund $299 | 💰 Payment | Duval Wine | Carlos R | 05/12/2026 | 73 days | |
| old-logo-v1.jpg | 🖼 Image | Mindful Wellness | Diego M | 03/10/2026 | 12 days | ||
📄 | OLD: Service description v3 | 📄 Post | Serenity Lotus | System | 03/05/2026 | 7 days | |
📧 | Old welcome email v2 | 📧 Message | System-wide | System | 02/28/2026 | 2 days |
Restore from trash bin · maintain history · 5-step procedure
Reverse incorrect refund · audit Stripe + DB · reconcile
Unpublish from all platforms · log audit · restore later
Emergency rotation · revoke all sessions · audit who saw it
Rollback to previous version · investigate · root cause
Restore from latest backup · point-in-time recovery
Full disaster recovery procedure · go-bag instructions
Isolate · restore air-gapped backup · notify counsel
Open the 90-day Trash Bin above · filter by Type = Profile · search for the client name. You'll see them with "Days Until Purge" remaining.
Click "View Backup" to see the full profile state before deletion: name, email, MRR, package, all linked posts, all credentials.
Click "↺ Restore" button next to the row. The client and all their data (posts, payments, credentials, employee assignments) come back in under 30 seconds.
If the client had OAuth connections (Google/Facebook/Yelp), they may need to re-authorize. Send them the standard "Reconnect MakelyOS" email.
Send the client a transparency note: "We restored your account from our automatic backup system. No data was lost." Add an entry to the Audit Log with reason and authoriser.
Talk to whoever deleted by mistake. Add the client to a "do not auto-delete" whitelist if appropriate. Consider enabling 2-key confirmation on delete for VIP clients.
| Layer | Frequency | Retention | Storage | Encryption | Last Run | Status |
|---|---|---|---|---|---|---|
| Supabase DB | Every 1 hour | 90 days | Cloudflare R2 (us-east) | AES-256-GCM | 4h ago | ✓ OK · 4.2MB |
| Vault credentials | Every 6 hours | 365 days | R2 + 1Password backup | AES-256-GCM + Argon2 | 2h ago | ✓ OK |
| Audit log | Continuous (immutable) | 7 years | R2 + WORM bucket | AES-256-GCM | Live | ✓ OK |
| Asset library | Daily 3am UTC | 90 days | R2 + Backblaze B2 | AES-256-GCM | 9h ago | ✓ OK · 1.2GB |
| Site deployments | Per-deploy snapshot | 50 deploys | Cloudflare Pages | built-in | 3h ago | ✓ OK |
| Stripe data | Daily | 365 days | Stripe + local mirror | built-in | 12h ago | ✓ OK |
| Air-gapped offline | Weekly Sunday 4am | Forever (annual prune) | External USB · vault | AES-256 + PGP | 3d ago | ✓ OK |