PhilippC / PhilippC/keepass2android

[FEAT] Biometrics: allow saving any data as master password

Open
#3,142 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
6.2k
Forks
478
Avg merge
1h 4m
Merged PRs (30d)
2

Description

It's related to #399 and #1081, but should be easier to implement and should offer more safety and flexibility.
Same motivation: biometrics is extremely convenient, but inherently unsafe.

Currently it is only possible to save the master password.
Consider allowing saving any string (defaulting to the master password in the UI).

Usage:

  • The user opts in to save the master password with biometrics.
  • The user is presented with a dialog with an editable control, prepopulated with the master password.
  • The user makes certain alterations to the master password. Maybe adding some characters, maybe removing some, maybe replacing. The point is, only the user knows what exactly.
  • The mangled password is saved to the device.
  • When the user unlocks the database with the biometrics later, the mangled password is decrypted and attempted.
  • The unlock fails.
  • Now the user can adjust the mangled string accordingly to make it correct.
  • Since only the user knows which characters need to be added/removed/replaced, how many of them and where exactly, it should be safer than previously suggested fingerprint + pin or quick unlock combinations.

Example:
My master password is "HappyNewYearHappyNewYearMayWeAllHaveABananaNowAndThen".
I save it as "HappyNewYearHappyNewYearMayWeAllHaveAVisionNowAndThen".
Only I know how to turn the bad password into the good one. No one else does.
And it's way easier to adjust several random characters than to type the whole thing.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the related issues #399 and #1081, then use this issue's usage flow as the requirements for the biometric-save experience. Confirm the editable value, device storage, failed unlock, and later correction behavior with maintainers. Done means users can opt in, save an altered string, and adjust it after biometric unlock so the database can be opened.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
authentication, mobile, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.