Home Blog FinTech and Embedded Finance Passkeys for financial services apps: FIDO2 implementat...
FinTech and Embedded Finance February 22, 2026 12 min read

Passkeys for financial services apps: FIDO2 implementation

FinTech and Embedded Finance Enterprise Guide 2026 SCALE D2C D2C Technology FinTech and Embedded Finance Enterprise Guide 2026 SCALE D2C D2C Technology

Passkeys — the FIDO2/WebAuthn-based passwordless authentication standard — have crossed the enterprise adoption threshold in financial services, with major banks, payment processors, and fintech platforms deploying passkeys as the primary authentication mechanism for consumer and business users. The security case is compelling: passkeys are phishing-resistant, eliminate credential stuffing attacks, and provide stronger authentication than SMS OTP at lower friction. This guide covers FIDO2 implementation specifics for financial services, regulatory alignment, and the operational considerations that determine deployment success.

Why Financial Services Is Prioritising Passkeys

Financial services organisations face a particular authentication challenge: they must balance strong security (high-value account access, regulatory requirements, liability for fraudulent transactions) with frictionless user experience (customers abandon authentication flows, especially on mobile). Traditional strong authentication — hardware tokens, SMS OTP, knowledge-based authentication — either adds significant friction or has proven security weaknesses exploited at scale.

SMS OTP, the most widely deployed strong authentication factor in financial services, has well-documented vulnerabilities: SIM swapping attacks redirect OTP codes to attacker-controlled phones; SS7 network attacks intercept SMS in transit; social engineering attacks trick users into revealing OTPs to fraudsters. These attacks have cost the financial services industry billions in fraud losses despite widespread OTP deployment.

