What problem does it solve? Adding fingerprint or Face ID authentication to a Kotlin Multiplatform app normally requires writing platform-specific code twice and leaking Android or iOS APIs into shared ViewModels. This Skill provides a complete pattern for isolating biometric logic behind an expect/actual abstraction with a sealed result type. ## Core Features & Use Cases - Shared BiometricResult type: A sealed class in commonMain covering Success, Cancelled, Fallback, Error, NotAvailable, and NotEnrolled states. - expect/actual BiometricAuthenticator: Android implementation using BiometricPrompt with BiometricManager capability checks, and iOS implementation using LAContext.evaluatePolicy bridged via suspendCoroutine. - Graceful fallback: Supports device PIN/password fallback when biometrics are unavailable or not enrolled, with strong vs weak biometric strength selection. - Use Case: Protect a payment confirmation screen — the ViewModel calls canAuthenticate(), triggers the prompt, and handles every result state without importing any platform API. ## Quick Start Add biometric authentication to my KMP app so users confirm sensitive actions with fingerprint or Face ID, falling back to device PIN when biometrics are unavailable.