<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: vdelitz</title>
    <description>The latest articles on DEV Community by vdelitz (@vdelitz).</description>
    <link>https://dev.to/vdelitz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1041276%2F3b6dadfd-e1b9-47ad-87ec-d19a9cbcafe2.jpg</url>
      <title>DEV Community: vdelitz</title>
      <link>https://dev.to/vdelitz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vdelitz"/>
    <language>en</language>
    <item>
      <title>Why Passwordless B2C Rollouts Stall at 5% (and How to Reach 60%)</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Thu, 21 May 2026 11:09:04 +0000</pubDate>
      <link>https://dev.to/vdelitz/passwordless-b2c-at-scale-in-2026-5h3a</link>
      <guid>https://dev.to/vdelitz/passwordless-b2c-at-scale-in-2026-5h3a</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2yaafo0q1vkvfl0m6fn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2yaafo0q1vkvfl0m6fn.png" alt="Passwordless B2C at Scale in 2026" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Passwordless for B2C at scale sounds straightforward in 2026 because every major CIAM now exposes WebAuthn APIs and markets passkeys as a standard feature. But the guide I’m referencing here looked specifically at 500k+ MAU deployments and makes a less comfortable point: enabling passkeys is not the same as driving passkey adoption.&lt;/p&gt;

&lt;p&gt;That gap shows up fast in production. Teams launch passkeys, but daily logins still run through passwords or SMS OTP. According to the guide, CIAM-native passwordless rollouts usually stall at a &lt;strong&gt;5–10% passkey login rate&lt;/strong&gt;. The structural reason is simple: the CIAM can store credentials and run policy, but it usually does not control the prompt logic, device segmentation, recovery design, or client-side telemetry needed to move users into passkey-first behavior.&lt;/p&gt;

&lt;p&gt;This is the passkey adoption fallacy in practice. “Our platform supports passkeys” is a feature statement. “We reached 60%+ passkey login rate” is an orchestration outcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  The passkey adoption ladder matters more than the vendor
&lt;/h2&gt;

&lt;p&gt;One of the most useful ideas in the guide is the &lt;strong&gt;passkey adoption ladder&lt;/strong&gt;. It reframes rollout maturity as a journey design problem, not a platform selection problem.&lt;/p&gt;

&lt;p&gt;Here’s the progression described for 500k MAU B2C environments:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rollout shape&lt;/th&gt;
&lt;th&gt;Enrollment&lt;/th&gt;
&lt;th&gt;Usage&lt;/th&gt;
&lt;th&gt;Passkey login rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Settings-only availability&lt;/td&gt;
&lt;td&gt;~4%&lt;/td&gt;
&lt;td&gt;~5%&lt;/td&gt;
&lt;td&gt;&amp;lt;1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple post-login nudge&lt;/td&gt;
&lt;td&gt;~25%&lt;/td&gt;
&lt;td&gt;~20%&lt;/td&gt;
&lt;td&gt;~4–5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Optimized enrollment&lt;/td&gt;
&lt;td&gt;~65%&lt;/td&gt;
&lt;td&gt;~40%&lt;/td&gt;
&lt;td&gt;~23%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passkey-first return flow&lt;/td&gt;
&lt;td&gt;~80%&lt;/td&gt;
&lt;td&gt;~95%&lt;/td&gt;
&lt;td&gt;&amp;gt;60%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;What changes across these stages is not the underlying Auth0, Cognito, Ping, or Clerk tenant. What changes is the login-entry experience sitting on top: device-aware prompting, conditional create passkeys, one-tap return flows, and identifier-first recovery.&lt;/p&gt;

&lt;p&gt;That’s also why large enterprises often need a &lt;strong&gt;WebAuthn orchestration layer&lt;/strong&gt;. Without it, the rollout gets trapped at baseline because the native UI is too flat for the real device landscape.&lt;/p&gt;

&lt;h2&gt;
  
  
  Device fragmentation is the real implementation constraint
&lt;/h2&gt;

&lt;p&gt;The guide is strongest where it stops talking about “passkeys” as one feature and starts talking about ecosystems. First-try web passkey enrollment is not uniform. The benchmark cited in the piece shows &lt;strong&gt;49–83% on iOS&lt;/strong&gt; and just &lt;strong&gt;25–39% on Windows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That spread has direct product implications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;iOS is generally the best environment for automatic and low-friction enrollment.&lt;/li&gt;
&lt;li&gt;Android is workable but fragmented by browser and credential provider behavior.&lt;/li&gt;
&lt;li&gt;macOS is viable in many cases, but not as predictable as iOS.&lt;/li&gt;
&lt;li&gt;Windows needs more careful fallback and often cross-device handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where conditional create passkeys and identifier-first recovery become operationally important. If you prompt the wrong user on the wrong stack, you create dead-end ceremonies and your backend logs won’t even tell you why.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authentication observability is the missing layer
&lt;/h2&gt;

&lt;p&gt;A lot of teams assume IDP logs are enough to measure passwordless authentication CIAM success. The guide argues the opposite. The most expensive failures often happen before the backend sees anything meaningful.&lt;/p&gt;

&lt;p&gt;That’s the “pre-identifier blindness” problem: users are still anonymous when browser overlays fail, autofill gets blocked, or a passkey prompt is confusing enough that they abandon the flow. Standard CIAM logs, APM traces, and SIEM data are not designed to capture that client-side ceremony.&lt;/p&gt;

&lt;p&gt;The observability section gives a concrete example. Server-side passkey success can look nearly perfect, while user-facing completion is lower, and first-suggestion interaction is where the biggest drop-off happens. If you only inspect backend metrics, your passkey rollout KPIs look healthier than the actual user journey.&lt;/p&gt;

&lt;p&gt;For technical teams, that changes rollout order. Instrument first, then optimize. Corbado is a passkey observability and adoption platform for large B2C enterprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  Buy vs. build starts with TCO, not licensing
&lt;/h2&gt;

&lt;p&gt;The guide’s TCO point is blunt and useful: licensing is not the main cost driver. Building passwordless natively into a CIAM stack at 500k MAU is estimated at &lt;strong&gt;25–30 FTE-months&lt;/strong&gt;, plus roughly &lt;strong&gt;1.5 FTE per year&lt;/strong&gt; for ongoing maintenance.&lt;/p&gt;

&lt;p&gt;That effort covers more than API integration. It includes frontend control, device classification, recovery logic, testing across OS/browser changes, and support for fallback paths that do not collapse back to passwords.&lt;/p&gt;

&lt;p&gt;The practical takeaway is that passwordless at scale is mostly an orchestration and observability problem. If your rollout is stuck at baseline, the highest-ROI move is usually to measure where users drop, segment by device stack, and fix the flow on top of your existing CIAM rather than replace it.&lt;/p&gt;

&lt;p&gt;Read the &lt;a href="https://www.corbado.com/blog/passwordless-b2c-at-scale" rel="noopener noreferrer"&gt;full breakdown&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>security</category>
      <category>ux</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Digital Identity Gap Needs Better Telemetry</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Fri, 15 May 2026 07:58:01 +0000</pubDate>
      <link>https://dev.to/vdelitz/the-digital-identity-gap-needs-better-telemetry-3pn7</link>
      <guid>https://dev.to/vdelitz/the-digital-identity-gap-needs-better-telemetry-3pn7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frix4tq4k6vexqqec74fe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frix4tq4k6vexqqec74fe.png" alt="digital identity gap" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The hidden denominator problem
&lt;/h2&gt;

&lt;p&gt;Digitization is a board-level KPI in banking, healthcare, insurance, and other regulated sectors, but most dashboards still measure only the people who already made it into digital channels. That creates a blind spot: the &lt;strong&gt;digital identity gap&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the source article, that gap means customers who exist on file but never activated or used an online login. The scale is not small. FDIC data says about &lt;strong&gt;one third of banked households did not use online banking in 2023&lt;/strong&gt;. In healthcare, HINTS/JMIR 2025 reports 38.7% of US adults did not access a patient portal in the last 12 months.&lt;/p&gt;

&lt;p&gt;This matters because a nice-looking adoption chart can still hide a 10–40% segment that never signed up, never came back, or keeps failing before the backend sees anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why backend login metrics miss the real problem
&lt;/h2&gt;

&lt;p&gt;The most uncomfortable point in the article is simple: &lt;strong&gt;over 80% of sign-up and login failures happen client-side and never reach the backend IdP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means your server logs can report a healthy success rate while users are dropping off because of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;missing email verification&lt;/li&gt;
&lt;li&gt;SMS OTP delivery issues&lt;/li&gt;
&lt;li&gt;browser or OS-specific WebAuthn problems&lt;/li&gt;
&lt;li&gt;timed-out prompts&lt;/li&gt;
&lt;li&gt;blocked popups&lt;/li&gt;
&lt;li&gt;password managers fighting the form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For identity teams, this is the difference between seeing request outcomes and seeing the actual user journey. If your telemetry starts at the API boundary, you are blind to most of the funnel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not every failure is the same failure
&lt;/h2&gt;

&lt;p&gt;One of the better distinctions in the article is that teams often collapse three different problems into one “adoption” metric:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Problem type&lt;/th&gt;
&lt;th&gt;What it looks like&lt;/th&gt;
&lt;th&gt;What usually fixes it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Conversion problem&lt;/td&gt;
&lt;td&gt;User logs in with SMS OTP but never upgrades to passkey&lt;/td&gt;
&lt;td&gt;Better upgrade prompts, timing, messaging&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Funnel problem&lt;/td&gt;
&lt;td&gt;User starts sign-up and drops at step three&lt;/td&gt;
&lt;td&gt;Better onboarding UX, recovery, delivery reliability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Identity problem&lt;/td&gt;
&lt;td&gt;Customer has no online profile at all&lt;/td&gt;
&lt;td&gt;Assisted enrollment, supervised onboarding&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If those are mixed together, roadmap decisions get distorted. A passkey adoption campaign will not help the customer who never completed sign-up. A better signup form will not help the user who refuses biometric binding and needs a hardware key or PIN-unlocked device credential.&lt;/p&gt;

&lt;h2&gt;
  
  
  The metrics that actually expose the gap
&lt;/h2&gt;

&lt;p&gt;The article argues for authentication telemetry as a client-plus-server event layer that captures every sign-up and login step, including failures that never hit the backend. That is what makes the gap measurable.&lt;/p&gt;

&lt;p&gt;A practical starter set of metrics includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sign-up completion rate by device and browser&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Login success rate (LSR)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication error rate (AER) by reason code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication drop-off rate&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reach rate by cohort&lt;/strong&gt;, measured against the full customer base&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time-to-first-authenticated-action&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key idea is segmentation. An overall sign-up completion rate may look fine, while one browser version or one branch-acquired cohort is failing badly. The article even notes that once enterprises instrument client-side events, reported success rates often turn out to overstate reality by &lt;strong&gt;10–25 percentage points&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is becoming a product-reach issue
&lt;/h2&gt;

&lt;p&gt;This is not only about support costs or password resets. The article connects the digital identity gap to &lt;strong&gt;agentic AI digital identity and authentication&lt;/strong&gt;, embedded finance, shrinking branch footprints, and self-service regulation such as PSD3 and eIDAS 2.0.&lt;/p&gt;

&lt;p&gt;Those models assume the customer can authenticate digitally. If they cannot sign up, cannot recover, or cannot use a smartphone in their work context, they are unreachable by the product itself.&lt;/p&gt;

&lt;p&gt;That is why the remediation is broader than passkey rollout alone. The article recommends:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;instrument the login funnel first&lt;/li&gt;
&lt;li&gt;fix client-side failure causes before optimizing backend success rates&lt;/li&gt;
&lt;li&gt;match credentials to segment, not ideology&lt;/li&gt;
&lt;li&gt;use &lt;strong&gt;supervised onboarding and cross-device credential provisioning&lt;/strong&gt; for customers who cannot complete enrollment alone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Corbado is a passkey observability and adoption platform for large B2C enterprises.&lt;/p&gt;

&lt;p&gt;The big takeaway: if your denominator starts with “active users,” your digitization KPI is already biased. Read the &lt;a href="https://www.corbado.com/blog/digital-identity-gap" rel="noopener noreferrer"&gt;full breakdown&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why the FBI Is Pushing Device-Bound Passkeys</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Tue, 12 May 2026 08:13:07 +0000</pubDate>
      <link>https://dev.to/vdelitz/why-the-fbi-is-pushing-device-bound-passkeys-155d</link>
      <guid>https://dev.to/vdelitz/why-the-fbi-is-pushing-device-bound-passkeys-155d</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzjo8j4x08ue5pkxgderl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzjo8j4x08ue5pkxgderl.png" alt="FBI Operation Winter Shiled" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The FBI finally said the quiet part out loud
&lt;/h2&gt;

&lt;p&gt;Operation Winter SHIELD matters because the FBI is no longer talking about authentication as a generic “use MFA” problem. It explicitly tells organizations to adopt phishing-resistant authentication, prioritize high-impact accounts, and deploy &lt;strong&gt;FIDO2-compliant security keys or device-bound passkeys&lt;/strong&gt; for authentication, remote access, and critical systems.&lt;/p&gt;

&lt;p&gt;That is a different message from the older “turn on MFA everywhere” playbook. The same guidance also says to &lt;strong&gt;eliminate SMS-based MFA&lt;/strong&gt; and &lt;strong&gt;disable legacy authentication&lt;/strong&gt;. That is the real shift.&lt;/p&gt;

&lt;p&gt;Microsoft added useful context around the attack pressure behind this move: &lt;strong&gt;7,000 password attacks per second&lt;/strong&gt; in 2024, with &lt;strong&gt;97% of identity attacks&lt;/strong&gt; involving password spray or brute force. If your login stack still depends on passwords plus phishable backup factors, attackers already know where to aim.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why “MFA” is no longer a useful endpoint
&lt;/h2&gt;

&lt;p&gt;A lot of teams still treat MFA as the finish line. It is not.&lt;/p&gt;

&lt;p&gt;SMS codes, OTP apps, and push approvals all improve things compared to passwords alone, but they are still vulnerable to phishing and real-time relay attacks. Winter SHIELD reflects that reality. The FBI guidance is not asking for one more factor. It is asking for a factor that is structurally harder to phish.&lt;/p&gt;

&lt;p&gt;That aligns with broader U.S. guidance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CISA&lt;/strong&gt; calls phishing-resistant MFA the gold standard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FIDO/WebAuthn&lt;/strong&gt; is the only widely available phishing-resistant authentication model CISA points to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NIST&lt;/strong&gt; says properly implemented syncable authenticators can be phishing-resistant and support &lt;strong&gt;AAL2&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why passkeys matter in 2026. They improve both security and usability. The source article cites Microsoft data showing passkey sign-ins succeed about &lt;strong&gt;98%&lt;/strong&gt; of the time, versus &lt;strong&gt;32%&lt;/strong&gt; for passwords.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the FBI specifically mentions device-bound passkeys
&lt;/h2&gt;

&lt;p&gt;This is the nuance many teams will miss.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;device-bound passkey&lt;/strong&gt; stays on one physical device and does not sync through a cloud keychain. A synced passkey, by contrast, is available across devices connected to platforms like iCloud Keychain or Google Password Manager.&lt;/p&gt;

&lt;p&gt;The FBI’s wording makes sense because Winter SHIELD focuses on &lt;strong&gt;administrators, executives, remote access, and critical systems&lt;/strong&gt;. In those environments, assurance and administrative control often matter more than portability.&lt;/p&gt;

&lt;p&gt;Here is the practical tradeoff:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Best fit&lt;/th&gt;
&lt;th&gt;Main advantage&lt;/th&gt;
&lt;th&gt;Main tradeoff&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Device-bound passkeys&lt;/td&gt;
&lt;td&gt;Workforce IAM, privileged access, critical systems&lt;/td&gt;
&lt;td&gt;Stronger device control and cleaner trust boundaries&lt;/td&gt;
&lt;td&gt;Less flexible recovery and cross-device use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Synced passkeys&lt;/td&gt;
&lt;td&gt;CIAM, broad employee adoption, public-facing login&lt;/td&gt;
&lt;td&gt;Better portability, recovery, and adoption&lt;/td&gt;
&lt;td&gt;Less tightly bound to a managed enterprise device&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This does &lt;strong&gt;not&lt;/strong&gt; mean synced passkeys are weak. It means the assurance model should match the use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  What rollout teams should do next
&lt;/h2&gt;

