SDK do navegador
O pacote mora neste monorepo como @atestus/sdk. Ele corre no navegador, com a chave pública pk_. Duas chamadas importam: cadastrar o dispositivo e confirmar uma intent.
Cadastrar o dispositivo
const dispositivo = await atestus.enroll(enrollmentToken);Acontece no carregamento da página, sem gesto do usuário. O SDK gera uma chave ECDSA P-256 não exportável, guarda no IndexedDB e prova posse dela com DPoP. O deviceId é o thumbprint RFC 7638 dessa chave pública, e de mais nada.
O cadastro é idempotente: reapresentar o mesmo dispositivo devolve o registro existente. Leia dispositivo.persistence. Quando vier "session", não houve armazenamento — janela privada, por exemplo — e o dispositivo será visto como novo na próxima visita.
Confirmar a intent
await atestus.confirm(intentHandle);Não devolve veredito, e a ausência é o ponto. Se devolvesse, quem controla a página diria “permitido” e o seu backend acreditaria.