Passkeys are built on the FIDO2 standard (CTAP2 + WebAuthn standards). They remove the shared secret, stop phishing at the source, and make credential-stuffing useless.
But adoption is still low, and interoperability between Apple, Google, and Microsoft isn’t seamless.
I broke down how passkeys work, their strengths, and what’s still missing


That’s why it’s important to avoid vendor lock-in and use actual reputable password managers to secure your passkeys such as Bitwarden, 1Password, or KeePass. On Android 14+ and iOS, you can even set your preferred password manager as the default passkey provider.
If you don’t fully trust Bitwarden servers, you can self-host a Vaultwarden instance, which is compatible with Bitwarden clients. Alternatively, using a yubikey is also a great hardware based option. Just because Google & Microsoft are heavily promoting passkeys doesn’t mean they’re inherently bad.
Passkeys work flawlessly for me across platforms:
Personally, I use passkeys everywhere. I host my own Vaultwarden instance to store all my passkeys, and for redundancy, I also keep separate ones in my Keepass database, which I use for TOTPs. My self-hosted stack is secured by Authentik, running completely passwordless and uses passkeys for authentication and other apps integrate via OAuth and Proxy Auth.
I still don’t quite understand the issue you mentioned with websites. Typically, the passkey mechanism is triggered directly by the browser or OS (if you’re on mobile). You’ll be prompted to either save a new passkey or sign in with an existing one. If your password manager is correctly set up as the default credential provider, it should work seamlessly. Even without a browser extension, most Chromium-based browsers let you scan a QR code with another device that has your passkeys or you can simply insert a yubikey to authenticate.
What infuriates me is that some services like Amazon use passkeys only as second factor and asks for an OTP anyways which defeats the whole purpose. But for services that do it right, passkeys works seamless!