Delete confirmation UX: type-to-confirm, danger zones and menus
Delete confirmation UX from real SaaS screens: 3 of 5 dialogs make you type, Delete sits last in 7 of 8 menus, and only 24 of 316 settings show a danger zone.
Three of the five delete dialogs we captured make you type something before the red button wakes up, and Render asks for the most: the phrase sudo delete followed by the full name of the thing you are deleting. Yet the settings section that usually leads to those dialogs, the danger zone, appears on only 24 of 316 settings screens in our library.
This is a pattern study of delete confirmation UX across real SaaS products: what the confirm asks of you, how it names what you are about to lose, where Delete sits in overflow menus, and how loudly danger zones speak. Every example comes from the Detail views wall and the Settings pages wall, where each screen can be opened and checked.
Delete confirmation UX: from one click to a typed phrase
Five products in our captures showed a full confirmation dialog for a delete. They split cleanly into two camps: three gate the button behind typing, two rely on words alone.
| Product | Deleting | You type | Names the item | Offers instead |
|---|---|---|---|---|
| Render | Environment group | sudo delete + group name | Yes, in red bold | Nothing |
| Jira | Work item | delete | Yes, key in title (SCRUM-18) | Archive |
| Netlify | Team | Team name | Yes, in a copyable chip | A reasons survey |
| Superthread | Card | Nothing | Yes, in bold | Nothing |
| Mixpanel | Project | Nothing | Yes, in the title | Nothing |
The friction roughly tracks the blast radius. A Superthread card gets a single click. A Netlify team, which takes DNS and domains down with it, gets a survey and a typed name. Render sits at the extreme for a small object, a set of environment variables that running services read. It says "This action cannot be undone", prints the phrase to type in dark red bold, and leaves "Delete Env Group" a washed-out pink until the input matches.

Two ideas worth copying from Jira and Netlify
Jira's dialog is titled "Delete or archive SCRUM-18?" and explains the difference in one line: "Deleting is irreversible. It permanently removes the work item, comments and attachments." The typed word is just "delete", which is a weaker check than a name, but the Archive button does more work than any amount of typing: most people who reach for Delete want the item out of the way, not destroyed.
Netlify goes the other way. Its Delete team dialog opens with three bullet consequences (projects taken offline, Netlify DNS records deleted, purchased domains locked), then asks "What are the main reasons you are deleting your team? Select up to three." from 12 checkboxes, from "Not getting value from the product" to "Other". Only then comes "Enter the name of the team to confirm", with the name shown underneath in a grey monospace chip. Showing the name avoids spelling failures but turns the check into a copy job. Delete stays grey until it matches.

Name the thing, then count the loss
The two dialogs without a typing gate lean on copy instead. Superthread quotes the card title in bold and says it "will be permanently deleted for everyone. This cannot be undone." The phrase "for everyone" is the useful bit: in a shared workspace, the person deleting is rarely the only one who will notice.

Mixpanel is the only dialog that quantifies the loss. "This will delete:" is followed by coral chips, "0 Events" and "0 User Profiles", and the copy warns "1 Project members will lose access." It is also unusually honest about what delete means: the project "will be deactivated", and "a backup of the deactivated project will remain stored in Mixpanel for some period of time" under a linked data retention policy. That is more accurate than most "cannot be undone" lines.

