Destructive Flows
The scariest screens in your product. Deletion, revocation, account closure — the moments where one click can't be undone.
Delete account
The user wants to permanently delete their account and all associated data. This is irreversible. Most products bury this or make it confusing — both are wrong. Make it clear, make it hard to do accidentally, but don't make it impossible.
Delete account
This action is permanent and cannot be undone.
The following will be permanently deleted:
- • All projects and their data (12 projects)
- • All team members will lose access (4 members)
- • Billing history and invoices
- • API keys and integrations
Show on the account settings page behind a 'Danger zone' section. Require explicit confirmation (typing the workspace name). Explain exactly what will be deleted and what the timeline is.
Remove team member
An admin is removing someone from the workspace. This revokes all their access immediately. The person being removed might have active work, shared resources, or be the owner of critical integrations.
Remove team member
Bob Smith
bob@acme.com · Editor
This will immediately:
- • Revoke access to all projects
- • Remove from 3 shared dashboards
- • Invalidate their API key
Their past activity will remain in the audit log.
Show as a confirmation modal when an admin clicks 'Remove' on a team member. List the consequences — what access they'll lose, what happens to their resources.
Revoke API key
The user is revoking an API key. Any integration using this key will immediately stop working. This is a common action in developer-facing products that's often treated too casually.
Revoke API key
This cannot be undone.
Production API Key
sk_live_...a8f2
Last used 3 minutes ago · 12,847 requests this month
Warning: This key is actively being used. Revoking it will immediately break any integration using it.
Show as a confirmation dialog when revoking any API key or token. Emphasize that this is immediate and irreversible. If you can detect active usage, show that.
Cancel subscription
The user is canceling their paid subscription. This is the moment your product is losing a customer. Don't guilt-trip them, but do make sure they understand what they're giving up and when it takes effect.
Cancel your subscription
We're sorry to see you go.
Pro Plan
$49/month · Renews March 1, 2026
If you cancel:
- You'll keep access until March 1, 2026
- After that, your workspace downgrades to the Free plan
- Your data is kept for 90 days, then permanently deleted
- You can resubscribe anytime to restore full access
Show as a multi-step flow or confirmation page when the user clicks 'Cancel subscription'. Be transparent about the timeline and what happens to their data.
Bulk delete with mixed ownership
The user selected multiple items to delete, but some belong to other team members. This is a nuanced destructive action — you need to show them exactly what they're deleting and flag items they might not realize they're affecting.
Delete 5 projects
Review what will be deleted.
2 of 5 projects are owned by other team members.
Show when a bulk delete selection includes items owned by other users or items with dependencies. Break down the selection so the user can make an informed decision.
Leave workspace
A team member is leaving a shared workspace. Unlike being removed by an admin, this is voluntary. They need to understand what they'll lose access to and whether they can rejoin.
Leave workspace
You're about to leave "Acme Inc."
Once you leave:
- You'll lose access to all projects in this workspace
- Your contributions will remain but be uneditable
- An admin can re-invite you if you want to rejoin
Show when a user clicks 'Leave workspace' from their workspace settings. Clarify whether they can rejoin and what happens to their contributions.