Encryption (PRF) via Windows Hello passkey?

The trick is that Windows Hello seems to be returning PRF assertion values regardless of whether PRF was requested during creation (at least on https://webauthn-passkeys-prf-demo.explore.corbado.com/, which seems to be the most detailed).

But at the same time, Edge and Chrome don’t report that PRF is supported, nor do they provide the PRF assertion value on passkey creation. So the website thinks PRF won’t work and reports an error, but when you go to authenticate, it actually does work! Try using the demo website above to create a Hello passkey, and then try the “Authenticate & Get PRF Value”. For me, it results in this success:

In contrast, Firefox correctly shows that PRF is supported and gets the PRF assertion value on creation.

Since the authenticator is Windows Hello, the assertion value is the same regardless of which browser is used. If it weren’t for the bug preventing any passkey creation in Firefox, I might be able to create the Bitwarden encrypted login passkey on Firefox and then use it in Chrome or Edge.

[Windows 11 25H2 build 26200.8037]

@Wall-E awesome observations, thanks!

Corbado just updated their article and added community statistics at the bottom of their demo page.

Actually, I wrote them. And that was new to them yesterday. So, they were quick then it seems.

But, at the moment – and I wrote them that as well – when I register a passkey with PRF on my desktop PC via Firefox 149, it succeeds, but authentication still fails. (didn’t test it with my laptop – where it worked once – again now)

I think at least not entirely stable right now.

I did a little digging on GitHub and found two commits that seem to address exactly this behavior. It looks like there were specific changes regarding this in Firefox 147 and 148:

Hm. I just got an update to Chrome 147 (seems I got the “Early Stable”) and was nosy enough…

I actually just found the corresponding commit for Chrome, it is indeed planned for Chrome 147: https://chromium-review.googlesource.com/c/chromium/src/+/7569106

It seems that Windows introduced the necessary support for this with WEBAUTHN_API_VERSION_8 as mentioned here and here.

@Nail1684 are you now able to create a PRF-enabled passkey for your BW account using Chrome 147?

@passkeydemo Thanks for providing some more sources / evidence for all this…

Of course I tried this. But also using Chrome 147 doesn’t seem to enable a PRF-login-passkey – at least not with my “desktop” Windows Hello (which still shows that authentication error on the Corbado demo site).

My laptop doesn’t seem to suffer from that “authentication error” – but it didn’t receive Chrome 147 yet…

Corbado just added the commit for WEBAUTHN_API_VERSION_8 to their article: Update API Version to WEBAUTHN_API_VERSION_8 · microsoft/webauthn@706d98d · GitHub

Hey, thanks to everyone who looped us in at Corbado and to this great community teamwork :slightly_smiling_face: .

As @passkeydemo pointed out, we updated our blog article twice today, March 26, 2026, to include the community findings, including the hint about upcoming Chrome changes and added the Windows Commit. We also extended our PRF Analyzer and demo, as some of you have seen: https://webauthn-passkeys-prf-demo.explore.corbado.com, with community metrics to help keep it up to date. Thanks for your input and for helping bring the article up to speed. This closes one important gap.

I just installed Chrome Beta 147 and the PRF testing pages are now working perfectly. However, when I tried to create a new passkey for my Bitwarden account, it still says that encryption is not supported. I’m really not sure why this is happening.

There is a new GitHub issue about this:

Hello, I tested it with Edge 147 stable. The Corbado Testsite works fine now, PRF is available during authentication, but Bitwarden Passkey Login still fails.