Summary
Biometric unlock is implemented for Windows Hello (src/biometric.rs). macOS support is currently a stub that returns an error.
Proposal
Implement Touch ID support on macOS using the LocalAuthentication framework via the objc or core-foundation crates.
Tasks
Context
- Current implementation:
apps/desktop/src-tauri/src/biometric.rs
- Windows uses
windows::Security::Credentials::UI::UserConsentVerifier + DPAPI
- macOS stub at line 52 returns
HemdalError::BiometricError("Touch ID support is not yet implemented")
- The frontend already supports biometric unlock via
unlock_with_biometric command
Acceptance Criteria
- macOS users can enable Touch ID unlock from the vault dashboard
- After locking, the unlock screen shows "Unlock with Touch ID"
- Touch ID verification successfully unlocks the vault
- The biometric key is stored in the macOS Keychain, not plaintext
Summary
Biometric unlock is implemented for Windows Hello (
src/biometric.rs). macOS support is currently a stub that returns an error.Proposal
Implement Touch ID support on macOS using the
LocalAuthenticationframework via theobjcorcore-foundationcrates.Tasks
LocalAuthentication(LAContext)dpapi_encrypt/dpapi_decryptequivalents for macOS (Keychain instead of DPAPI)verify_biometricfor#[cfg(target_os = "macos")]VaultUnlock.tsxto say "Touch ID" on macOSContext
apps/desktop/src-tauri/src/biometric.rswindows::Security::Credentials::UI::UserConsentVerifier+ DPAPIHemdalError::BiometricError("Touch ID support is not yet implemented")unlock_with_biometriccommandAcceptance Criteria