&lt;p&gt;If you read Winter SHIELD as an implementation guide, the sequencing is pretty clear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inventory phishable auth paths, especially SMS MFA, push-only approvals, and legacy protocols&lt;/li&gt;
&lt;li&gt;Rank accounts by impact, not by organizational chart&lt;/li&gt;
&lt;li&gt;Move admins, remote access users, executives, and critical operators first&lt;/li&gt;
&lt;li&gt;Use device-bound passkeys or FIDO2 security keys where device governance is essential&lt;/li&gt;
&lt;li&gt;Use synced passkeys where recovery and multi-device access are required&lt;/li&gt;
&lt;li&gt;Remove fallback paths, or the strongest method will be bypassed by the weakest one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last point is easy to underestimate. A passkey rollout does not buy much if legacy auth or SMS remains the convenient recovery path.&lt;/p&gt;

&lt;p&gt;For workforce IAM, Winter SHIELD is really about shrinking escape hatches. For CIAM, the takeaway is different: design toward phishing-resistant login as the long-term baseline, but do not force high-assurance enterprise assumptions onto mass-market customer journeys.&lt;/p&gt;

&lt;p&gt;Read the &lt;a href="https://www.corbado.com/blog/fbi-operation-winter-shield-passkeys" rel="noopener noreferrer"&gt;full breakdown&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>3 Things Teams Still Underestimate When Rolling Out Passkeys</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Thu, 07 May 2026 07:17:38 +0000</pubDate>
      <link>https://dev.to/vdelitz/3-things-teams-still-underestimate-when-rolling-out-passkeys-1cca</link>
      <guid>https://dev.to/vdelitz/3-things-teams-still-underestimate-when-rolling-out-passkeys-1cca</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmxs7wol7n3spe4s3n6w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmxs7wol7n3spe4s3n6w.jpeg" alt="Corbado Passkey Benchmark 2026" width="800" height="732"&gt;&lt;/a&gt;For World Passkey Day, we published the &lt;strong&gt;Passkey Benchmark 2026&lt;/strong&gt; to look at what passkey adoption actually looks like in real deployments.&lt;/p&gt;

&lt;p&gt;One thing became clear very quickly: shipping passkeys is only one part of the problem.&lt;/p&gt;

&lt;p&gt;What teams often underestimate is everything around &lt;strong&gt;adoption, fallback, and operational visibility&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here are three recurring patterns from the benchmark.&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Readiness is not the main bottleneck anymore
&lt;/h1&gt;

&lt;p&gt;Mobile passkey readiness is already at &lt;strong&gt;97–99%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means many teams are no longer blocked by platform support. The bigger challenge is converting ready users into actual passkey users.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Enrollment is highly sensitive to rollout quality
&lt;/h2&gt;

&lt;p&gt;Passkey enrollment can reach up to &lt;strong&gt;83%&lt;/strong&gt; when the prompt and flow are designed well.&lt;/p&gt;

&lt;p&gt;This is an important reminder that implementation quality matters. Prompt timing, UX clarity, and recovery setup directly affect passkey creation.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Conditional UI is the most underused UX lever
&lt;/h2&gt;

&lt;p&gt;When passkeys surface directly in the login field (Conditional UI), desktop logins complete &lt;strong&gt;94%&lt;/strong&gt; of the time.&lt;/p&gt;

&lt;p&gt;Most teams still trigger passkeys via a button or modal — moving them into the input field changes the outcome dramatically.&lt;/p&gt;




&lt;p&gt;If you are building or rolling out passkeys, these are the areas worth paying close attention to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full benchmark:&lt;/strong&gt; &lt;a href="https://www.corbado.com/passkey-benchmark-2026" rel="noopener noreferrer"&gt;Passkey Benchmark 2026&lt;/a&gt;&lt;/p&gt;

</description>
      <category>passkey</category>
      <category>cybersecurity</category>
      <category>webaut</category>
    </item>
    <item>
      <title>Why Hardware-Bound Passkeys Still Struggle</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Wed, 06 May 2026 13:06:48 +0000</pubDate>
      <link>https://dev.to/vdelitz/why-hardware-bound-passkeys-still-struggle-3iah</link>
      <guid>https://dev.to/vdelitz/why-hardware-bound-passkeys-still-struggle-3iah</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4fvfzy6mddv354uvwra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4fvfzy6mddv354uvwra.png" alt="Why Hardware-Bound Passkeys Still Struggle" width="720" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hardware-bound passkeys offer AAL3 assurance, but synced passkeys dominate consumer adoption. Here’s why distribution and UX matter more. &lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware-bound passkeys have a market problem, not a crypto problem
&lt;/h2&gt;

&lt;p&gt;Hardware-bound passkeys are the strongest consumer passkey model on paper. The private key stays inside a physical secure element, which is why they can reach NIST AAL3, while synced passkeys are capped at AAL2.&lt;/p&gt;

&lt;p&gt;But consumer adoption tells a different story.&lt;/p&gt;

&lt;p&gt;The FIDO Alliance Authentication Barometer 2024 shows that hardware-bound passkey activation in consumer banking is still below 5 percent in 2025. That is the core tension: the highest-assurance option exists, standards are mature, and yet almost nobody uses it at scale in consumer apps.&lt;/p&gt;

&lt;p&gt;The reason is not weak hardware. It is distribution and default UX.&lt;/p&gt;

&lt;p&gt;Apple and Google control over 99 percent of mobile share, and they decide which passkey option users see first. Synced passkeys get the prime placement through iCloud Keychain and Google Password Manager. A hardware authenticator usually sits one to three clicks deeper. Once that prompt hierarchy is set, even strong FIDO2 security keys or FIDO2 smart cards start the race from behind.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real split: storage policy changes the whole deployment model
&lt;/h2&gt;

&lt;p&gt;At the protocol level, synced and hardware-bound credentials are both WebAuthn credentials. The difference is where the private key lives and whether it can be recovered from the cloud.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key storage&lt;/th&gt;
&lt;th&gt;Recovery&lt;/th&gt;
&lt;th&gt;Assurance&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Synced passkeys&lt;/td&gt;
&lt;td&gt;Cloud-synced manager like iCloud Keychain or Google Password Manager&lt;/td&gt;
&lt;td&gt;Easy across devices&lt;/td&gt;
&lt;td&gt;AAL2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardware-bound passkeys&lt;/td&gt;
&lt;td&gt;Physical secure element on a security key, smart card, or TPM&lt;/td&gt;
&lt;td&gt;Harder, often manual&lt;/td&gt;
&lt;td&gt;AAL3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That storage-policy difference drives everything downstream:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Regulatory fit: hardware-bound credentials align better with stricter possession-factor requirements such as PSD2 and PSD3 interpretations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Recovery burden: synced passkeys recover smoothly, while hardware loss can push users into risky fallback flows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consumer behavior: most users choose the default option that appears in the autofill flow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why WebAuthn Conditional UI matters so much. It favors the credential manager already integrated into the platform. Hardware is technically supported, but rarely promoted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security keys and smart cards face different bottlenecks
&lt;/h2&gt;

&lt;p&gt;The consumer race is mostly a contest between two hardware forms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;FIDO2 security keys, usually sold directly to users&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;FIDO2 smart cards, often distributed by banks or issuers&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each has a clear weakness.&lt;/p&gt;

&lt;p&gt;Security keys are expensive for broad consumer rollout. A typical device costs 40 to 80 USD, which works in enterprise settings but not for mainstream consumer login.&lt;/p&gt;

&lt;p&gt;Smart cards solve distribution better because banks already issue physical cards. They can also fit regulated journeys like transaction confirmation and account recovery. But they depend heavily on NFC passkey authentication, and that is where deployment gets messy. Android NFC behavior varies across manufacturers, and a tap flow that works on one device may fail on another.&lt;/p&gt;

&lt;p&gt;So the market is not blocked by cryptography. It is blocked by prompt design, NFC fragmentation, recovery design, and support economics.&lt;/p&gt;

&lt;h2&gt;
  
  
  The winner will combine hardware with observability and routing
&lt;/h2&gt;

&lt;p&gt;This is why passkey adoption engineering matters more than many teams expect.&lt;/p&gt;

&lt;p&gt;A hardware vendor can ship excellent silicon and still lose if it cannot answer basic deployment questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did the user ever see the hardware option?&lt;/li&gt;
&lt;li&gt;Did they abandon at the NFC tap?&lt;/li&gt;
&lt;li&gt;Did the browser suppress the preferred path?&lt;/li&gt;
&lt;li&gt;Did the relying party trigger unnecessary recovery?&lt;/li&gt;
&lt;li&gt;That is an observability problem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The article’s strongest takeaway is simple: hardware alone will not win consumer authentication. The winner will pair hardware with passkey observability, device-aware routing, and continuous iteration across broken browser and OS combinations.&lt;/p&gt;

