The mnemonic encryption key should be device-protected (unlocked when device is unlocked), not require biometric/PIN at time of use. This was breaking: - Wallet creation on devices without biometrics - Emulator testing entirely Changes: - Remove setUserAuthenticationRequired(true) from keystore key spec - Remove setUserAuthenticationValidityDurationSeconds() - Remove setInvalidatedByBiometricEnrollment() - Remove emulator detection hacks (isEmulator, canUseBiometricAuth) - Remove unused Build and BiometricManager imports - Add documentation explaining security model Security model: - Mnemonic encrypted with AES-256-GCM using Android Keystore key - Key is device-bound (cannot be extracted) - Key is accessible when device is unlocked - Transaction signing should use BiometricPrompt separately (future enhancement) |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||