Sign up to the Passkey Intelligence Webinar on Oct. 8

Password Manager Testing for native App Passkeys

Complete guide to testing passkeys in native iOS/Android apps with 1Password, Bitwarden & more. Test plans, common issues & production-ready strategies.

Vincent Delitz

Vincent

Created: September 24, 2025

Updated: September 24, 2025

3rd party password manager passkey app testing

SpecialPromotion Icon

Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.

Join now

1. Introduction: Native Apps Passkeys meet Third-Party Password Managers#

With the release of iOS 17 and Android 14, the passkey landscape for native mobile apps has fundamentally changed. For the first time, third-party password managers can act as passkey providers, breaking the exclusive hold of iCloud Keychain and Google Password Manager. This allows users to bring their own trusted solutions like 1Password, Bitwarden, or Dashlane into native app authentication flows. While this is a huge win for user choice, it introduces significant complexity for developers. Your passkey implementation can behave differently across different password managers in native mobile applications. So it's important for any team to test native app passkeys and 3rd-party password managers properly.

This comprehensive guide shares our battle-tested approach to native app passkey testing with third-party password managers. While the passkey ecosystem has matured significantly in 2025, real-world implementation still requires careful validation across diverse password manager implementations. We've distilled our experience into a practical test plan that ensures your native app works seamlessly with users' preferred password managers.

SpecialPromotion Icon

Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.

Join now

2. Why Passkey Testing matters in Production#

2.1 Users bring their own Password Manager#

The password manager ecosystem has evolved beyond platform-native solutions. Users actively choose third-party password managers like 1Password, Bitwarden, Dashlane, Proton Pass and NordPass based on their specific needs, such as cross-platform sync, enterprise features or privacy preferences. Your native iOS / Android app must accommodate this diversity without forcing users to switch their trusted password management solution.

Based on data we measure across Corbado pages, we see that only 5-10% of general users rely on third-party password managers. Even though this number might sound low, it will have a huge impact on the perception of your passkey implementation and number of support tickets if you're working in a large-scale environment. We've seen that some password managers implement the WebAuthn specification slightly differently, leading to subtle variations in user experience or even bugs.

2.2 Different UX Patterns in native Apps#

Native iOS and Android apps provide different ways for passkey usage. On Android, you'll encounter passkey overlays and manual text-field inputs that trigger a passkey ceremony (for web apps, Android supports Conditional UI, too). iOS presents its own set of passkey overlay alongside Conditional UI and also manual text-field inputs. Moreover, there are other edge cases to check. All in all, your native application must gracefully handle:

  • Passkey overlay logins that appear immediately on page load
  • Conditional UI logins (iOS-only) that autosuggest available passkeys
  • Text-field logins where the user provides their username before clicking on a button
  • Cross-device authentication (CDA) for passkey usage with another device
  • Fallback mechanisms when passkey usage is not available

2.3 WebAuthn Flags require Precision#

Correct flag configuration determines whether passkeys work as expected across devices and platforms. Critical values include:

  • Relying Party ID (rpID): Must match exactly across web and native implementations and is the domain the passkey is bound to
  • User verification: Determines that the user needs to provide their local authentication
  • Resident key/discoverable credentials: Enables username-less authentication (allows for Conditional UI)
  • Backup eligibility (BE) and backup state (BS): Alllows cross-device sync of passkeys

Misconfigured flags don't always cause immediate failures. However, they could create subtle issues and inconsistencies like passkeys are available on one device but not synced across devices (even though the same 3rd-party password manager might be available on both devices). One of our findings in the tests was, that some 3rd-party password managers et the the BE/BS flags incorrectly and accounted for a big fraction of passkey issues.

2.4 Lifecycle Management in Single-Instance Apps#

Single-activity (Android) and single-scene (iOS) architectures require meticulous lifecycle management. When a password manager sheet appears and is dismissed, your app must preserve state, handle callbacks, and resume correctly. This is especially critical on Android, where the launchMode configuration can cause unexpected behavior.

For example, we found that setting MainActivity to launchMode="singleInstance" created problems. On some Android versions and OEM customizations, this mode causes the Passkey Credential Manager UI to open as a separate task. This not only adds a confusing, additional app entry to the "Recents" screen but can also cause the app to hang if it is backgrounded while the passkey dialog is open.

The recommended fix is to change the configuration to launchMode="singleTask". This prevents the Credential Manager from spawning a separate task, ensuring a more predictable lifecycle across different OEMs (Samsung, Google, Vivo, etc.) and reducing the risk of vendor-specific bugs. It provides a more stable foundation for testing navigation, overlays, and deeplinks.

We've observed that such lifecycle issues often masquerade as "password manager bugs" when they're actually application-level problems. Proper instrumentation and testing across different providers helps identify these patterns early.

3. Setting up your Test Environment#

3.1 Target Password Managers#

Focus your native app passkey testing on the most widely adopted third-party password managers:

Primary targets (essential coverage):

  • 1Password
  • Bitwarden
  • Dashlane
  • Proton Pass
  • NordPass

Secondary targets (based on your user base):

  • Regional providers (e.g., Samsung Pass for Samsung devices)
  • Enterprise solutions if targeting business users
  • Platform defaults (Google Password Manager, iCloud Keychain) as baseline

Avoid the temptation to test every available password manager. Focus on providers that represent 90% of your user base. Our analytics showed that the five primary targets covered 85% of third-party password manager users in EU/USA/UK/AUS/NZ.

3.2 Pre-Flight Checklist#

Before starting each test run, ensure a clean, reproducible environment:

1. Clean credential state:

  • Remove all existing credentials for your RP ID
  • Clear browser and app caches
  • Fully sign out and sign back into the password manager
  • Force-close and relaunch the target app

2. Stabilize the test environment:

  • Ensure stable network connectivity (no VPNs during testing)
  • Disable UI animations if automating tests
  • Use consistent device orientation
  • Document OS version, app version, and password manager version

4. The comprehensive Test Plan#

Each test validates specific aspects of passkey functionality. Document results systematically using pass/fail status and detailed notes for any anomalies.

4.1 Core Authentication Flow Tests#

Test 1: Abort Passkey Creation (after successful conventional Login)#

Validate graceful cancellation handling

āœ“ Password manager sheet opens correctly
āœ“ User cancels without creating a passkey
āœ“ App returns to login screen āœ“ No orphaned credentials in the password manager
āœ“ UI displays appropriate retry options

Test 2: Create Passkey (after successful conventional Login)#

Verify passkey creation after authentication flow

āœ“ Local authentication launches reliably
āœ“ Biometric authentication completes successfully
āœ“ Credential created with correct RP ID
āœ“ App transitions to authenticated state without loops

Test 3: Authenticate witheExisting Passkey#

Test standard authentication scenarios

āœ“ Passkey Overlay UI appears or user provides username in text-field scenario āœ“ Biometric scan and single biometric prompt leads to successful authentication
āœ“ No selection loops or sheet re-appearances
āœ“ Session remains stable post-authentication

Test 4: Create Passkey from Settings#

Validate in-app passkey management

āœ“ Correct RP ID, discoverability and BE/BS flags
āœ“ App remains authenticated after creation
āœ“ Password manager updates immediately with correct labels

Test 5: Delete passkey and try to re-login#

Test credential lifecycle management

āœ“ Delete passkey in settings āœ“ Passkey login is not possible
āœ“ Suitable fallback option is offered

4.2 Cross-Platform Compatibility Tests#

Test 6: Use Native-Created Passkey in Web (Same Device)#

Validate app-to-web portability

āœ“ Browser recognizes app-created passkeys
āœ“ Selection sheet shows correct RP association
āœ“ Authentication completes without QR/CDA detour

Test 7: Use Web-Created Passkey in Native App#

Test web-to-app credential sharing

āœ“ App surfaces web-created credential in selection
āœ“ First-attempt authentication succeeds
āœ“ No forced password fallback

Test 8: Cross-Device Sync (Mobile to Desktop)#

Verify passkey sync from native app to desktop browser

āœ“ App-created passkey syncs to desktop password manager āœ“ Synced passkey works seamlessly in desktop browser āœ“ No QR code / cross-device flow is triggered āœ“ Authentication completes without loops or errors

Test 9: Cross-Device Sync (Desktop to Mobile)#

Verify passkey sync from desktop browser to native app

āœ“ Desktop-created passkey syncs to mobile password manager āœ“ Native app correctly surfaces the synced passkey āœ“ Authentication succeeds without password fallback āœ“ Logs tie assertion to the correct credential ID

Test 10: Mobile as Authenticator for Web#

Validate phone-as-security-key scenarios

āœ“ Phone offers app-created credential for web CDA
āœ“ No false "no passkeys available" errors
āœ“ Web session completes after mobile biometric

5. Common Issues and Mitigation Strategies#

Our extensive testing revealed several recurring patterns that affect third-party password manager passkey integration:

Cross-Device Sync Delays#

Problem: Credentials created on one device may not immediately appear on others.

Solution: Implement retry logic with exponential backoff. Provide manual refresh options for users experiencing sync delays.

Version-Specific Behaviors#

Problem: Password manager behavior varies significantly between OS versions, especially on Android 14+ and iOS 17+.

Solution: Maintain a compatibility matrix and adjust flows based on detected OS version. Consider minimum version requirements for optimal experience.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

7. Conclusion: Building Production-Ready Passkey Support#

Successfully implementing third-party password manager passkey support in native apps requires methodical testing and attention to detail. Our comprehensive test plan, refined through real-world testing, provides a solid foundation for validating your passkey integration.

Key takeaways for production deployment:

  1. Test systematically: Use our test plan as a baseline, adapting it to your specific use cases
  2. Respect user choice: Support the password managers your users prefer, not just platform defaults
  3. Monitor continuously: Implement comprehensive logging to catch edge cases in production
  4. Document thoroughly: Maintain clear records of provider-specific behaviors and workarounds

The passkey ecosystem continues to evolve rapidly. Password managers regularly update their implementations, operating systems introduce new features,and the WebAuthn specification itself advances. By establishing a robust testing framework now, you'll be prepared to adapt as the technology matures.

We'll continue updating our SDKs and testing methodology as new patterns emerge. The investment in comprehensive third-party password manager testing pays dividends in reduced support burden and improved user satisfaction. After all, authentication should just work - regardless of which password manager your users choose.

Learn more about our enterprise-grade passkey solution.

Learn more

Share this article


LinkedInTwitterFacebook