&lt;p&gt;In other words, the best product is not necessarily the strongest authenticator. It is the one that can get users through the full ceremony reliably.&lt;/p&gt;

&lt;p&gt;Banks have a real opening here because they already control card distribution and operate under stronger regulatory pressure. Hardware vendors also have a path, but only if they move beyond device sales into software, onboarding, recovery, and measurement.&lt;/p&gt;

&lt;p&gt;If you are evaluating device-bound passkeys for consumer use, the practical question is no longer “Is the hardware secure enough?” It is “Can we make this usable, measurable, and recoverable at scale?”&lt;/p&gt;

&lt;p&gt;Find out more in the &lt;a href="https://www.corbado.com/blog/hardware-bound-passkeys-consumer-race" rel="noopener noreferrer"&gt;full breakdown&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>passkey</category>
      <category>webauth</category>
    </item>
    <item>
      <title>The hidden blocker in regulated digitization</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Tue, 28 Apr 2026 11:03:13 +0000</pubDate>
      <link>https://dev.to/vdelitz/the-hidden-blocker-in-regulated-digitization-2p7a</link>
      <guid>https://dev.to/vdelitz/the-hidden-blocker-in-regulated-digitization-2p7a</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffod476ezu68qkv0p3wmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffod476ezu68qkv0p3wmy.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;em&gt;Reported adoption often starts too late in the funnel and misses the customers who never become digitally reachable.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most regulated enterprises are measuring digitization wrong. Not because the numbers are false, but because the denominator is off.&lt;/p&gt;

&lt;p&gt;Adoption dashboards typically start with customers who already made it into digital channels at least once. That sounds reasonable until you realize how many people it excludes: customers who exist on file, pay for products, interact with the business, but never activated an online login. In US banking, about one in three banked households did not use online banking in 2023. In healthcare, 38.7% of US adults never accessed a patient portal in the last 12 months.&lt;/p&gt;

&lt;p&gt;If your dashboard starts at "active digital users," those people vanish from the metric entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is not just a UX problem
&lt;/h2&gt;

&lt;p&gt;The tempting diagnosis is friction. Make the app easier and people will come. But the gap runs deeper than that.&lt;/p&gt;

&lt;p&gt;Every customer who cannot sign up or log in digitally becomes more expensive to serve over time. They sit outside the reach of agentic AI, embedded finance, self-service support, and digital cross-sell. In regulated environments this compounds fast because onboarding and authentication are already more complex than in consumer apps. Extra verification steps, recovery flows, and step-up requirements create more places to fail.&lt;/p&gt;

&lt;p&gt;The harder problem is that non-adoption is not one thing. Someone who abandons sign-up halfway through is a funnel problem. Someone who uses SMS OTP but never upgrades is a conversion problem. Someone with no digital profile at all is an identity problem. Treating all three as one adoption number leads to the wrong roadmap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why backend logs miss the real failure rate
&lt;/h2&gt;

&lt;p&gt;Here is where most teams get surprised: over 80% of sign-up and login failures happen client-side and never reach the backend IdP at all.&lt;/p&gt;

&lt;p&gt;That means backend success rates can look healthy while real users are dropping off on specific browsers, device types, or operating systems. The IdP sees a clean log because it only receives the requests that made it through. The failures stay invisible.&lt;/p&gt;

&lt;p&gt;This is why authentication telemetry across client and server matters. Without it, teams redesign aggregate flows while the actual failures stay concentrated in one browser family, one device segment, or one acquisition channel nobody was watching.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to measure instead
&lt;/h2&gt;

&lt;p&gt;The metrics that connect authentication performance to business outcomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sign-up completion rate by cohort&lt;/strong&gt; segmented by device and browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Login Success Rate (LSR)&lt;/strong&gt; across the full authenticated surface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication Error Rate (AER)&lt;/strong&gt; broken down by reason code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reach rate&lt;/strong&gt; calculated against the full customer base, not just active users&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time-to-first-authenticated-action&lt;/strong&gt; as an onboarding health signal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not vanity metrics. Failed logins correlate directly with churn, support volume, and abandoned-session revenue loss.&lt;/p&gt;

&lt;h2&gt;
  
  
  One credential type will not fix this
&lt;/h2&gt;

&lt;p&gt;Mobile-first customers may respond well to passkeys. Field workers often need options that do not depend on a personal smartphone. Privacy-averse users tend to prefer hardware keys or PIN-unlocked credentials over biometric binding. Some customers will still need supervised onboarding through channels they already trust, like a branch or call center.&lt;/p&gt;

&lt;p&gt;The goal is not to pick the best authentication method. It is to maximize successful logins across the full customer base.&lt;/p&gt;

&lt;h2&gt;
  
  
  The key takeaway
&lt;/h2&gt;

&lt;p&gt;The biggest blocker in regulated digitization is often not low engagement inside digital channels. It is the unseen population that never becomes digitally reachable in the first place.&lt;/p&gt;

&lt;p&gt;Honest adoption numbers and a realistic path to closing the gap both start with the same thing: telemetry that captures the full authentication journey, not just the backend slice that already succeeded.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Find out more at &lt;a href="https://www.corbado.com/blog/digital-identity-gap" rel="noopener noreferrer"&gt;corbado.com/blog/digital-identity-gap&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Brave Passkeys: Clean WebAuthn, Messy UX</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Wed, 15 Apr 2026 16:43:21 +0000</pubDate>
      <link>https://dev.to/corbado/brave-passkeys-clean-webauthn-messy-ux-1ll7</link>
      <guid>https://dev.to/corbado/brave-passkeys-clean-webauthn-messy-ux-1ll7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcr56wn56iffp4dv0f1hc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcr56wn56iffp4dv0f1hc.png" alt="Brave browser passkey dialog" width="800" height="420"&gt;&lt;/a&gt;Brave's passkey story in 2026 is a good example of why standards compliance does not automatically produce a clean user experience.&lt;/p&gt;

&lt;p&gt;At the implementation level, Brave is almost entirely upstream Chromium for WebAuthn. The code path is essentially untouched, with only one visible customization: a string change from Chrome's "Incognito" to Brave's "Private" in the passkey save dialog. No C++ patches alter the WebAuthn flow itself.&lt;/p&gt;

&lt;p&gt;That matters because it explains why Brave usually behaves like Chromium, but also why many reported problems sit outside the core WebAuthn implementation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The practical takeaway for developers:&lt;/strong&gt; do not assume Chrome parity just because Brave shares Chromium. The biggest failures are not about attestation formats or RP configuration. They show up in surrounding layers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OS integration&lt;/li&gt;
&lt;li&gt;Extension prompts&lt;/li&gt;
&lt;li&gt;Platform services&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Where Brave actually breaks
&lt;/h2&gt;

&lt;p&gt;As of April 2026, there are 24 open Brave issues matching passkey or WebAuthn searches. The problems are not random. They cluster around three themes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Android on de-Googled devices
&lt;/h3&gt;

&lt;p&gt;The sharpest issue is dependency on Google Play Services. Issue #45415 documents that on GrapheneOS, CalyxOS, /e/OS, and similar setups, passkey registration and authentication can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time out completely&lt;/li&gt;
&lt;li&gt;Fail to open the dialog at all&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chromium can use Android's Credential Manager on newer versions, but that does not eliminate the failure mode across all devices and configurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key lesson:&lt;/strong&gt; "Android support" is too broad a test label. If your users include privacy-focused Android distributions, Brave needs separate validation.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Windows Hello prompts
&lt;/h3&gt;

&lt;p&gt;Issue #51858 shows a different boundary problem. Disabling Brave's own passkey-saving settings does &lt;strong&gt;not&lt;/strong&gt; stop Windows Hello from being offered as a WebAuthn platform authenticator. That is because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The site talks to WebAuthn&lt;/li&gt;
&lt;li&gt;The OS advertises Hello directly&lt;/li&gt;
&lt;li&gt;Brave's settings do not control that OS-level offer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key lesson:&lt;/strong&gt; If your product team expects a browser toggle to suppress Windows Hello, that expectation is wrong in Brave today.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Extension interception
&lt;/h3&gt;

&lt;p&gt;Issue #37762 tracks the native passkey UI overriding Bitwarden and 1Password prompts. This has been active since April 2024, and a previous workaround using the &lt;code&gt;web-authentication-new-passkey-ui&lt;/code&gt; flag disappeared in Chromium 146.&lt;/p&gt;




&lt;h2&gt;
  
  
  Storage choice is the real product decision
&lt;/h2&gt;

&lt;p&gt;Passkey reliability in Brave depends less on browser branding and more on &lt;strong&gt;where the credential lives&lt;/strong&gt;. Brave does not provide Chrome-style browser-profile passkey sync through Google Password Manager. Instead, it delegates to the platform authenticator or to third-party extension flows.&lt;/p&gt;

&lt;p&gt;That creates a clear storage tradeoff:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Storage option&lt;/th&gt;
&lt;th&gt;Portability&lt;/th&gt;
&lt;th&gt;Limitation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;iCloud Keychain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Works across Safari, Chrome, Brave on Apple devices&lt;/td&gt;
&lt;td&gt;Tied to Apple ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Windows Hello&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clean on one device&lt;/td&gt;
&lt;td&gt;Effectively device-bound&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Password manager extensions&lt;/strong&gt; (Bitwarden, 1Password)&lt;/td&gt;
&lt;td&gt;Only broadly workable cross-platform sync&lt;/td&gt;
&lt;td&gt;Most unstable in Brave (see below)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cross-device auth (CDA)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;QR code + Bluetooth from another device&lt;/td&gt;
&lt;td&gt;Not a sync strategy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;macOS nuance:&lt;/strong&gt; A passkey created in Brave can be used in Safari on another Apple device only if it was saved into iCloud Keychain. A browser-local credential does not magically become cross-browser portable.&lt;/p&gt;




&lt;h2&gt;
  
  
  The extension problem is the most important regression
&lt;/h2&gt;

&lt;p&gt;If you support users across Windows, macOS, Linux, and Android, extension-based vaults are still the most practical answer. But this is also where Brave is most unstable.&lt;/p&gt;

&lt;p&gt;If your login relies on extension-owned passkeys, don't just test whether WebAuthn succeeds. Test:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prompt ownership&lt;/strong&gt; — does the right dialog appear?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fallback behavior&lt;/strong&gt; — what happens when it doesn't?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recovery UX&lt;/strong&gt; — what does the user see when the browser routes them into the OS dialog instead of the extension they expected?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For high-value accounts:&lt;/strong&gt; keep a hardware security key as fallback. In Brave today, that is not just a security recommendation. It is an operational safety net.&lt;/p&gt;




&lt;p&gt;Read the full breakdown here: &lt;a href="https://www.corbado.com/blog/passkeys-brave-browser" rel="noopener noreferrer"&gt;https://www.corbado.com/blog/passkeys-brave-browser&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>browser</category>
      <category>security</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Why you need Authentication Observability for CIAM</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Thu, 09 Apr 2026 14:58:07 +0000</pubDate>
      <link>https://dev.to/vdelitz/why-you-need-authentication-observability-for-ciam-1jee</link>
      <guid>https://dev.to/vdelitz/why-you-need-authentication-observability-for-ciam-1jee</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7flc8djmua7cqf03i37.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7flc8djmua7cqf03i37.webp" alt=" " width="800" height="420"&gt;&lt;/a&gt;Passkeys tend to look "done" when you can complete a WebAuthn ceremony and your IdP logs show green checkmarks. In CIAM, that's a trap. The FIDO Alliance Passkey Index (2025) reports passkey sign-ins achieve a &lt;strong&gt;93% success rate&lt;/strong&gt; vs. &lt;strong&gt;63% for passwords and SMS OTP&lt;/strong&gt;, yet many real-world rollouts still see a passkey adoption rate stuck around &lt;strong&gt;5% to 15%&lt;/strong&gt;. The gap is usually not your backend. It's the user's device, browser, OS UI, and credential manager.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "Authentication Observability for CIAM" actually means
&lt;/h2&gt;

&lt;p&gt;Authentication Observability for CIAM is about seeing the full consumer login journey, including everything that happens on the client before your server receives a request. That matters because &lt;strong&gt;over 80% of passkey failures can happen on the consumer's device&lt;/strong&gt; before any request reaches the backend, so IdP logs literally cannot explain them.&lt;/p&gt;

&lt;p&gt;Client-side WebAuthn telemetry should capture more than "success" or "error." You want to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How the ceremony started (Conditional UI autofill, a passkey button, or manual identifier entry)&lt;/li&gt;
&lt;li&gt;Whether the device was even capable&lt;/li&gt;
&lt;li&gt;Which credential manager took over (iCloud Keychain, Google Password Manager, Windows Hello, Samsung Pass, browser extension)&lt;/li&gt;
&lt;li&gt;What happened at biometrics (success, timeout, cancel)&lt;/li&gt;
&lt;li&gt;Which specific WebAuthn error code ended the attempt&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The CIAM-specific blind spot: pre-identifier abandonment
&lt;/h2&gt;

&lt;p&gt;Workforce IAM assumes the user exists before login. CIAM does not. If a consumer lands on your login page, gets confused by a native prompt, or an extension overlays the UI, then bounces before typing an email, your backend has nothing. That "pre-identifier blindness" is where funnel leakage hides.&lt;/p&gt;

&lt;p&gt;This is why passkey analytics cannot start at &lt;code&gt;/token&lt;/code&gt; or &lt;code&gt;/authorize&lt;/code&gt;. It has to start at &lt;strong&gt;page load or app screen render&lt;/strong&gt;, with a silent capability probe that determines whether passkeys and Conditional UI are available before you show any UI. Without that, you can't tell the difference between "users don't want passkeys" and "eligible users never saw a usable passkey entry point."&lt;/p&gt;

&lt;h2&gt;
  
  
  The KPIs that matter: activation and usage (not just success)
&lt;/h2&gt;

&lt;p&gt;A passkey dashboard that only tracks Login Success Rate (LSR) misses the point. You need two adoption KPIs that map to behavior change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passkey activation rate&lt;/strong&gt; is the share of eligible users (devices that support passkeys) who actually create one when prompted. In practice, you can't compute this reliably from backend logs or generic product analytics because those tools don't know eligibility. Client-side probes make eligibility measurable, so activation becomes a real denominator, not a guess.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passkey usage rate&lt;/strong&gt; is the share of daily logins that happen with passkeys, not just "has a passkey." Lots of users enroll once and still type passwords out of habit, or because autofill is buried, or because Conditional UI doesn't render due to CSS or custom inputs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why GA4 and generic analytics break on passkey debugging
&lt;/h2&gt;

&lt;p&gt;You can push custom events into GA4 or Mixpanel, but passkey performance depends on high-cardinality combinations: OS version, browser version, credential manager, device model, authenticator type, and cross-device login method. GA4 high-cardinality passkey data quickly collapses into &lt;code&gt;(other)&lt;/code&gt; once you exceed the platform's practical limits, which is exactly where the long tail of passkey bugs lives.&lt;/p&gt;

&lt;p&gt;Also, the most important states are native WebAuthn and credential-manager states that generic analytics does not model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether Conditional UI tracking fired but wasn't selected&lt;/li&gt;
&lt;li&gt;Whether a user attempted Cross-Device Authentication (QR + Bluetooth)&lt;/li&gt;
&lt;li&gt;Whether the platform authenticator was detected&lt;/li&gt;
&lt;li&gt;Whether the request got intercepted by an extension&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  WebAuthn error code diagnostics that lead to actions
&lt;/h2&gt;

&lt;p&gt;If you only store "NotAllowedError happened," you still need interpretation. In production, WebAuthn error code diagnostics should map to a concrete response:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;NotAllowedError&lt;/code&gt;&lt;/strong&gt; — Often user cancel or timeout. Treat spikes as a UX messaging and retry problem, not a server outage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;NotSupportedError&lt;/code&gt;&lt;/strong&gt; — A capability or environment issue. Suppress passkey UI and route to a fallback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;SecurityError&lt;/code&gt;&lt;/strong&gt; — Often points to HTTPS, RP ID, or domain configuration issues that require immediate investigation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;UnknownError&lt;/code&gt;&lt;/strong&gt; — Can indicate credential-manager crashes or extension interference. Segmenting by browser + extension presence becomes critical.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key developer takeaway: &lt;strong&gt;error codes become valuable only when they are enriched with client context and segmented into cohorts.&lt;/strong&gt; Otherwise you'll waste weeks debating whether you have a "passkey problem" or a "Samsung Pass on a specific Galaxy + One UI version" problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conditional UI is a silent failure point (and you need telemetry for it)
&lt;/h2&gt;

