ADR 0002: Standalone provider with uhid and D-Bus front-ends¶
- Status: Accepted
- Date: 2026-10-03
Context¶
Browsers, libfido2, pam_u2f and systemd-cryptenroll talk to FIDO HID devices today. credentialsd (Credentials for Linux) is building a portal-based architecture with TPM platform authenticators on its roadmap, but has no provider API yet (credentialsd #8, #26).
Decision¶
One authenticator implementation with two front-ends:
- A virtual CTAPHID device via
/dev/uhid, which works with existing clients now. - A provider D-Bus interface co-designed with linux-credentials for the portal path.
Consequences¶
- The core API is transport-agnostic.
- uhid cannot reach Flatpak/Snap-confined apps without extra interfaces, and Chromium ignores uhid authenticators that claim to be platform authenticators; the portal path addresses both.