Passkeys address the root cause rather than symptoms: they are cryptographically bound to the specific site they were created for (phishing-resistant by design — a passkey for bank.com cannot be used on a fake-bank.com), require presence and user verification at the device (eliminating remote attacks that don't require physical device access), and are device-bound (cannot be stolen without the physical device). For financial services, this threat model alignment makes passkeys the most significant authentication advancement since hardware tokens.

Passkeys — Technical Foundation
Passkeys are based on FIDO2, comprising the W3C WebAuthn specification for browser and platform APIs and the CTAP protocol for external authenticators. Authentication uses asymmetric cryptography: the authenticator (device secure element or platform authenticator) generates a key pair; the public key is registered with the relying party (your service); the private key never leaves the device. Login requires proving possession of the private key through a cryptographic challenge, verified by the device's biometric or PIN. The complete authentication is phishing-resistant because the private key is domain-scoped at creation.

Synced vs Device-Bound Passkeys for Financial Services

A critical decision for financial services passkey deployments is the choice between synced passkeys (platform passkeys that sync across devices via the OS keychain) and device-bound passkeys (FIDO2 security keys or passkeys that do not sync). The choice has significant security and UX implications.

Synced passkeys (Apple iCloud Keychain, Google Password Manager, Windows Hello cloud sync) provide the best user experience — passkeys are automatically available across all a user's devices, and passkey recovery through account recovery is possible if a device is lost. The security model accepts that the private key material exists in the cloud keychain (protected by the platform account credentials and device authentication) — appropriate for most consumer financial services use cases where the threat model includes account takeover but not physical device seizure.

Device-bound passkeys (hardware security keys like YubiKey, or platform passkeys with sync disabled) provide stronger security by ensuring the private key never leaves the physical device. This eliminates cloud keychain compromise as an attack vector but creates a significant account recovery challenge: if the device is lost, access requires a registered backup authenticator or an account recovery process. For high-security financial services use cases (treasury management, high-value corporate banking, privileged access), device-bound passkeys are appropriate; for mass-market consumer banking, synced passkeys with strong platform account security provide the right balance.

DimensionSynced PasskeysDevice-Bound Passkeys
Private key locationDevice + encrypted cloud backupDevice only (never synced)
Multi-device accessAutomatic across registered devicesRequires separate registration per device
Lost device recoveryAutomatic (via cloud account)Requires backup authenticator or recovery process
Security levelHigh (platform-protected)Very high (hardware-isolated)
Attack resistancePhishing + credential stuffing resistant; cloud account is residual riskPhishing + credential stuffing + cloud compromise resistant
Best forConsumer banking, retail investmentCorporate treasury, privileged access, high-net-worth

FIDO2 Implementation Architecture

A production FIDO2 passkey implementation for financial services requires four components: the relying party server, the WebAuthn API integration, the authenticator management system, and the account recovery flows.

Relying party server handles the server-side FIDO2 ceremony — generating registration and authentication challenges, verifying authenticator responses, and managing credential storage. Server-side FIDO2 implementation should use a well-maintained library (python-fido2, java-webauthn-server, fido2-net-lib) rather than custom implementation — the cryptographic verification logic is complex and error-prone to implement from scratch. Store passkey credentials (credential ID, public key, sign counter, metadata) with the same security classification as authentication credentials — encrypted at rest, access-logged, with AAGUID-based authenticator metadata for policy enforcement.

WebAuthn API integration is the client-side implementation using the navigator.credentials.create() and navigator.credentials.get() browser APIs (or the equivalent native APIs for iOS and Android). Use the SimpleWebAuthn library for web implementations to handle the browser compatibility complexity. For native mobile apps, use the platform-native passkey APIs (iOS ASAuthorizationController, Android CredentialManager) rather than WebView-based implementations — native APIs provide the best user experience and security properties.

Authenticator management includes credential registration (supporting multiple passkeys per account for multi-device access), credential revocation (removing passkeys from lost or compromised devices), and authenticator policy enforcement (requiring FIDO2 AAL2 authenticators for high-value operations, blocking authenticators from non-certified vendors if required by policy).

Account recovery is the most operationally critical design decision. Passkey deployment without a robust account recovery flow creates the risk of account lockout when users lose all registered devices — a significant customer service problem. Recovery options include: backup passkey on a separate device (promoted during onboarding), trusted device fallback (SMS OTP or email as recovery-only factor, not primary authentication), and in-person identity verification for account recovery as a last resort.

Regulatory Alignment: PSD2, PCI-DSS, and Passkeys

🏦
PSD2 Strong Customer Authentication
PSD2 SCA requires two-factor authentication combining two of: knowledge, possession, or inherence. Passkeys satisfy SCA by combining inherence (biometric user verification) and possession (device with private key). Passkeys are explicitly recognised in EBA guidance as SCA-compliant when implemented with user verification. This is a key regulatory enabler for European financial services deployment.
💳
PCI-DSS 4.0 Multi-Factor Authentication
PCI-DSS 4.0 requires MFA for all access to cardholder data environments. FIDO2 passkeys satisfy PCI-DSS MFA requirements when implemented with user verification (meeting phishing-resistant MFA requirements introduced in PCI-DSS 4.0). This makes passkeys directly applicable for securing access to payment processing systems.
🔐
NIST AAL2 and AAL3
NIST SP 800-63B defines Authenticator Assurance Levels. Synced passkeys with user verification meet AAL2; device-bound hardware security keys meet AAL3. Financial services applications can specify required AAL levels based on transaction risk — higher-value or higher-risk operations require AAL3 device-bound authenticators.
📋
FFIEC Authentication Guidance
US financial institutions are guided by FFIEC Authentication Guidance, which explicitly endorses phishing-resistant MFA for customer authentication in online banking. FIDO2 passkeys are considered to meet the 'phishing-resistant MFA' requirement — an important designation as regulators increase pressure on banks to move beyond SMS OTP.

Frequently Asked Questions

Account recovery without any registered authenticator is the hardest UX and security challenge in passkey deployment. Best practice is a layered recovery strategy: first, encourage users to register passkeys on multiple devices during onboarding (most users have a smartphone and a laptop — registering both eliminates single-device-loss as an issue); second, provide a backed-up device option (passkey synced via iCloud Keychain or Google Password Manager is accessible from any new device after sign-in to the platform account); third, for users with only device-bound credentials and no cloud backup, a verified recovery flow using email or SMS as a recovery-only factor (not for regular authentication) with additional identity verification challenges; and fourth, for high-security accounts, in-person or video identity verification as the final recovery option. The recovery flow should be tested thoroughly — overly restrictive recovery (forcing in-person branch visit for all passkey recovery) creates customer service problems; overly permissive recovery (SMS recovery too easily reached) undermines the phishing resistance benefit of passkeys.

Passkey support is now comprehensive across modern platforms: Chrome 108+, Safari 16+, and Firefox 122+ support WebAuthn passkeys; iOS 16+ and Android 9+ support platform passkeys natively with synced credential management; Windows Hello supports passkeys through Windows 10/11 with Chrome or Edge. Older browsers and operating systems represent a shrinking but non-zero portion of financial services users. For compatibility, implement WebAuthn detection and provide a fallback authentication path (TOTP app, SMS OTP as fallback-only) for non-supporting browsers — particularly important for financial services serving older demographics with older device fleets. Mobile banking apps using native passkey APIs (iOS ASAuthorizationController, Android CredentialManager) have broader device compatibility than WebView-based implementations for the same OS versions.

Successful passkey migration uses a progressive enablement approach rather than a forced cutover. Phase 1: make passkey registration available opt-in, with strong promotion during login (offer passkey registration immediately after successful password + OTP authentication — the highest intent moment). Phase 2: promote passkeys more aggressively to users who have not yet registered, including in-app messaging, email campaigns, and authenticated session prompts. Phase 3: for new account registrations, make passkey the default or strongly preferred enrollment path, with password as a secondary option. Phase 4: deprecate SMS OTP for regular authentication (maintaining it only as recovery), and optionally deprecate password login for accounts with active passkeys. This phased approach achieves high passkey adoption rates without forced migration resistance and allows gradual load shifting from OTP infrastructure to passkey verification. Major banks that have executed this migration report 60–80% of active users transitioning to passkeys within 12 months of Phase 1 launch.

The AAGUID (Authenticator Attestation GUID) is a unique identifier embedded in passkey credential attestations that identifies the authenticator model and manufacturer. Financial services organisations can use AAGUID information (cross-referenced with the FIDO Alliance Metadata Service, MDS) to enforce authenticator policies — for example, requiring that passkeys used for corporate treasury access come from FIDO2-certified hardware security keys from approved vendors, while accepting any platform passkey for retail customer authentication. AAGUID-based policy enforcement enables tiered authentication assurance — the same WebAuthn credential store can differentiate between a passkey from a YubiKey 5 NFC (hardware-isolated, FIDO2 Level 2 certified) and one from an iPhone platform authenticator — and apply different access permissions or additional step-up authentication requirements based on authenticator assurance level.

PSD2 SCA requires dynamic linking for payment initiation — the authentication must be bound to the specific transaction amount and payee, such that approving a modified transaction requires a new authentication. Standard passkey authentication (proving device possession and biometric) does not inherently include transaction data in the signed challenge — additional implementation is required for PSD2 dynamic linking compliance. Implementations for PSD2 dynamic linking include the transaction details (amount, payee, reference) in the WebAuthn challenge data, so the device's private key signs over the transaction details — binding the authentication to the specific transaction. This is achievable with standard WebAuthn APIs and requires server-side challenge construction to include transaction data, client-side display of transaction details before biometric confirmation, and server-side verification that the signed challenge matches the transaction being authorised. Several major European bank passkey deployments have implemented this pattern successfully for PSD2 SCA compliance.

Key metrics for passkey deployment effectiveness in financial services: authentication success rate (should exceed password + OTP baseline; degradation indicates UX or compatibility issues); passkey adoption rate by active user (target 60%+ within 12 months); authentication fraud rate comparison (passkey-authenticated sessions vs OTP-authenticated sessions — the fraud rate reduction is your primary security ROI metric); account takeover incident rate (should decline as passkey adoption increases); customer service contacts related to authentication (initial increase as users learn passkeys, declining to below pre-deployment baseline as passkeys reduce password reset volume); and abandoned authentication rate (passkey flows should show lower abandonment than OTP flows due to reduced friction). Segment all metrics by authentication method, user demographic, and device type to identify specific drop-off points for optimisation. Track passkey recovery flow trigger rate — high recovery trigger rates indicate missing backup passkeys and should drive onboarding improvements.

Hardware security keys (YubiKey, Google Titan Key, Feitian) provide FIDO2 device-bound passkeys with the highest assurance level — private keys stored in hardware secure element, certified to FIDO2 Level 2 or higher, no sync to cloud keychains. They are the right choice for financial services use cases where the highest assurance level is required: employee access to production banking systems, corporate treasury administrators, privileged access to payment processing infrastructure, and high-net-worth customer segments where asset value justifies the additional friction and cost. For these use cases, require hardware security key passkeys (enforced via AAGUID policy) rather than accepting platform passkeys. For mass-market consumer retail banking, hardware security keys are not practical at scale — the cost ($30–80 per key), distribution logistics, and user support burden make platform passkeys the pragmatic choice. A hybrid strategy deploys platform passkeys for consumer customers and hardware security keys for employees and high-value customers.

The principal implementation risks for financial services passkey deployments and mitigations: (1) Account lockout from poor recovery flows — mitigated by designing multi-path recovery before launch and testing recovery flows with real users in beta; (2) Browser/OS compatibility gaps causing authentication failures — mitigated by comprehensive compatibility testing across device fleet, WebAuthn feature detection with graceful fallback, and monitoring authentication failure reasons in production; (3) Over-reliance on biometric prompts that fail (wet fingers, accessibility users) — mitigated by ensuring PIN fallback works reliably on all platforms and testing with diverse user demographics; (4) Regulatory scrutiny of novel authentication — mitigated by early engagement with the relevant regulator, documenting compliance with SCA/PCI-DSS/NIST frameworks before launch, and maintaining expert regulatory counsel familiar with FIDO2; (5) Phased rollout creating dual-authentication complexity — mitigated by clear internal documentation of which users are on which authentication path, comprehensive monitoring of both paths, and defined sunset timelines for legacy authentication methods.

PASSKEYS F

Ready to Implement Passkeys for financial services apps: FIDO2 implem...?

Our specialist team delivers measurable ROI from FinTech and Embedded Finance programmes for enterprise and D2C brands.

Free Audit