Things I learnt about passkeys when building passkeybot
Use of LLMs in Passkeybot Documentation
- Several commenters object to the project’s quickstart step of “paste this into a good LLM,” especially for security‑critical auth code.
- Concerns: outsourcing auth logic to an LLM, lack of traditional API docs, and the need to fully review LLM output makes it feel pointless.
- The author clarifies that the LLM is meant only to translate a well‑commented TypeScript example into other languages/frameworks; core logic is documented via sequence diagrams, handler descriptions, and a demo.
- Others defend LLM‑oriented onboarding as a better DX than guessing framework‑specific boilerplate.
Passkeys vs Passwords: Security, Recovery, and Usability
- Some wish passkeys fully replaced passwords; others insist passwords remain vital for recovery and cross‑device use, especially after device loss, theft, or fire.
- Main claimed advantages of passkeys: phishing resistance, protection against credential reuse and database breaches.
- Counterpoints: good password managers already mitigate phishing via domain checking; passkeys add conceptual and UX complexity and lack flexibility for some use cases.
- Recovery is a recurring pain point: not all sites allow multiple passkeys; some limit to a single authenticator; fallbacks (email/SMS, magic links) reintroduce weaker factors.
Vendor Lock‑in, Attestation, and Client Bans
- Strong worry that “unexportable keys + attestation + ability to ban clients” yields de facto lock‑in to Apple/Google/Microsoft ecosystems.
- Spec author statements about potentially blocking clients that allow export (e.g., some password managers) are seen as hostile to user control.
- Defenders argue: unexportability is a core security property, and RPs should be able to distrust compromised/rogue clients; users can rely on multiple authenticators or account‑recovery flows instead.
- Critics respond that inability to back up credentials is unacceptable and that client‑based blocking is too powerful a lever.
UX Problems and Edge Cases
- Reports of conflicting passkey providers (native keychains vs password managers vs hardware keys), awkward multi‑click flows, and difficulty setting preferred providers.
- Examples of “orphaned keys” and inability to enroll multiple device‑specific passkeys, confusing labels due to cross‑device sync, and bugs that effectively lock users out.
- Some users have reverted to passwords + TOTP after frustrating passkey experiences.
Related Technical Discussions
- PKCE is discussed as ensuring continuity of OAuth flows beyond what
statealone provides. - Concerns raised about the Digital Credentials API as infrastructure for broader online ID mandates, though others note ID proof is already required for some travel and government services.