Die Registrierung (create) liefert ein Attestierungsobjekt mit den Authenticator-Daten (darin die ID des neuen Credentials und sein öffentlicher Schlüssel im COSE-Format) und einer Attestierungsaussage; die Authentifizierung (get) liefert Authenticator-Daten, clientDataJSON und eine Signatur über authenticatorData ‖ SHA-256(clientDataJSON). Die Relying Party prüft die Challenge, den Origin und den Typ in clientDataJSON, den RP-ID-Hash und die Flags in den Authenticator-Daten sowie die Signatur (WebAuthn Level 3 §7.1 und §7.2).
Level 3 hat Funktionen standardisiert, die Browser bereits ausgeliefert hatten: Hilfsfunktionen für die JSON-Serialisierung (toJSON, parseCreationOptionsFromJSON), die Signal API für Aktualisierungen von Credentials, getClientCapabilities(), Related Origin Requests, Conditional Create und die PRF-Erweiterung zum Ableiten von Schlüsseln für die Verschlüsselung. Level 2 erschien im April 2021, Level 1 im März 2019.
WebAuthn ist die Web-Hälfte von FIDO2; CTAP verbindet den Browser mit externen Authenticators. Der WebAuthn-Inspektor dekodiert clientDataJSON, Authenticator-Daten und Attestierungsobjekte.