Authnkey
- Add support for keys with on-device user verification
- Detect stale USB connections on resume
- Fix FIDO2 registration failure on strict authenticators due to incorrect CBOR key order
New translations:
- Czech by Fjuro
- Hungarian by Szabó István
Android's built-in WebAuthn support has a significant gap: it does not support CTAP2 over NFC. This means you cannot use PIN-protected passkeys or discoverable credentials with NFC security keys — you're limited to basic U2F tap-to-authenticate. Authnkey fills this gap by implementing the full CTAP2 protocol.
The app registers as a credential provider, so any app or browser that supports the Android Credential Manager API will offer Authnkey as an option when passkeys are requested.
This also works on devices without Google Play Services, since Authnkey implements the CTAP2 protocol directly rather than relying on Google's FIDO2 API.
Supported features:
- Passkey creation and authentication
- PIN verification
- Discoverable credentials
- Multiple accounts per site
- NFC and USB transports
No root required.
- Author: Michel Le Bihan
- License: MIT License
- Issue Tracker
- Translation
- Source Code
- Build Metadata
- Reproducibility Status
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
This version requires Android 14 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 2.8 MiB PGP Signature | Build Log
-
This version requires Android 14 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 2.8 MiB PGP Signature | Build Log
-
This version requires Android 14 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 2.6 MiB PGP Signature | Build Log
- Remove USB scan button (no longer needed with auto-detection)
- Add support for privileged callers providing their own clientDataHash
- Improve compatibility with CTAP 2.1 PRE authenticators
- Improve system bar insets handling in main activity
- Preserve class names in minified builds
- Add support for setting a PIN when none is configured
- Enforce device minimum PIN length in PIN set and change dialogs
- Add credential management UI for viewing and deleting passkeys
- Detect USB security keys automatically in main activity
- Show dedicated instructions when NFC connection is lost
- Report unsupported device state in provider status banner
- Fix repeated USB permission prompts
- Material Design d






