At Corbado, we're often asked how many devices in a corporate fleet are ready for passkeys? There is no reliable public percentage. The answer depends on the devices an organization has deployed and the policies applied to them.
We've faced the problem ourselves. Companies have given us managed laptops or access to virtual desktops so we could test a passkey implementation in their environment. On some devices Windows Hello could not be provisioned. On others the network blocked cross-device authentication (CDA). Passkeys failed before the actual implementation could be tested.

Authentication Analytics Whitepaper. Practical guidance, rollout patterns and KPIs for passkey programs.
This is common in large organizations. Security teams may have blocked Windows Hello years before a passkey project started. Employees sign in with authenticator apps, RSA tokens or OTPs. The team building a customer login then discovers that its standard development environment cannot create a passkey.
Treat device readiness as an organization-specific measurement task. Start with the device inventory, policy history, virtual desktop setup and network rules. Then test the real cohorts. Consumer benchmarks cannot answer the question for a corporate fleet.
Many fleets use Windows Hello for Business. When passkeys fail across a company, the cause is usually a combination of device state, policy, virtual desktop architecture or network access. None of those is visible from the backend or admin panel of a login page.
Windows Hello for Business is controlled centrally. In
Microsoft Intune the relevant switch is the
PassportForWork configuration service provider,
where ./Device/Vendor/MSFT/PassportForWork/{TenantId}/Policies/UsePassportForWork set to
false prevents Windows Hello for Business provisioning on the device. A second setting,
DisablePostLogonProvisioning, stops Windows from starting provisioning after sign-in.
Microsoft lists both
together with their group policy equivalents for domain-joined machines.
A WHfB credential used for device sign-in and a website passkey saved through Windows Hello are different credentials. Windows can store both as separate keys in the same Windows Hello container. The PIN or biometric authorizes use of the keys in that container, as described in Microsoft's Windows Hello architecture.
Disabling WHfB doesn't automatically disable every passkey path. If no Windows Hello container exists and device policy prevents Windows Hello setup, Windows Hello cannot act as the local platform authenticator. A security key, a phone or a permitted third-party passkey manager may still work.
On the device the result looks like this. Face, fingerprint and PIN all report "This option is currently unavailable". Windows says why in one line at the top:
That is a Windows 11 Enterprise machine on 25H2, build 26200.9106, so a current one. The policy does not go away when the fleet updates.
The setting predates most passkey projects. Organizations may keep it disabled because:
The people who own that policy are not the people who own your login, so switching Windows Hello on is an endpoint management project with its own timeline. The rest of this article assumes you can't just switch it on easily.
This split happens when Windows Hello for Business was allowed first and disabled later or when a blocking policy reached some devices only after they had provisioned Windows Hello. The clearest documented example is Intune's tenant-wide setting. Microsoft says it applies only at device enrollment and later changes do not apply to devices already enrolled. Microsoft staff also confirms that disabling this setting does not stop users from using an existing PIN. Targeted GPO or CSP policies can refresh after enrollment, so check which policy type the organization uses. Disabling provisioning alone does not delete an existing Windows Hello container.
As long as the container remains, a user can continue to unlock it with a PIN or biometric. The browser may therefore continue to offer Windows Hello as a platform authenticator, including for website passkeys already stored in the container. New website passkey creation may also remain available. Other passkey access policies and application settings can change that result, so test both registration and authentication on the affected cohort.
Removing the existing state is a separate action. Microsoft points to
certutil.exe -deleteHelloContainer
as the way to remove the container. On current Windows 11
builds that command also removes WebAuthn and FIDO credentials stored on the device.
Organizations need a recovery path before running it.
The result looks random in aggregate. Devices with the same Windows version and browser can report different platform-authenticator availability because their provisioning history differs. Segment by Windows Hello state and policy history as well as operating system and browser.
In a virtual session, the application runs on the session host while the authenticator is usually attached to the physical endpoint. Citrix supports FIDO2 and WebAuthn redirection so an application inside the session can send a WebAuthn request to Windows Hello or a security key on the endpoint. This is the virtual desktop point that matters: the endpoint must have a usable authenticator and Citrix must redirect the request.
There are two importnant boundaries:
Where FIDO2 redirection is unavailable, Citrix documents plain USB redirection for USB security keys as a fallback. In a Citrix session without Windows Hello, a registration that accepts any authenticator ends at the security key prompt:
The user needs a physical key in the endpoint's USB port and USB redirection must be enabled for the session to see it.
Even with Windows Hello available, two network paths have to be open. Either one can be closed on a corporate network without anybody connecting that to your login page.
gateway.icloud.com on 443 among them. Google publishes no equivalent list for passkey
sync, so that path has to be tested rather than looked up.cable.ua5v.com and cable.auth.com and derives further domains by hash, so a
blocklist built from those two names does not cover the transport. Where the tunnel in
use cannot be reached, the QR code still appears and the ceremony never completes, see
our guide on
enterprise passkey deployment challenges.Both can look like a browser bug. Test them from the same network and browser configuration that employees use.
Bring your own device (BYOD) users are outside most corporate Windows Hello for Business policy. Their Windows laptop may use Windows Hello, a synced credential manager or a phone. This often makes BYOD more passkey-ready than a locked-down corporate fleet.
BYOD is still not equivalent to unrestricted consumer traffic. A company can require a managed browser, apply app-protection rules, route traffic through a corporate network or block credential-manager extensions. The user's OS version and personal credential manager also remain unknown.
Keep at least three cohorts separate in a readiness assessment:
A single percentage across all three hides the action each team needs to take.
Nothing on screen says what went wrong, which is why the tickets are useless. The map below has the sentence the user writes in the middle and the six possible causes around it, each with the team that owns the fix. The four sections after it walk through the screens users actually get.
If Windows Hello is the only local provider and device policy prevents its setup, a
capability check can report that no user-verifying
platform authenticator is available. A registration
that requires authenticatorAttachment: "platform" then has no Windows Hello path. Chrome
may show a short notice that the device cannot be used and the ceremony can return a
NotAllowedError.
Do not diagnose policy from that error alone. NotAllowedError also covers timeouts, user
cancellation and other blocked operations. The earlier capability result and the device's
Windows Hello state provide the useful context. See our
WebAuthn error reference for the other cases behind the error.
The message names no policy, no admin and no alternative. The ticket then arrives as "the passkey button is broken".
If the relying party accepts other authenticator types, the browser can offer a QR code for a phone. It works, but it looks nothing like your screenshots and help pages, so users report it as an error even when it succeeds. The cross-device flow also needs Bluetooth on both sides and internet access on both devices. Corporate policy often blocks at least one part of that path. Microsoft documents how to limit Bluetooth to the FIDO2 services instead of switching it off entirely.
The Windows security dialog appears, but it asks for the key rather than a face or a fingerprint. Users who were trained on "just look at your laptop" do not recognize this as the same feature.
The "Change" link in that dialog is where a user switches between the security key, a phone and a third-party manager. Most users never find it.
Windows 11 lets third-party credential managers act as passkey providers since the November 2025 update, through the plugin passkey manager API. On a managed device the app is often not installed or not allowed, so the flow silently falls back to whatever remains.
Windows version matters, but it does not determine readiness on its own. Policy and prior provisioning can still make two devices on the same build behave differently. StatCounter puts Windows 11 at 68.88% of Windows desktop pageviews in July 2026 against 29.88% for Windows 10, with the crossover in July 2025.
Take that number for what it measures. StatCounter counts pageviews on the sites in its tracking network, worldwide, with consumer and corporate devices in one pool. It is a traffic sample rather than a device inventory and it has no enterprise breakout. It shows the public web, not your fleet. Some corporate fleets upgrade later. Windows 10 reached end of support on 14 October 2025. An enterprise device inventory can therefore differ materially from the public traffic split.
What changes with the version:
The 22H2 line is the one users notice. It is the screen under Settings, Accounts, Passkeys. Support uses it to check whether a passkey exists at all:
On Windows 10 there is no equivalent screen, so neither the user nor support can see what is stored.
The consent from the 24H2 line lives one page away, under Settings, Privacy & security, Passkeys. Access and autofill are separate switches, each with a per-application list:
Worth knowing for support: the "Recent activity" rows count how often applications asked to create, use or enumerate passkeys in the last seven days. On a ticket that is a quick way to see whether the browser reached the platform at all.
Check the Windows 10 share in your own traffic and device inventory. If that cohort is in scope, test it explicitly and keep a fallback path.
Experiment with passkey flows in the Passkeys Debugger.
Chrome DevTools carries a WebAuthn tab that creates a virtual authenticator on any machine, with no hardware and no policy change. You pick the protocol and the transport, switch on user verification and the browser behaves as if a platform authenticator were present. Playwright exposes the same CDP capability for automated tests. Our guide on E2E passkey testing with the virtual authenticator walks through the setup.
It leaves out the platform dialog, the user verification prompt and the provider selection, which is where a managed fleet breaks. Treat it as a development tool rather than a release gate.
Once the code works, you need a real ceremony. Three paths do that without enabling Windows Hello. Each one covers a different part of the flow and still depends on the organization's security and network policy.
| Test path | What it covers | What it leaves out |
|---|---|---|
| FIDO2 security key | A real ceremony, user verification and the Windows security dialog when the relying party accepts a cross-platform authenticator | The local Windows Hello path and the synced consumer experience |
| Phone via QR code | The cross-device flow, Bluetooth policy and tunnel server reachability | Anything about the local platform authenticator |
| Small ring of unmanaged devices | The full synced passkey experience with real credential managers | Your own fleet, whose policy state stays unknown |
If an earlier project left security keys in a drawer, that path costs nothing. The third row means devices your MDM does not manage: three to five laptops for the test team, signed in with test accounts and connected through a network that reaches the endpoints from section 2.4. Start the network work early because it can take longer than obtaining the hardware.
Everything above tests your code. The rollout depends on your fleet, so measure platform authenticator availability, provider distribution and ceremony outcomes on real traffic, split by Windows version.
Published readiness numbers answer a different question. Our consumer readiness benchmark sits in the high nineties, but it describes people visiting a consumer site on their own devices. It says nothing about a fleet whose policy and device mix are set per organization. Corporate readiness has to be measured directly and can differ widely between organizations.
Get free passkey whitepaper for enterprises.
To debug this in production, collect browser-side data alongside backend events.
isUserVerifyingPlatformAuthenticatorAvailable() before enrollment. It shows whether
the browser currently sees a user-verifying platform authenticator. It does not reveal
the reason or prove that a later ceremony will succeed.NotAllowedError alone does not separate user cancellation, timeout or policy.If a group of users cannot create a passkey at all, stop prompting them for one.
An internal test tenant can answer the corporate-readiness question without changing the authentication path. Add read-only browser measurement to a page that employees open from their normal work environment. Include managed physical devices, virtual desktops and BYOD if BYOD is in scope.
Corbado Observe is one way to collect this data next to the existing authentication stack:
See how Corbado Connect ships this →A useful readiness assessment ends with four outputs: a device cohort map, the policies that affect each cohort, a test matrix for the available authenticator paths and a baseline for success, fallback and abandonment. That is enough to decide where passkeys can launch now and where endpoint or network work comes first.
On managed Windows devices, a failed passkey flow can come from application code, endpoint policy, provisioning history, virtual desktop redirection or network controls. Device readiness cannot be answered with a public benchmark.
Inventory the real cohorts and measure them in the environment where they work. Offer a phone or security-key path where a local authenticator is unavailable. Keep users out of enrollment flows that their device cannot complete. This gives product, identity, endpoint and network teams a concrete plan instead of one fleet-wide readiness guess.
Subscribe to our Passkeys Substack for the latest news.
If a registration requires a platform authenticator and Windows Hello is the only local
provider, device policy can leave that registration without a Windows Hello path when it
prevents the container from being created. A security key, a phone or a permitted
third-party passkey manager may still work when the relying party allows them. A later
NotAllowedError does not prove a policy problem because it covers several WebAuthn
outcomes.
Disabling Windows Hello for Business provisioning does not, by itself, remove an existing Windows Hello container. Users who provisioned it earlier can keep using their PIN or biometric and Windows Hello-backed website passkeys while the container remains and no other policy blocks their use.
Use Chrome DevTools or Playwright for protocol tests, a FIDO2 security key for a real ceremony, a phone over QR for the cross-device path and a small ring of unmanaged devices for the consumer credential-manager experience. The last two need the network access described in section 2.4.
Citrix can redirect WebAuthn requests from applications inside a virtual session to an authenticator on the physical endpoint. That does not authenticate the user into the Citrix session itself. Citrix documents passkey support only when both the endpoint and session host run Windows 11. A security key over plain USB redirection can be a fallback.
Often, because a personal device is usually outside the organization's Windows Hello for Business policy. It can still be affected by managed-browser rules, corporate network controls and the user's OS or credential-manager setup. Measure BYOD separately from managed devices and virtual desktops.
Collect the Windows build, browser, device-management state, Windows Hello provisioning state, platform authenticator capability, available authenticator category, transport, ceremony result and fallback outcome. The capability result shows whether a local authenticator is available in that browser context. It does not explain why.
There is no percentage that transfers reliably between organizations. Readiness depends on the device inventory, Windows versions, Windows Hello provisioning, virtual desktop setup, browser controls, credential managers and network policy. Measure the cohorts in your own environment before setting a rollout target.
Related Articles
Table of Contents