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



Passkeys are cool but you still need 2fa. Which may as well be a passkey itself.
One factor is not great even if it’s a passkey.
Need is a strong word.
2FA is a pretty good idea for some applications and needless hassle for others. I don’t need most of my accounts to have 2FA; I use a password manager with strong unique passwords, and for many accounts, having to make a new one would be an inconvenience rather than a tragedy.
Service providers might be motivated to force it on me if stolen accounts could cost them money, but most of them don’t need to; it’s just the most expedient move for them.
This only applies though if it’s a per-device passkey that uses a private key stored securely that cannot be exported.
If the private key can be exported, it can be stolen and the factors becomes invalid.
But people also store their private key in cloud solutions (some here mentioned doing that) which just makes the factor invalid anyway, since then it’s not device-bound anymore, and it’s the device that verifies your identity with those methods.
Like, what if someone hacks the cloud service storing the passkeys and steals them? Not really any different from storing passwords in a cloud, and that one isn’t called 2FA either.
Isn’t this optional? I use passkeys and have yet to be asked for anything else in addition to it.
The passkey is only passed on with an unlocked device. So, if someone stole your passkey device, they can’t copy it and use it without unlocking.
I’ve only ever seen passkeys used as 2FA, personally.
Really? If I open github (for example) and select passkey login, I just need to press ok using Bitwarden.
Amazon always asked for 2fa and then the passkey pops up but doesn’t actually do anything other then tell me I have it enabled
I think most passkey implementations incorporate multiple factors already. The session factor is considered distinct from the device factor, even if it’s all on the same device.
Which isn’t super different from the traditional USB key procedure, where a user would activate a FIDO biometric after clearing an SSO portal, or what have you.
How do you use it then if you need to share access in the whole team?
You don’t share your personal password across the whole team now, do you? At least for your teams sake I hope you don’t.
Obviously not the personal password, but sometimes you need to share a password. Think about the password for a remote desktop your team may need to connect to for troubleshooting a problem for example.
You know that not every account is only used by a single user, right?
I think that’s the problem right there… If you share accounts across multiple people you have far greater problems than how passkeys work…
Or they’re using it as intended. I’ve had more than one account I’ve gotten by cost sharing with friends. That’s not a problem, that’s a solution.
And it only takes one person with a grudge to cause a problem. I have seen it. I have shared accounts but very carefully and if someone abuses it then they permanently lose access to my stuff even if they are family.
We share a password. Then we don’t call it a personal password anymore. Was that your question?
That’s an IAM no-no.
So? Read my question above.
You create unique accounts for every team member so that access can appropriately be logged.
Or you implement a PAM tool that logs access and vaults the password and rotates it after use.
So do you think passkeys are not useful at all for me?
That’s not what I said