Biometric Login
Feature Detail
Description
Biometric session unlock using Face ID or fingerprint after the initial sign-in. Users authenticate with BankID, Vipps, or email/password once, and subsequent app opens are unlocked via the device's biometric sensor as long as the refresh token chain is still valid. This reduces sign-in friction for daily use while keeping the underlying credentials safe in the platform secure store. Required as part of the MVP to make the mobile experience usable for peer mentors logging multiple activities per day.
Sources & reasoning
Biometric session unlock is listed under Mobile App Architecture as a core auth capability, not deferred. It is implicit in the MVP scope alongside email/password (which is named MVP), and §1.1's lowest-cognitive-load principle treats it as table stakes. Target_release 'MVP' matches §5 Fase 1 phase name.
-
docs/source/likeperson.md · line 26BankID eller Vipps som foretrukket autentisering ved fÞrstegangs innlogging, med biometrisk innlogging (Face ID / fingeravtrykk) etterpÄ
-
docs/source/likeperson.md · line 211Biometric session authentication (Face ID / fingerprint)
-
docs/source/likeperson.md · line 205Biometric session unlock (Face ID / fingerprint) after first login.
Analysis
Workshop input was emphatic that re-entering credentials every time the app opens is unacceptable for volunteers logging dozens or hundreds of short activities per year - one HLF mentor had 380 registrations in a single year. Biometric unlock removes that friction at near-zero risk because the underlying refresh token never leaves the secure store. It is also an accessibility win: peer mentors with motor or cognitive impairments avoid the cognitive load of password entry. Shipping it in MVP rather than Phase 2 directly supports the §1.1 design principle of lowest possible cognitive load.
Uses the Flutter local_auth pattern: refresh token persisted in the platform secure store (iOS Keychain with biometric ACL, Android Keystore with BiometricPrompt). Biometric prompt unlocks the secure-store entry; the auth module then uses the refresh token to obtain a new access token. No biometric template ever leaves the device - the auth module sees only the resulting refresh-flow request. Fallback to passcode/PIN is required for devices without biometrics or when biometric auth fails repeatedly. Sensitive operations (changing email, revoking sessions) still require fresh re-authentication, not just biometric unlock.
Quality Assurance
Peer Mentor (Likeperson) og Coordinator (Koordinator) - samme flytPeer Mentor (Likeperson)
Quick UAT
- Logg inn fĂžrste gang i Meander-mobilappen med e-post og passord. NĂ„r innlogging er fullfĂžrt, Ă„pne Innstillinger â Sikkerhet og slĂ„ pĂ„ 'LĂ„s opp med Face ID / fingeravtrykk'.
- Bekreft aktivering ved Ä gjennomfÞre en biometrisk skanning nÄr enheten ber om det. Verifiser at bryteren stÄr som 'PÄ' og at det vises tekst 'Aktivert' med tidsstempel.
- Tving appen helt ut (swipe vekk fra appbytteren) og Äpne Meander pÄ nytt. Bekreft at den native biometriske dialogen 'LÄs opp Meander' vises automatisk i stedet for innloggingsskjermen.
- GjennomfĂžr biometrisk skanning (Face ID / Touch ID / fingeravtrykk). Bekreft at hjem-skjermen lastes innen 1 sekund uten Ă„ spĂžrre om passord.
- à pne appen pÄ nytt og trykk 'Avbryt' i den biometriske dialogen. Bekreft at fallback-lenken 'Bruk e-post og passord i stedet' vises og leder til normal innloggingsskjerm.
Quick UAT â Accessibility
-
Logg inn fĂžrste gang i Meander-mobilappen med e-post og passord. NĂ„r innlogging er fullfĂžrt, Ă„pne Innstillinger â Sikkerhet og slĂ„ pĂ„ 'LĂ„s opp med Face ID / fingeravtrykk'.
- Screen reader VoiceOver/TalkBack annonserer 'LÄs opp med biometri, bryter, av' og 'dobbelt-trykk for Ä aktivere'.
- Keyboard / focus Bryter nÄs via sveip-navigasjon i skjermleser; ekstern tastatur navigerer med Tab i samme rekkefÞlge som visuell flyt.
- Focus visibility Synlig fokusring rundt bryteren; etikett er programmatisk koblet til bryteren.
- Touch target Bryter er â„ 44Ă44 px (over WCAG 2.2 24Ă24 minimum).
-
Bekreft aktivering ved Ä gjennomfÞre en biometrisk skanning nÄr enheten ber om det. Verifiser at bryteren stÄr som 'PÄ' og at det vises tekst 'Aktivert' med tidsstempel.
- Screen reader Skjermleser annonserer 'Biometri aktivert, sist verifisert i dag kl. HH:MM'.
- Live region 'Biometrisk innlogging aktivert.' kunngjĂžres via hĂžflig live-region.
- Contrast Statustekst 'Aktivert' har â„ 4.5:1 kontrast og er ikke kun grĂžnn.
-
Tving appen helt ut og Äpne Meander pÄ nytt. Bekreft at den native biometriske dialogen 'LÄs opp Meander' vises automatisk.
- Screen reader OS annonserer 'LÄs opp Meander med Face ID' / 'Plasser finger pÄ sensoren'.
- Focus visibility Native systemdialog - fokus hÄndteres av iOS/Android.
-
GjennomfĂžr biometrisk skanning. Bekreft at hjem-skjermen lastes innen 1 sekund uten Ă„ spĂžrre om passord.
- Screen reader Etter vellykket skanning annonseres 'Hjem' og rolle-spesifikk overskrift.
- Live region Sideoverskrift-endring er tilstrekkelig signal.
-
à pne appen pÄ nytt og trykk 'Avbryt' i den biometriske dialogen. Bekreft fallback til e-post/passord-skjerm.
- Screen reader Lenken annonseres som 'Bruk e-post og passord i stedet, lenke'.
- Keyboard / focus Fallback-lenken er fokuserbar med Tab og aktiveres med Enter.
- Focus visibility Synlig fokusring rundt fallback-lenken.
- Touch target â„ 44Ă44 px klikkflate.
- Zoom Forblir lesbar ved 200 % zoom uten horisontal scroll.
Role Boundaries
3 role(s) must NOT access this feature-
Organization Administrator
Admin Web Portal bruker HTTP-only cookies - biometrisk opplÄsing eksisterer ikke i admin-portalen.
-
Global Administrator
Kun admin-portal-tilgang; ingen mobil-app-konto og dermed ingen biometrisk opplÄsing.
-
Prospective Buyer
Salgs-nettstedet er statisk uten innlogging - ingen konto, ingen biometri-flyt eksisterer.
Expected End State
Brukeren er logget inn via en sub-sekund biometrisk gest. Det krypterte refresh-tokenet i biometri-beskyttet keystore (iOS Keychain / Android Keystore) er lÄst opp og brukt til Ä skaffe et ferskt access-token. Avbrytelse av biometri-dialogen leder rent til e-post/passord-fallback uten Ä lÄse brukeren ute.
Components (5)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.