Local Authentication — Foundations Skill
Purpose
Route Face ID/Touch ID/device-passcode implementation tasks to the minimum required Local Authentication Knowledge Contracts. v1 scope is the iOS/iPadOS LocalAuthentication framework API plus the Keychain-biometric binding seam — no macOS/watchOS-specific behavior, no general Keychain storage.
Routing
Load only the contracts relevant to the task. All paths relative to knowledge/local-authentication/.
- Checking availability or biometry type -> availability-and-biometry-type.md
- Calling evaluatePolicy / choosing a policy -> policy-evaluation.md
- Writing localizedReason or NSFaceIDUsageDescription -> reason-strings-and-info-plist.md
- Handling an LAError -> error-handling.md
- Managing LAContext lifetime or re-enrollment detection -> context-lifecycle.md
- Binding a Keychain item to biometrics -> keychain-biometric-binding.md
- Deciding on or configuring a passcode fallback -> fallback-ux-and-passcode.md
Never load more than the contracts relevant to the specific question.
Stop Conditions
Stop and report if the requested topic has no matching Knowledge Contract in knowledge/local-authentication/ — do not guess or fall back to general knowledge.
- macOS/watchOS-specific LocalAuthentication behavior — Deferred
- General Keychain storage (
SecItemAdd/SecItemCopyMatching/SecItemUpdatefor non-biometric-bound items) — owned bysecurity