demo · v136
Error Decision Flow
Every reject path navigator.credentials.get({ mediation: 'immediate' }) can take, mapped to the right fallback UI. The page also runs a live call so you can see which path your platform takes today.
NotAllowedError
user cancelled OR no credential
Reveal the password form. Don't retry — immediate mode treats absence as authoritative.
InvalidStateError
authenticator unable to honour request
Fall back to traditional
conditional mediation. Surface a "sign in with passkey" button instead.NotSupportedError
no platform authenticator
Hide the passkey hint entirely. Default to password + 2FA.
SecurityError
RP id mismatch / not allowed-list
Server config bug. Log it to telemetry — don't retry.
resolve(credential)
silent immediate success
Submit credential to server, log the user in. No UI required.
your platform
click "Run a live immediate get()".