Support FIDO2/WebAuthn hardware keys without Google Play Services (hwsecurity SDK)

Add support for FIDO2/WebAuthn authentication using hardware security keys (YubiKey, SoloKey, etc.) on Android devices without Google Play Services.

Problem

The Bitwarden Android app currently relies on Google Play Services for FIDO2/WebAuthn. Users on degoogled Android (GrapheneOS, CalyxOS, LineageOS) cannot authenticate with hardware security keys β€” ironically, the most security-conscious users who would benefit most from hardware 2FA.
Currently, these users must either:
Install Google Play Services (defeats the purpose of a degoogled device)
Use weaker 2FA methods like TOTP
Not use Bitwarden on their mobile device

Proposed Solution:

Implement the hwsecurity SDK as an alternative FIDO2 library.
This open-source SDK (GPLv3) provides:
FIDO2/WebAuthn over NFC and USB
No Google Play Services dependency
Works with YubiKey, SoloKey, Nitrokey, and other FIDO2 authenticators

Precedent

Nextcloud has already done this. Their Android app uses hwsecurity SDK successfully, allowing users on degoogled devices to authenticate with hardware keys. Reference: GitHub - nextcloud/android: πŸ“± Nextcloud Android app

Who Benefits

GrapheneOS users (rapidly growing privacy-focused community)
CalyxOS, LineageOS, /e/OS, and other custom ROM users
Users in regions where Google Play Services is unavailable
Enterprise/government users with degoogled device policies
Privacy-conscious users who avoid Google services

Related issues