&lt;p&gt;Conditional UI often runs invisibly in the background. If the user doesn't select the passkey from the autofill dropdown, your backend never learns that Conditional UI was invoked. That means you can have "passkeys are supported" and "Conditional UI is firing" while usage stays low because the dropdown is suppressed by styling, rendered below the fold, or visually crowded by password manager overlays.&lt;/p&gt;

&lt;p&gt;Instrumentation should record &lt;strong&gt;invocation&lt;/strong&gt; and &lt;strong&gt;selection&lt;/strong&gt; separately. If invocation is high and selection is low, the fix is almost always UI, layout, or input styling — not cryptography.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rollout safety: a CIAM passkey kill switch is not optional
&lt;/h2&gt;

&lt;p&gt;CIAM environments include unmanaged devices, old OS builds, regional Android OEM skins, and multiple password managers. So you need a CIAM passkey rollout kill switch that can suppress passkey prompts for known-bad device and OS cohorts and route users to a stable fallback before they hit a broken native modal.&lt;/p&gt;

&lt;p&gt;This is not about giving up on passkeys. It's about protecting conversion and support costs while you isolate systemic breakage. The same telemetry that identifies broken cohorts also identifies high-confidence cohorts (for example, a specific macOS + Safari segment) where you can be more aggressive with prompting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nudging based on cohorts, not gut feeling
&lt;/h2&gt;

&lt;p&gt;Once you can segment by device capability and actual funnel behavior, you can nudge the right people at the right time. A recurring high-conversion moment is &lt;strong&gt;"after pain"&lt;/strong&gt; — immediately after a password reset, when user motivation is high. Observability lets you prove whether this increases passkey activation rate in your own traffic, and whether the effect holds by cohort.&lt;/p&gt;

&lt;p&gt;Likewise, usage rate improvements often come from initiation UX. If users with an existing passkey still type into fields, you likely need a more prominent passkey entry point, better autofill positioning, or better cross-device instructions when QR + Bluetooth completion is dropping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build vs. buy: the hidden maintenance cost is taxonomy drift
&lt;/h2&gt;

&lt;p&gt;A lot of teams start by wrapping WebAuthn calls and sending events to an internal pipeline. The hard part is keeping the taxonomy correct across browser releases, OS updates, new WebAuthn error behaviors, and a growing list of credential managers and extensions. You also need to fix issues quickly, ideally via config, not a full frontend deployment cycle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.corbado.com" rel="noopener noreferrer"&gt;Corbado&lt;/a&gt; is a passkey observability and adoption platform for large B2C enterprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to take away
&lt;/h2&gt;

&lt;p&gt;If your passkey adoption rate is stuck in single digits, don't assume "users hate passkeys." Measure &lt;strong&gt;passkey activation rate&lt;/strong&gt; and &lt;strong&gt;passkey usage rate&lt;/strong&gt; with client-side WebAuthn telemetry, add Conditional UI tracking, make GA4 high-cardinality limitations explicit in your strategy, and implement a kill switch so broken cohorts don't poison your rollout.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Find out more on &lt;a href="https://www.corbado.com/blog/authentication-observability" rel="noopener noreferrer"&gt;corbado.com/blog/authentication-observability&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>architecture</category>
      <category>infrastructure</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Australia's Payday Super: SMS OTP Cost Crisis 2026</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Tue, 31 Mar 2026 07:54:16 +0000</pubDate>
      <link>https://dev.to/corbado/payday-super-sms-otp-costs-2026-why-australian-super-funds-authentication-breaks-under-apra-cps-49g0</link>
      <guid>https://dev.to/corbado/payday-super-sms-otp-costs-2026-why-australian-super-funds-authentication-breaks-under-apra-cps-49g0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4wyrlvy6dbdldi8u24t.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4wyrlvy6dbdldi8u24t.webp" alt="Payday Super SMS OTP Cost Explosion - Corbado" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Australia's Payday Super reform (effective 1 July 2026) quietly turns SMS OTP into a line item that scales like a tax. When super contributions move from quarterly to every pay cycle, member engagement shifts with it. If your app nudges members with "your contribution arrived" notifications, logins per member can jump from 4 to 24+ per year. That's the core driver behind the Payday Super SMS OTP costs 2026 problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 1 July 2026 pile up is the real risk
&lt;/h2&gt;

&lt;p&gt;Three deadlines collide on 1 July 2026: Payday Super, SuperStream 3.0 upgrades (including NPP and Member Verification Request MVR), and the ACMA SMS Sender ID Register 1 July 2026. Layer on APRA CPS 230 operational risk management (effective 1 July 2025) and existing APRA CPS 234 MFA requirements, and you get a compliance and cost squeeze at the same time. The practical outcome is that SMS based authentication becomes both more expensive and harder to defend.&lt;/p&gt;

&lt;h2&gt;
  
  
  The cost model is brutal and has no economies of scale
&lt;/h2&gt;

&lt;p&gt;The article's cost model makes the problem concrete. With SMS OTP priced at 0.05 AUD per message, a mid tier fund with 1 million members sees annual authentication costs surge:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Pre-Payday Super&lt;/th&gt;
&lt;th&gt;Post-Payday Super&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Logins per member/year&lt;/td&gt;
&lt;td&gt;~4&lt;/td&gt;
&lt;td&gt;~24+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Annual SMS OTP cost&lt;/td&gt;
&lt;td&gt;$230,000&lt;/td&gt;
&lt;td&gt;$1,380,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost increase&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;~500%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That is a SMS OTP cost increase 500% driven mostly by login frequency. The model also adds a realistic overhead: segment length multipliers and failure charges mean you can pay even when messages do not arrive.&lt;/p&gt;

&lt;h2&gt;
  
  
  ACMA SMS Sender ID Register changes deliverability and pricing dynamics
&lt;/h2&gt;

&lt;p&gt;From 1 July 2026, branded sender IDs become a governance requirement under the ACMA register. Without verification, messages can land in a generic "Unverified" thread, which undermines trust and increases support calls when members hesitate to enter codes. Carriers are also signaling premium pricing for verified A2P traffic, so even if you optimize message length, per message cost pressure can still rise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payday Super drives "bank scale" IAM loads inside super funds
&lt;/h2&gt;

&lt;p&gt;Payday Super makes superannuation feel real time. A fortnightly paid member goes from 4 contribution events per year to 26, and each event can trigger a login. At fund scale, that turns Australian super funds authentication into a high volume system:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fund Size&lt;/th&gt;
&lt;th&gt;Auth Events (Before)&lt;/th&gt;
&lt;th&gt;Auth Events (After)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2-4 million members&lt;/td&gt;
&lt;td&gt;8-12 million/year&lt;/td&gt;
&lt;td&gt;48-72 million/year&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If your primary step up method is per login SMS OTP, your OpEx grows with engagement.&lt;/p&gt;

&lt;h2&gt;
  
  
  SuperStream 3.0 and NPP reduce fraud response time, not just settlement time
&lt;/h2&gt;

&lt;p&gt;SuperStream 3.0 introduces near instant settlement via the New Payments Platform and introduces the Member Verification Request (MVR) service to pre validate whether a fund will accept a contribution. NPP's speed changes the fraud equation. If an attacker gets into a member account, the window to detect and reverse activity shrinks dramatically compared to batch settlement. This is where APRA CPS 234 MFA requirements become operationally sharp, not theoretical.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why SMS OTP is increasingly hard to justify for security
&lt;/h2&gt;

&lt;p&gt;SMS OTP concentrates risk in the telecommunications layer. The post calls out SIM swapping, reverse proxy phishing (MitM toolkits like Evilginx), and OTP flooding as practical bypass routes. Even if your password hygiene improves, SMS can become the weak link, and under CPS 230 operational risk management you still have to treat that dependency as a material operational exposure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passkeys remove the marginal cost problem entirely
&lt;/h2&gt;

&lt;p&gt;FIDO2 passkeys for superannuation fix the "variable cost per login" issue. Once a member is enrolled, each additional authentication is effectively zero marginal cost, which decouples security spend from Payday Super driven engagement. They also provide phishing resistance because WebAuthn binds the credential to the relying party origin, so a lookalike domain cannot successfully trigger the same authentication.&lt;/p&gt;

&lt;p&gt;Corbado published data showing that passkeys achieve 93% login success vs 63% for passwords, which matters in super portals where failed logins turn into helpdesk volume and member churn.&lt;/p&gt;

&lt;h2&gt;
  
  
  UniSuper passkeys implementation is the local proof point