Two products skip the dialog and explain afterwards. Evernote moves a note to Trash and shows a black toast naming it, "'Persona map v2' moved to Trash", with an outlined Undo. Tana's delete toast spells out scope after the fact: the original node and "all references in this workspace" are gone, but "References in other workspaces are still there."
Where Delete sits in the overflow menu
Most deletes start in a ··· menu, and here the captures agree. Of the 8 overflow menus on the detail wall that contain a delete action, 7 put it last. The exception is Wrike.
| Menu | Actions | Delete position | Colour |
|---|---|---|---|
| Evernote note | 17 | Last, alone ("Move to Trash") | Neutral |
| Wrike task | 16 visible | 14th, own group | Red, bin icon |
| Ideogram image | 15 | Last, under "Manage" | Red |
| TickTick task | 14 | Last, grouped with Export and Print | Neutral |
| Cloudinary folder | 8 | Last, alone | Neutral |
| Runway project | 4 | Last, alone | Orange-red |
| Recraft image | 3 | Last | Red |
| Render env group | 2 | Last, after a rule | Red |
Five of the eight colour the item red; Evernote, TickTick and Cloudinary leave it the same grey as Print. Neutral is defensible in Evernote's case, because "Move to Trash" is recoverable and the toast offers Undo. TickTick's plain "Delete" shares a group with Export and Print, which makes it the easiest of the eight to hit by accident.

Superthread has the most interesting menu of all: the card's ··· menu is searchable. Typing "del" narrows it to one red "Delete card" row with a Delete key hint, then opens the bold-name confirm above. It is fast for people who know what they want, and the confirm is still there for everyone else (see the search state).

Danger zones are rare, and mostly quiet
Only 24 of 316 settings screens show a danger zone or a delete block, from 17 of the 96 products on the wall. Even on workspace and account screens, where you would expect one, it is 20 of 99. When a danger zone does appear, the treatment varies far more than it does in menus:
| Treatment | Products |
|---|---|
| Solid red button | Netlify, Voiceflow, folk |
| Red text on a pale pink fill | Sanity, Ideogram |
| Red outline or red text | Whimsical, CodeSandbox, StackBlitz |
| Grey, like any other action | Product Hunt, Runway, Mixpanel |
Sanity labels the section "Danger zone" with the subtitle "Potentially destructive actions." and renders "Leave project" as red text on pale pink. The consequence is in the copy rather than the colour: "You will lose access immediately and an administrator will need to re-invite you to rejoin."

Product Hunt drops the label and asks plain questions, "Would you like to deactivate your account?" and "Would you like to delete your account and all associated data?", each above a grey outlined button. The loudest thing on that page is the coral "Save changes" above them. Runway's "Delete workspace" is a grey button below a divider, styled like Clear. Mixpanel puts Delete beside Transfer and Reset as a grey icon action at the top of project settings, not at the bottom at all.
The copy is where the strong ones differ. Voiceflow's Delete workspace card reads "This action is not reversible — continue with extreme caution." Netlify's says "Once you delete a team, there is no going back. Please be certain." Ideogram's: "This action cannot be undone." Two products also put a sales pitch right next to the exit: Netlify's Pro upgrade card sits directly above its danger zone, and on CodeSandbox the brightest card on the page is "Upgrade to Pro", beside a red-text "Delete team".
How we counted
We captured these screens in desktop browsers with research accounts between September and October 2026. A vision model recorded each screen's attributes (including the danger zone facet), and every tag can be checked on the screen's own page. Menu and dialog counts were made by hand from the screenshots. Danger zone counts reflect what was visible in a capture, so a section further down an unscrolled page is not counted. We record what we saw, not A/B results, so none of this says which pattern prevents more accidental deletes.
What to steal
- Scale the gate to the blast radius. One click with a named item for a card; a typed name for anything that takes other people, DNS or billing with it.
- Offer the reversible option in the same dialog. Jira's Archive beside Delete catches people who only wanted the item gone from view.
- Name the item and the audience. Bold the name, and say "for everyone" when others will lose it too.
- Count the loss. Mixpanel's event and member counts turn an abstract warning into a number someone can check.
- Be accurate about "permanent". If a backup exists for a while, say so, as Mixpanel does.
- Put Delete last, in its own group, in red. Seven of eight menus put it last; don't share its group with Print.
- Let the copy carry the weight in settings. A pale or outlined button with a clear consequence line beats a solid red block shouting at every visitor.
To compare more destructive actions side by side, browse the delete screens on the Detail views wall or every danger zone in settings. Building one now? Connect the Screenrove MCP server and ask your agent for "delete confirmation dialogs with type-to-confirm" while you work.