Privacy-Period-Tracker/docs
null f91ba6ebe6 feat: offer the choice on screen, and say what each one means
The App lock screen now asks how the app should unlock and offers four
answers: off, a PIN just for this app, a fingerprint or face, or either.

Each carries the sentence a person cannot work out for herself. The PIN
option says it is separate from the phone's, because somebody who assumes
otherwise will assume they can reset it the way they reset a phone PIN --
and by the time they find out, the only way back in is to erase
everything. The fingerprint option says who it lets in: anyone enrolled on
this phone, including anyone who enrols later.

An option that cannot work is disabled with its reason rather than hidden.
A choice that is simply absent reads as a feature the app does not have,
and this one is absent for something she can fix in her phone's settings.

The screen renders the ViewModel's stage and cannot advance it. It used to
keep its own step in remembered state and move it in the same breath as
asking, which is how a wrong PIN reached "choose a PIN"; two state
machines for one flow is the shape that produced that, so there is one
now.

Verified on the emulator: the four options render, the PIN detail reads as
intended, and both biometric options are correctly disabled with "this
phone has no fingerprint or face set up" -- which is true of that image.

SECURITY.md gains the three-methods bullet and the fingerprint-only
caveat. The checklist gains four device rows, including the one that
matters most: removing every fingerprint must leave the app closed, not
open it.

Part of #63

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 01:53:09 -05:00
..
architecture fix: tell a broken reminder apart from a quiet cycle 2026-08-21 01:06:13 -05:00
data feat: the wordmark has its space, and logo and banner say so 2026-08-18 22:12:33 -05:00
design feat: pin down which day, and let the reminder be any time 2026-08-21 01:09:33 -05:00
history fix: tell a broken reminder apart from a quiet cycle 2026-08-21 01:06:13 -05:00
planning docs: correct 57 claims the code and tracker disagreed with 2026-08-18 16:33:14 -05:00
qa docs: record Batch 09, and close half the long-horizon QA gap 2026-08-20 16:39:30 -05:00
security feat: offer the choice on screen, and say what each one means 2026-08-21 01:53:09 -05:00
DOC_TRUST_MAP.md docs: separate the constants that are physiology from the ones that are tuning 2026-08-20 16:32:16 -05:00
TOOLS.md docs: correct 57 claims the code and tracker disagreed with 2026-08-18 16:33:14 -05:00
WORK_CYCLE.md docs: a check-in needs the project UUID, not the slug 2026-08-18 16:35:06 -05:00