PROTOTYPE — all names, sites and people below are invented. Not connected to any real system.

Recovering a website from backup — proposed end-to-end experience

Today the client portal's Backups tab already ends in a dead-end "Request a restore" link with no context attached. This prototype fills that gap: the customer picks the exact backup and scope they want, an operator gets full context to safely execute it, and both sides track the same request to completion. Nothing here is self-service for production — a human still approves and runs every restore, matching the product's existing "carried out by our team" copy.

1
Client portal

Customer sees their backups and starts a restore from one of them

Instead of a blind "Request a restore" button, the Backups tab lists every available backup (automated + manual) so the customer picks the point in time they need, not just guesses.

Open: Backups tab →
2
Client portal

Customer confirms what to restore and where

Target environment (staging recommended first), scope (files / database / both), and a short note on what went wrong — sent straight to the ops queue with no separate support ticket to fill in.

Open: New restore request →
3
Client portal

Customer tracks the request like any other support ticket

The restore shows up in Support requests with a status and a timeline, so the customer isn't left wondering if anything happened.

Open: Support requests list →  ·  Open: Request detail →
4
Operator portal

Restore request lands in the operator's queue, typed and pre-filled

Same Client Requests screen operators already use — now populated with a real "Restore" type instead of the untyped placeholder rows.

Open: Client Requests queue →
5
Operator portal

Operator reviews the diff and confirms before anything is overwritten

Full context: which backup, what's changed on the live site since then, and an explicit typed confirmation before the restore is allowed to start — this is the one irreversible step in the whole flow.

Open: Restore request detail →
6
Operator portal

Restore runs as a tracked job, same as backups already do

Reuses the existing Jobs concept from the ops dashboard so a restore is observable and retryable the same way a failed backup already is.

Open: Jobs queue →

Assumptions & open questions