&lt;/h2&gt;

&lt;p&gt;UniSuper is cited as an early mover rolling out passkeys on its member web portal. The useful takeaway is not "passkeys are possible", it's that members will actually enroll when the UX is positioned as a convenience upgrade and integrated into normal flows, rather than treated as an optional security setting buried in menus.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical migration pattern: shadow enrollment to OTP eradication
&lt;/h2&gt;

&lt;p&gt;The article's recommended passkey migration strategy shadow enrollment friction engineering OTP eradication is structured like an adoption funnel rather than a big bang cutover. Shadow enrollment prompts passkey creation right after a successful legacy login, friction engineering preferentially routes returning users to passkeys (Conditional UI helps), and OTP eradication phases SMS out while keeping a non SMS fallback such as TOTP for edge cases. This aligns better with CPS 230 resilience goals than a sudden change that spikes support and lockouts.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do before 1 July 2026
&lt;/h2&gt;

&lt;p&gt;If you own authentication in a super fund, treat 2026 as a deadline for economics, not just compliance. Model your post Payday Super login frequency, then stress test it against SMS pricing, failure rates, and sender ID verification requirements. Then pick an MFA path that scales without per event costs and reduces exposure to telecom based attacks.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Find out more on &lt;a href="https://www.corbado.com/blog/payday-super-sms-cost" rel="noopener noreferrer"&gt;corbado.com/blog/payday-super-sms-cost&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>infrastructure</category>
      <category>security</category>
      <category>fintech</category>
    </item>
    <item>
      <title>WebAuthn credProtect + security keys: why Chrome works and Safari “does nothing”</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Tue, 03 Mar 2026 17:23:00 +0000</pubDate>
      <link>https://dev.to/corbado/webauthn-credprotect-security-keys-why-chrome-works-and-safari-does-nothing-4aad</link>
      <guid>https://dev.to/corbado/webauthn-credprotect-security-keys-why-chrome-works-and-safari-does-nothing-4aad</guid>
      <description>&lt;h3&gt;
  
  
  The confusing failure: YubiKey registered in Chrome, login fails in Safari
&lt;/h3&gt;

&lt;p&gt;A common &lt;strong&gt;FIDO2 security keys interoperability&lt;/strong&gt; issue: you create a credential in &lt;strong&gt;Chrome&lt;/strong&gt;, everything works, then &lt;strong&gt;Safari&lt;/strong&gt; on the same machine can’t use that “same” YubiKey—often with no PIN prompt and basically no actionable error.&lt;/p&gt;

&lt;p&gt;The usual root cause is &lt;strong&gt;WebAuthn credProtect&lt;/strong&gt; (a.k.a. &lt;strong&gt;credentialProtectionPolicy&lt;/strong&gt;, CTAP 2.1). Chrome silently hardens discoverable credentials on roaming keys in ways Safari can’t reliably satisfy.&lt;/p&gt;




&lt;h3&gt;
  
  
  The trigger combo: discoverable credentials + UV="preferred"
&lt;/h3&gt;

