O registro (create) retorna um objeto de atestado com os dados do autenticador (com o ID da nova credencial e a chave pública COSE) e uma declaração de atestado; a autenticação (get) retorna os dados do autenticador, clientDataJSON e uma assinatura sobre authenticatorData ‖ SHA-256(clientDataJSON). A parte confiável verifica o desafio, a origem e o tipo em clientDataJSON, o hash do RP ID e as flags nos dados do autenticador, e a assinatura (WebAuthn Level 3 §7.1 e §7.2).
O Level 3 padronizou recursos que os navegadores já tinham lançado: funções auxiliares de serialização JSON (toJSON, parseCreationOptionsFromJSON), a Signal API para atualizações de credenciais, getClientCapabilities(), requisições de origens relacionadas (related origin requests), a criação condicional (conditional create) e a extensão PRF para derivar chaves de criptografia. O Level 2 foi publicado em abril de 2021, e o Level 1, em março de 2019.
O WebAuthn é a metade web do FIDO2; o CTAP conecta o navegador a autenticadores externos. O inspetor de WebAuthn decodifica clientDataJSON, os dados do autenticador e os objetos de atestado.