[ Package conformance ]
Auth & Payments · >=6.0.0
react-native-fingerprint-scanner
native-seam: the pure-JS src/* wrappers + createError + ERRORS map run from the real bundle (release.ios is pure JS and never touches native); only NativeModules.ReactNativeFingerprintScanner is ours, mirroring ReactNativeFingerprintScanner.m on the reference iOS Simulator (Face ID device, no biometrics enrolled): canEvaluatePolicy(biometrics) fails first in both isSensorAvailable and authenticate with LAErrorBiometryNotEnrolled, which the native maps to the code FingerprintScannerNotEnrolled and returns via RCTJSErrorFromCodeMessageAndNSError, so the real wrapper rejects with the faithful "no enrolled fingers" FingerprintScannerError — the exact value a guest gets on the reference device. same faithful tier as expo-local-authentication / react-native-touch-id.85%
API coverage
No visual conformance cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (2)
isSensorAvailable() and authenticate({ descriptionfallbackEnabled }) — real upstream wrappers + FingerprintScannerError + ERRORS mapping run from the bundle off a faithful native callback; release() is upstream pure JS; reference-simulator parity (rejects FingerprintScannerNotEnrolled)
Missing (2)
no real biometric prompt can succeed — but neither can the reference iOS Simulator (no enrolled biometrics); expo-local-authentication is the maintained alternativealso a faithful native-seam here