-
-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Problem statement
The mobile application currently lacks biometric authentication, creating a critical security vulnerability. If a user's mobile device is lost, stolen, or accessed by an unauthorized person, that individual gains full control over the home's security system - including the ability to disable alarms, unlock doors, and manipulate other security-critical functions. This impacts all HA users who rely on mobile app control and directly undermines HA's core goal of providing secure, trustworthy home automation.
Scope & Boundaries
In scope
- Biometric authentication (Face ID, fingerprint, or platform equivalent) required on app launch
- Biometric re-authentication after periods of inactivity
- Fallback PIN/password authentication when biometrics unavailable
- Support for both iOS and Android native biometric systems
- User settings to enable/disable biometric protection (with security warnings)
Not in scope
- Multi-factor authentication (MFA) beyond biometrics
- Remote device wipe capabilities
- Biometric authentication for individual device control (only app-level protection)
- Backend authentication changes - this is client-side security only
Foreseen solution
Implement platform-native biometric authentication that triggers when:
- The app is launched from a closed state
- The app returns from background after a defined timeout (e.g., 5 minutes)
- User is about to perform security-critical actions (optional enhanced protection)
The implementation will use native APIs (iOS: LocalAuthentication framework, Android: BiometricPrompt API) with graceful fallback to device PIN/password. Users can configure biometric settings in app preferences, though disabling protection requires acknowledging security implications.
Low-fidelity flow:
App Launch β Biometric Prompt β [Success: Home Screen] / [Failure: Retry or Fallback]
Background Return (>5min) β Re-authentication Required
Settings β Security β Toggle Biometric Lock [ON/OFF with warning]
Community signals
No response
Risks & open questions
- Device compatibility: What happens on older devices without biometric hardware? (Answer: Fallback to PIN/password only)
- User friction: Will mandatory biometric checks frustrate users in emergency situations? (Mitigation: Fast fallback to PIN, timeout configuration) or should the users have the option to not have app authentication, like today?
- Accessibility: Are biometric systems accessible for all users? (Mitigation: Always provide alternative authentication methods)
- UX consistency: How do we handle biometric failures gracefully without blocking legitimate users?
- Technical debt: Does this require significant refactoring of current authentication flow?
Appetite
Small - roughly 1 cycle or less
This is primarily a client-side implementation using well-established platform APIs. Most of the work involves UI integration, state management for authentication status, and testing across device types.
Execution issues
No response
Decision log
| Date | Decision | Outcome |
|---|---|---|
Metadata
Metadata
Assignees
Labels
Type
Projects
Status