Passkeys are the modern, consumer-friendly delivery of FIDO2 / WebAuthn — public-key credentials bound to a website's origin, unlocked by a fingerprint, face, or PIN, and synced across the user's devices via the OS. They eliminate the password, defeat phishing by construction, and ship in every modern browser and operating system. In 2026, they're the default direction for new login flows.
← Back to SecurityConventional MFA can be relayed — the attacker proxies a fake login site, captures the OTP, and uses it in real time. Passkeys can't be: the credential is bound to the legitimate origin's domain, and the device's WebAuthn API simply refuses to sign for the wrong domain. The attacker never gets a usable signature, no matter what the user types or taps.
Your server stores public keys. A database dump leaks public keys — useless to an attacker. Compare to passwords (hashable but crackable) or TOTP secrets (immediately usable if leaked).
"Tap your fingerprint to sign in" beats "find your authenticator app, type 6 digits within 30 seconds." Passkey sign-ins routinely measure 2–4× higher completion than password+OTP.
Synced passkeys let a user sign in on their iPhone, then their MacBook, then a new device — without re-enrolling. Apple, Google, Microsoft, 1Password, Dashlane, Bitwarden, and others all sync. The early "you'll get locked out if you lose your phone" objection is mostly gone.
challenge and sends WebAuthn registration options including the relying party (your domain), user info, and supported algorithms.The smoothest UX: the server requests a credential without naming a user. The browser shows the user every passkey they have for your origin; they pick one. The user identifier comes back with the assertion. No email field at all — sign-in is one click.
Synced passkeys cover most of the "lost device" cases. You still need a recovery path for users who lose access to their entire OS account or sync chain. Options: registered backup passkey on a hardware key, identity verification, recovery via another factor. Don't downgrade to email-only — that's how account takeovers come back.
Let users register more than one passkey — phone + laptop + hardware key. Show them a management UI listing each credential with the device name and last-used time, and let them revoke individually.
Don't go passkey-only on day one. Most teams ship passkeys alongside passwords; over time, the password becomes the fallback and eventually optional. Track adoption and breach signals before removing passwords entirely.
WebAuthn lets you require attestation about which authenticator was used. For consumer apps, set attestation: "none" — strict attestation breaks legitimate platform authenticators in subtle ways and gives little real value. Attestation matters mainly for enterprise contexts that require certified hardware keys.
WebAuthn is a serious protocol with subtle verification rules. Libraries: SimpleWebAuthn, py_webauthn, Webauthn4j, Yubico's webauthn-server-core. Or a managed service: Auth0, Okta, Stytch, Clerk, Hanko, Corbado, Passage. Don't reinvent.
Passkeys are the first credential model in 30 years that's both more secure and more pleasant. The reasons to delay are mostly inertia.