Boss ControlDisaster Recovery
90-Day Insurance · Restore in Minutes

Disaster Recovery · Your Safety Net

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.

📊 Recovery Posture · All Systems

📦
DB Backups
90d
Encrypted · R2 · 4h ago
Offsite Replication
100%
Cloudflare R2 · auto-rotate
🗑
Trash Bin
1,247
items recoverable · 90 days
🔑
Recovery Keys
Vault + QR backup
RPO
< 1h
Max data loss window
RTO
< 30m
Max recovery time
📋
Runbook
100%
All scenarios documented
🎯
Last Drill
15/04
Next: 06/15/2026

🗑 90-Day Trash Bin All deletions recoverable for 90 days · then auto-purged

All1,247 🖼 Images487 🎬 Videos62 📄 Posts214 👤 Profiles8 💰 Payments12 📋 Documents186 📧 Messages278
ItemTypeBusinessDeleted ByDeleted OnDays Until PurgeActions
weekend-promo-aromatherapy.png🖼 ImageMindful WellnessDiego M05/24/202688 days
customer-testimonial-may.mp4🎬 VideoBella Vista SpaSarah K05/23/202687 days
📄
Weekend Special Post Draft📄 PostOcean BreezeLinh P05/22/202686 days
👤
OLD: Coral Bay Spa profile👤 Profile(client closed account)Boss05/15/202676 days
💰
PAY-189 · Refund $299💰 PaymentDuval WineCarlos R05/12/202673 days
old-logo-v1.jpg🖼 ImageMindful WellnessDiego M03/10/202612 days
📄
OLD: Service description v3📄 PostSerenity LotusSystem03/05/20267 days
📧
Old welcome email v2📧 MessageSystem-wideSystem02/28/20262 days
8 of 1,247 items shown · ⚠ 3 items expire within 14 days

🚨 Recovery Scenarios Click any scenario for step-by-step procedure

🧯 Client deleted by mistake

Restore from trash bin · maintain history · 5-step procedure

⏱ ~3 minutes

💸 Payment refund error

Reverse incorrect refund · audit Stripe + DB · reconcile

⏱ ~5 minutes

📤 Post published by accident

Unpublish from all platforms · log audit · restore later

⏱ ~2 minutes

🔓 Credential leaked

Emergency rotation · revoke all sessions · audit who saw it

⏱ ~10 minutes

🌐 Site broken after deploy

Rollback to previous version · investigate · root cause

⏱ ~3 minutes

🗄 Database corruption

Restore from latest backup · point-in-time recovery

⏱ ~25 minutes

🛑 All systems down

Full disaster recovery procedure · go-bag instructions

⏱ ~45 minutes

🦠 Ransomware / breach

Isolate · restore air-gapped backup · notify counsel

⏱ ~2 hours

🧯 Procedure: Client deleted by mistake

Identify the deleted client

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.

⚠ If older than 90 days, check the air-gapped weekly backup (Cloudflare R2).

Verify it's the right one

Click "View Backup" to see the full profile state before deletion: name, email, MRR, package, all linked posts, all credentials.

Restore with one click

Click "↺ Restore" button next to the row. The client and all their data (posts, payments, credentials, employee assignments) come back in under 30 seconds.

POST /api/v1/trash/restore body={"id":"client_XYZ","include_linked":true}

Re-link integrations (OAuth)

If the client had OAuth connections (Google/Facebook/Yelp), they may need to re-authorize. Send them the standard "Reconnect MakelyOS" email.

⚠ Vault credentials remain encrypted and intact — only OAuth refresh tokens may have expired.

Notify + document

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.

audit.log({actor: 'Boss', action: 'RESTORE_PROFILE', target: 'client_XYZ', reason: 'mistaken deletion by Maria L'})

Root cause + prevent recurrence

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.

⏱ Recovery Time Objectives Industry standard SLAs

RPO · Max Data Loss
< 1 hour
Continuous Supabase replication + hourly snapshots. Even in catastrophic failure, you'd lose less than 1 hour of new data.
RTO · Max Recovery Time
< 30 min
Full system restore from R2 backup tested quarterly. 30 minutes for full operational restore. Reads in 5 minutes.

🗓 Backup Schedule · All Layers

LayerFrequencyRetentionStorageEncryptionLast RunStatus
Supabase DBEvery 1 hour90 daysCloudflare R2 (us-east)AES-256-GCM4h ago✓ OK · 4.2MB
Vault credentialsEvery 6 hours365 daysR2 + 1Password backupAES-256-GCM + Argon22h ago✓ OK
Audit logContinuous (immutable)7 yearsR2 + WORM bucketAES-256-GCMLive✓ OK
Asset libraryDaily 3am UTC90 daysR2 + Backblaze B2AES-256-GCM9h ago✓ OK · 1.2GB
Site deploymentsPer-deploy snapshot50 deploysCloudflare Pagesbuilt-in3h ago✓ OK
Stripe dataDaily365 daysStripe + local mirrorbuilt-in12h ago✓ OK
Air-gapped offlineWeekly Sunday 4amForever (annual prune)External USB · vaultAES-256 + PGP3d ago✓ OK

🚨 Emergency Contacts

Boss · founder · primary decision-maker
Email · phone · WhatsApp
Michael B. · Florida attorney
For: data breach · legal escalation · contracts
Anthropic · Claude AI provider
For: AI service issues · API outages
Supabase · primary database
For: DB outage · restore from offsite
Cloudflare · sites + backups
For: hosting · R2 · DNS · WAF
Stripe · payments
For: payment incident · chargeback dispute
MakelyOS · Disaster Recovery · v1 · 05/26/2026 · RPO < 1h · RTO < 30m · 90-day trash · 7-year audit retention
Saved
🌐 Lang: