Skip to content

Choose your mobile path

The recommended integration keeps ceremony orchestration and network transport in shared Kotlin, while Android and iOS own their platform prompt, application identity, and lifecycle boundary.

Layer Recommended artifact Why it exists
Shared ceremony webauthn-client-flow Coordinates start → prompt → finish and exposes typed outcomes
Shared transport webauthn-client-ktor-kotlinx Implements the default JSON/Ktor endpoint contract
Platform client webauthn-client-defaults Constructs the supported Android or iOS client with default codecs
Compose lifecycle webauthn-client-compose Remembers clients and flows safely across recomposition without owning product state

Use lower-level modules only when you have a concrete reason to replace the default codec, transport, or platform bridge. The artifact catalog describes those seams.

Pick the route that matches your app

Compose Multiplatform

Start with Mobile quickstart, then use rememberPasskeyClient at a stable composition boundary. Your screen owns UI state; the library owns ceremony coordination.

Native Android UI

Construct defaultPasskeyClient(context) with an Activity-capable host context, then invoke it from a lifecycle-aware coroutine. Continue with Android integration.

SwiftUI or UIKit host with shared Kotlin

Expose a small shared facade to Swift, construct the client with a presentation-anchor provider when necessary, and preserve coroutine cancellation. Continue with iOS integration.

What the library does—and does not do

The mobile modules encode and decode WebAuthn payloads, invoke platform credential APIs, classify outcomes, and coordinate calls to your backend. They do not provision your relying-party domain, configure app-to-site association, choose an account model, or turn the client into a trusted verifier.

A successful build is not a successful ceremony

Android provider availability, iOS entitlements, signing identity, RP association, device security, and account state are runtime prerequisites. Use the production checklist before claiming readiness.

Next steps

Choose the next task that matches your current stage: