pattern · auth
Type to confirm
also called type the name to confirm (community), confirmation by typing (community), delete confirmation input (community), friction dialog (community)
Guarding a destructive action by making the reader type the name of the thing being destroyed before the confirm button becomes usable.
An ordinary confirmation dialog can be cleared by a reflex. Two clicks in the same place, muscle memory, a half-read sentence, and the repository is gone. Typing its name defeats the reflex, because it cannot be done without reading what is being destroyed and matching it character by character. The friction is the feature, and it is aimed precisely at the moment where speed is the enemy.
The cost is real, so spend it rarely. Reserve it for actions that are permanent, wide in blast radius, and not covered by undo: deleting a project, transferring ownership, dropping a production database. Everywhere else, an undo window is a better guard, since it costs nothing on the way in and still saves the mistake on the way out. A product that asks people to type names all day trains them to copy and paste without reading, which is exactly the reflex the pattern existed to break.
Implementation details decide whether it helps or just annoys. Show the name to be typed as selectable text, and expect people to copy it: they will, and it is still better than a reflex click. Compare exactly, but say what is wrong rather than just staying disabled, because a dead button with no explanation reads as a broken form. Keep the confirm control present and explain why it cannot be used yet, and let Escape and the cancel button out of the dialog at any time.
The name matters too. Ask for the thing’s own identifier, not a word like DELETE: a typed name proves the reader knows which of their forty projects they are looking at, and a typed keyword proves only that they can type.
Which word?
| If you want | say |
|---|---|
| you must type the repo name to delete it | type to confirm |
| stopping a destructive action to ask | confirmation dialog |
| deleted things go to a bin you can dig them out of | soft delete |
| a dangerous action guarded by a held press | hold to confirm |