Bei der Registrierung entsteht ein Schlüsselpaar auf einem Authenticator (einem Smartphone, dem Plattform-Authenticator eines Computers oder einem Sicherheitsschlüssel); die Website speichert nur den öffentlichen Schlüssel und eine Credential-ID. Bei der Anmeldung sendet der Browser eine Challenge, der Authenticator prüft den Benutzer und signiert die Challenge zusammen mit dem Hash der RP-ID der Website, und der Server prüft die Signatur. Die meisten Passkeys verwenden ES256 (COSE −7), manche EdDSA oder RS256.
Synchronisierte Passkeys sichert ein Credential-Manager (iCloud-Schlüsselbund, Google Passwortmanager, 1Password und andere) und kopiert sie auf die Geräte eines Benutzers; sie tragen das Backup-Eligible-Flag. Gerätegebundene Passkeys liegen in einem einzigen Authenticator wie einem Sicherheitsschlüssel und lassen sich nicht kopieren. Die geräteübergreifende Anmeldung nutzt den hybriden Transport (QR-Code plus Bluetooth-Näherungsprüfung). Mit den Credential-Exchange-Formaten von FIDO (CXF; das Protokoll CXP ist noch ein Entwurf) können Benutzer Passkeys zwischen Managern umziehen.
Was ein Server trotzdem richtig machen muss: zufällige Challenges mit kurzer Lebensdauer, Prüfung von RP-ID und Origin, eine Richtlinie zur Benutzerverifizierung, eine Kontowiederherstellung, die keinen schwächeren Faktor wieder einführt, und das Speichern mehrerer Passkeys pro Konto. Die Passkey-Sandbox führt eine vollständige Registrierung und Anmeldung lokal aus.