Passkey credential provider for hardware security keys
Kotlin
281
166 commits
updated Aug 24, 2026
A credential provider for Android that supports FIDO2/CTAP2 security keys over NFC and USB.
Many NFC security keys don't work properly on Android. Native CTAP2 over NFC only works with keys that support applet selection using extended encoding, and plenty of keys and smartcards don't. Those keys are stuck with basic U2F-style tap-to-authenticate, which means no PIN verification and no discoverable credentials (passkeys).
Additionally, Android's FIDO2 support depends on Google Play Services. Authnkey implements the CTAP2 protocol directly, so full passkey functionality works even on devices without GApps.
./gradlew assembleDebug
Authnkey is available in multiple languages thanks to contributors. If you'd like to add or improve a translation, you are welcome to do so on Toolate.
Note: Due to the way Toolate handles synchronization with the repository, translations may occasionally disappear after updates. If this happens, your previous translations can be found under the Automatic suggestions tab for each string, or you can re-upload them from a previous commit via the Files tab in the app component.
MIT
Kotlin
100.0%
Passkey credential provider for hardware security keys
Kotlin
281
166 commits
updated Aug 24, 2026
A credential provider for Android that supports FIDO2/CTAP2 security keys over NFC and USB.
Many NFC security keys don't work properly on Android. Native CTAP2 over NFC only works with keys that support applet selection using extended encoding, and plenty of keys and smartcards don't. Those keys are stuck with basic U2F-style tap-to-authenticate, which means no PIN verification and no discoverable credentials (passkeys).
Additionally, Android's FIDO2 support depends on Google Play Services. Authnkey implements the CTAP2 protocol directly, so full passkey functionality works even on devices without GApps.
./gradlew assembleDebug
Authnkey is available in multiple languages thanks to contributors. If you'd like to add or improve a translation, you are welcome to do so on Toolate.
Note: Due to the way Toolate handles synchronization with the repository, translations may occasionally disappear after updates. If this happens, your previous translations can be found under the Automatic suggestions tab for each string, or you can re-upload them from a previous commit via the Files tab in the app component.
MIT
Kotlin
100.0%