What the person is doing
The service has already captured an email address and must decide whether syntactic validity is enough or mailbox access must be proven.
Application · lesson 13 of 23 · Task And Workflow Patterns
Underlying principle: A workflow joins actions across time, people, and systems. Each step gives the person enough context to continue, review, pause, or recover.
Use a confirmation loop only when mailbox access matters; show the target address, delivery state, link or code instructions, expiry, resend and change-address actions, pending versus verified status, and safe recovery for expired or already-used messages.
A workflow joins actions across time, people, and systems. Each step gives the person enough context to continue, review, pause, or recover.
The service has already captured an email address and must decide whether syntactic validity is enough or mailbox access must be proven.
Use a confirmation loop only when mailbox access matters; show the target address, delivery state, link or code instructions, expiry, resend and change-address actions, pending versus verified status, and safe recovery for expired or already-used messages.
Pending sent state with target email address, purpose, next step, expiry, resend, and change-address action.
Why does this flow need proof of mailbox access rather than only a valid email address?
The confirmation page states which email address is pending and why access to that mailbox is required.
The service has already captured an email address and must decide whether syntactic validity is enough or mailbox access must be proven.
The full lab is intentionally loaded on request. That keeps this reading page fast while preserving the strong and weak states, keyboard checks, and failure scenarios.
The service has already captured an email address and must decide whether syntactic validity is enough or mailbox access must be proven.
Use a confirmation loop only when mailbox access matters; show the target address, delivery state, link or code instructions, expiry, resend and change-address actions, pending versus verified status, and safe recovery for expired or already-used messages.
Pending sent state with target email address, purpose, next step, expiry, resend, and change-address action.
Old links confirm a new or changed email address incorrectly.
Use a clear heading such as Confirm your email address and show the pending email address as text.
GOV.UK Design System - checked
GOV.UK supports confirmation links or codes, expiry conditions, resend, blocking and non-blocking loops, and activation page design.
GOV.UK Design System - checked
GOV.UK email guidance supports confirmation only where mailbox access is essential.
OWASP Cheat Sheet Series - checked
OWASP supports neutral registration and activation responses where account enumeration risk exists.
National Institute of Standards and Technology - checked
NIST distinguishes confirmation codes sent to validate email addresses from authentication processes.
MDN Web Docs - checked
MDN documents one-time-code autocomplete for short-lived code entry when a confirmation code is used.
Source trail checked: