---
title: "Architecture Decision Records"
manual: "Passkeys Frontend Authentication"
version: "2.0"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr@2.0"
source: "Adr/Index.rst"
rendered: "2026-09-29T22:18:36+00:00"
---

# Architecture Decision Records {#adr}

This section documents the key architectural decisions made during
the design and implementation of the extension.

-   [ADR-001: Depend on nr-passkeys-be as Composer Dependency](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-001-depend-on-nr-passkeys-be-as-composer-dependency@2.0)
-   [ADR-002: Both felogin Extension and Standalone Plugin](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-002-both-felogin-extension-and-standalone-plugin@2.0)
-   [ADR-003: Triple Recovery Mechanisms (Password + Codes + Magic Link)](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-003-triple-recovery-mechanisms-password-codes-magic-link@2.0)
-   [ADR-004: Enrollment Only, No User Registration](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-004-enrollment-only-no-user-registration@2.0)
-   [ADR-005: Site-Configurable RP ID with Storage PID Credential Isolation](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-005-site-configurable-rp-id-with-storage-pid-credential-isolation@2.0)
-   [ADR-006: Dual Enforcement Model (Site + FE Groups, Strictest Wins)](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-006-dual-enforcement-model-site-fe-groups-strictest-wins@2.0)
-   [ADR-007: Post-Login Enrollment Interstitial via Middleware](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-007-post-login-enrollment-interstitial-via-middleware@2.0)
-   [ADR-008: Credential-ID-to-UID Resolution (Not Username)](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-008-credential-id-to-uid-resolution-not-username@2.0)
-   [ADR-009: Vanilla JavaScript for Frontend (No Framework Dependencies)](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-009-vanilla-javascript-for-frontend-no-framework-dependencies@2.0)
-   [ADR-010: Recovery Codes Hashed with bcrypt](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-010-recovery-codes-hashed-with-bcrypt@2.0)
-   [ADR-011: Magic Link Recovery Deferred to v0.2](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-011-magic-link-recovery-deferred-to-v0-2@2.0)
-   [ADR-012: Authentication Service Priority 80](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:adr-012-authentication-service-priority-80@2.0)

## Summary {#summary}

| ADR | Title |
| --- | --- |
| ADR-001 | Depend on nr-passkeys-be as Composer Dependency |
| ADR-002 | felogin Integration and Standalone Plugin |
| ADR-003 | Triple Recovery Mechanisms |
| ADR-004 | Enrollment-Only, No Registration |
| ADR-005 | Site-Configurable RP ID |
| ADR-006 | Dual Enforcement Model |
| ADR-007 | Post-Login Enrollment Interstitial |
| ADR-008 | Credential-ID to UID Resolution |
| ADR-009 | Vanilla JavaScript Frontend |
| ADR-010 | Recovery Codes Bcrypt Hashed |
| ADR-011 | Magic Link Deferred to v0.2 |
| ADR-012 | Authentication Service Priority 80 |