&lt;p&gt;This mainly hits RPs that register/login with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;residentKey: "required"&lt;/strong&gt; (aka &lt;em&gt;discoverable credentials / resident key&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;userVerification: "preferred"&lt;/strong&gt; (chosen to avoid “hard fail” edge cases at scale)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With that combo, Chromium may escalate the credential to &lt;strong&gt;credProtect Level 3&lt;/strong&gt; (UV required at the authenticator), even if you didn’t explicitly request it.&lt;/p&gt;




&lt;h3&gt;
  
  
  CTAP 2.1 credProtect levels (why Level 3 is special)
&lt;/h3&gt;

&lt;p&gt;credProtect controls whether a credential can be discovered/used without user verification:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Level 1&lt;/strong&gt; (UV optional): max compatibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Level 2&lt;/strong&gt; (UV optional with credential ID list): hides resident creds unless you provide allowCredentials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Level 3&lt;/strong&gt; (UV required): key refuses assertions unless UV succeeds (PIN/biometric).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Level 3 is great security-wise, but it becomes an interop footgun when browsers don’t implement the same CTAP flows.&lt;/p&gt;




&lt;h3&gt;
  
  
  Why Safari is the odd one out (roaming authenticator limitations)
&lt;/h3&gt;

&lt;p&gt;Safari’s WebAuthn stack is optimized around &lt;strong&gt;platform passkeys&lt;/strong&gt; (Secure Enclave ≈ “always UV”). For &lt;strong&gt;roaming authenticators&lt;/strong&gt;, Safari (as of early 2026 per the article):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;doesn’t reliably &lt;strong&gt;send/handle credentialProtectionPolicy&lt;/strong&gt; for external keys&lt;/li&gt;
&lt;li&gt;often won’t prompt to &lt;strong&gt;set up a PIN&lt;/strong&gt; when UV is only &lt;em&gt;preferred&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;may fail the UV/PIN handshake a &lt;strong&gt;Level 3&lt;/strong&gt; credential requires&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result: a credential that Chrome created with Level 3 can look like “no credential found” in Safari.&lt;/p&gt;




&lt;h3&gt;
  
  
  Practical signal: Chrome-to-Safari breakage is mostly Level 3
&lt;/h3&gt;

&lt;p&gt;The article’s testing summary is basically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome + &lt;strong&gt;UV="required"&lt;/strong&gt; → tends to produce &lt;strong&gt;credProtect Level 2&lt;/strong&gt; → works in Safari/Firefox ✅&lt;/li&gt;
&lt;li&gt;Chrome + &lt;strong&gt;UV="preferred"&lt;/strong&gt; (with RK required) → escalates to &lt;strong&gt;Level 3&lt;/strong&gt; → fails in Safari ❌&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That “counterintuitive” matrix is the heart of the bug reports.&lt;/p&gt;




&lt;h3&gt;
  
  
  Firefox 139+ is catching up (but behaves differently)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Firefox 139&lt;/strong&gt; added credProtect support (authenticator-rs). It’s closer to spec parity now, and generally sticks more to what the RP explicitly requests (less implicit escalation than Chrome).&lt;/p&gt;




&lt;h3&gt;
  
  
  What to do as an RP (2 viable strategies)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;If security keys might be involved:&lt;/strong&gt; set &lt;strong&gt;userVerification: "required"&lt;/strong&gt; 🔐

&lt;ul&gt;
&lt;li&gt;avoids Chrome’s Level 3 escalation&lt;/li&gt;
&lt;li&gt;aligns PIN prompts across browsers&lt;/li&gt;
&lt;li&gt;yields credentials that interop better&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you must keep &lt;strong&gt;UV="preferred"&lt;/strong&gt; at scale:

&lt;ul&gt;
&lt;li&gt;check &lt;strong&gt;UV flag&lt;/strong&gt; server-side after registration&lt;/li&gt;
&lt;li&gt;use &lt;strong&gt;getClientExtensionResults()&lt;/strong&gt; to see whether credProtect applied&lt;/li&gt;
&lt;li&gt;downgrade trust / require extra factor (Google-style) when UV wasn’t performed&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Final note
&lt;/h3&gt;

&lt;p&gt;credProtect itself isn’t “bad”—the pain comes from inconsistent browser behavior (especially Safari + roaming authenticators). If you’re seeing the “Safari does nothing” bug: look at &lt;strong&gt;credProtect Level 3&lt;/strong&gt; + &lt;strong&gt;UV preferred vs required&lt;/strong&gt; first. 🧪🔑&lt;/p&gt;

&lt;p&gt;Find out more on the full write-up: &lt;a href="https://www.corbado.com/blog/webauthn-credprotect-security-keys" rel="noopener noreferrer"&gt;https://www.corbado.com/blog/webauthn-credprotect-security-keys&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>javascript</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Go passwordless: delete passwords for secure access</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Wed, 25 Feb 2026 17:26:40 +0000</pubDate>
      <link>https://dev.to/corbado/go-passwordless-delete-passwords-for-secure-access-4g32</link>
      <guid>https://dev.to/corbado/go-passwordless-delete-passwords-for-secure-access-4g32</guid>
      <description>&lt;p&gt;Modern organizations are increasingly adopting passwordless authentication to boost security and improve user experience. While passkeys represent a significant step forward, simply adding them to your authentication flow does not guarantee full protection. This article outlines the essential steps and considerations for enterprises moving toward complete password elimination, with a focus on phishing-resistant security and robust account recovery.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Passkeys Alone Aren't Enough for Passwordless Security
&lt;/h2&gt;

&lt;p&gt;Passkeys leverage public-key cryptography to provide strong, phishing-resistant authentication. They eliminate common risks like credential reuse and brute-force attacks. However, many implementations retain passwords as fallback or recovery options. These "backdoors"—such as SMS OTPs, email magic links, or legacy password prompts—introduce vulnerabilities that attackers frequently exploit, as seen in incidents like the MGM Resorts and Okta breaches.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Four-Phase Passwordless Journey
&lt;/h2&gt;

&lt;p&gt;Transitioning to true passwordless authentication involves a structured, phased approach:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Add Passkeys
&lt;/h3&gt;

&lt;p&gt;Start by offering passkeys as an option alongside existing authentication methods. This allows users to become familiar with the new process and builds initial adoption.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Increase Passkey Adoption
&lt;/h3&gt;

&lt;p&gt;Encourage users to make passkeys their default authentication method. Use intelligent prompts, user education, incentives, and conditional access policies to drive higher adoption rates.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Remove Passwords
&lt;/h3&gt;

&lt;p&gt;Once users consistently use passkeys, begin phasing out password-based logins. Ensure users have backup passkeys to prevent lockouts during this transition.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Phishing-Resistant Account Recovery
&lt;/h3&gt;

&lt;p&gt;Secure recovery flows by using multi-factor authentication with phishing-resistant factors such as backup passkeys, hardware security keys, or identity verification (including liveness detection). Eliminate reliance on passwords, SMS codes, or email-based recovery to close common attack vectors.&lt;/p&gt;




&lt;h2&gt;
  
  
  Enterprise Adoption: Industry Examples and Rollout Strategies
&lt;/h2&gt;

&lt;p&gt;Several organizations are at different stages of the passwordless journey. Companies like Okta, Yubico, and Cloudflare have successfully transitioned to fully passwordless authentication for their internal systems. Meanwhile, industry leaders such as Google, Apple, Microsoft, and X are taking a gradual rollout approach, analyzing user behavior and addressing edge cases along the way.&lt;/p&gt;

&lt;p&gt;For sectors with high exposure to phishing—like banking, healthcare, insurance, government, and critical infrastructure—a strategic, phased rollout is especially important. Start with early adopters, monitor adoption rates, and refine the process to minimize disruption and avoid user lockouts.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Considerations for Secure Passwordless Adoption
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Remove passwords from all authentication and recovery stages to prevent exploitation of fallback mechanisms.&lt;/li&gt;
&lt;li&gt;Ensure multi-factor authentication uses only phishing-resistant factors.&lt;/li&gt;
&lt;li&gt;Monitor user adoption and behavior analytics to guide staged rollouts.&lt;/li&gt;
&lt;li&gt;Provide seamless management of password deactivation and secure recovery options.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Platforms like Corbado support enterprises through every stage of this journey, from initial passkey integration to analytics and secure recovery workflows.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Future of Passwordless Authentication
&lt;/h2&gt;

&lt;p&gt;Achieving full passwordless authentication is not just about implementing passkeys—it requires eliminating every password entry point, including hidden ones in recovery processes. This holistic approach fortifies your organization against phishing and credential-based attacks, providing the highest standard of authentication security.&lt;/p&gt;

&lt;p&gt;Find out more about building a truly passwordless authentication system and practical implementation steps on our blog: &lt;a href="https://www.corbado.com/blog/how-to-go-fully-passwordless?mtm_campaign=dev&amp;amp;mtm_kwd=20251030" rel="noopener noreferrer"&gt;Read the full article here&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>WebAuthn ROR for cross-domain passkeys</title>
      <dc:creator>vdelitz</dc:creator>
      <pubDate>Fri, 20 Feb 2026 10:33:09 +0000</pubDate>
      <link>https://dev.to/corbado/webauthn-ror-for-cross-domain-passkeys-h3m</link>
      <guid>https://dev.to/corbado/webauthn-ror-for-cross-domain-passkeys-h3m</guid>
      <description>&lt;h2&gt;
  
  
  Unlocking Cross-Domain Passkeys with WebAuthn Related Origin Requests
&lt;/h2&gt;

&lt;p&gt;As brands expand globally, operating across multiple domains is the norm. Traditionally, FIDO/WebAuthn passkeys—built for phishing-resistant, passwordless authentication—are tightly bound to a single domain, creating friction when users attempt to log in on different country-code top-level domains (ccTLDs) or brand variants. The newly standardized WebAuthn Related Origin Requests (ROR) feature solves this, enabling secure multi-domain passkey usage without compromising on security or user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Concepts: How Related Origin Requests Work
&lt;/h2&gt;

&lt;p&gt;WebAuthn Related Origin Requests allow multiple trusted domains to share a single passkey, removing the need for users to manage separate credentials across each domain. ROR works by introducing a public, verifiable allowlist hosted at &lt;code&gt;/.well-known/webauthn&lt;/code&gt; on the primary relying party domain. This JSON file explicitly lists authorized related origins, and browsers securely fetch and validate the list to determine if cross-domain passkey usage should be permitted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Elements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Server-side:&lt;/strong&gt; Configure a well-known JSON file specifying allowed domains.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client-side:&lt;/strong&gt; Use a shared relying party ID (rpID) for consistent authentication across domains.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser enforcement:&lt;/strong&gt; Modern browsers (Chrome, Edge, Safari) validate the allowlist to ensure strict origin verification, maintaining phishing resistance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Security Foundations: Same-Origin Policy and rpID Scoping
&lt;/h2&gt;

&lt;p&gt;Security is the backbone of WebAuthn. The Same-Origin Policy and rpID scoping prevent unauthorized credential access. ROR provides a secure, standardized mechanism to relax these constraints for brands with multi-domain needs, while ensuring that only explicitly authorized origins can participate. This careful design means phishing protections remain robust, even as authentication becomes more flexible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementation Best Practices for Developers
&lt;/h2&gt;

&lt;p&gt;Implementing WebAuthn Related Origin Requests involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating a &lt;code&gt;/.well-known/webauthn&lt;/code&gt; JSON file with a list of trusted domains (up to five origins).&lt;/li&gt;
&lt;li&gt;Configuring your authentication server to serve this file at the correct path.&lt;/li&gt;
&lt;li&gt;Ensuring all client applications use the same rpID when initiating passkey authentication.&lt;/li&gt;
&lt;li&gt;Monitoring browser support and providing graceful fallbacks for browsers lacking ROR capability (notably Firefox, as of 2024).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach enables seamless, user-friendly authentication flows across all your brand’s digital properties—without sacrificing security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Use Cases: Leading Brands
&lt;/h2&gt;

&lt;p&gt;Major organizations like Microsoft, Shopify, and Amazon leverage ROR to streamline authentication across multiple domains, ensuring consistent branding and secure user journeys. Their adoption highlights the growing maturity of cross-domain passkey strategies, helping set best practices for global multi-domain authentication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Compatibility and Browser Support
&lt;/h2&gt;

&lt;p&gt;Most modern browsers—including Chrome, Edge, and Safari—support WebAuthn Related Origin Requests, making this solution broadly accessible. However, Firefox does not yet include support, so it’s critical to implement compatibility checks and fallback mechanisms to ensure all users enjoy a smooth experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strategic Considerations and Deployment Limits
&lt;/h2&gt;

&lt;p&gt;When deploying ROR, be mindful of the five-label maximum for related origins and plan your domain strategy accordingly. Consider phased rollouts for existing systems and direct integration for new projects. Automation tools and platforms can further streamline setup and ongoing management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Streamlining with Corbado
&lt;/h2&gt;

&lt;p&gt;Platforms like Corbado can automate much of the configuration, offer enterprise-grade security, assist with migratory needs, and support integration across complex architectures. Leveraging such solutions can save significant development time and reduce operational risks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: The Future of Passwordless, Multi-Domain Authentication
&lt;/h2&gt;

&lt;p&gt;WebAuthn Related Origin Requests mark a significant milestone, making seamless cross-domain passkey authentication both secure and practical for organizations with diverse web properties. This evolution in WebAuthn standards paves the way for a truly passwordless future, while maintaining industry-leading security standards.&lt;/p&gt;

&lt;p&gt;Find out more on &lt;a href="https://www.corbado.com/blog/webauthn-related-origins-cross-domain-passkeys?mtm_campaign=dev&amp;amp;mtm_kwd=20251028" rel="noopener noreferrer"&gt;our detailed guide and implementation insights&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>javascript</category>
      <category>security</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
