
PiM is een persoonlijke identiteitsmanager waarmee gebruikers hun digitale identiteitsgegevens kunnen opslaan, beheren en selectief kunnen delen. Waar de meeste identiteitssystemen vereisen dat gebruikers hun gegevens afstaan aan een centrale partij, werkt PiM volgens het principe dat gebruikers eigenaar zijn van hun eigen gegevens en zelf bepalen wat ze delen, met wie en voor hoe lang.
De uitdaging lag in het ontwikkelen van een identiteitsapp die voor gewone mensen echt gebruiksvriendelijk is en tegelijkertijd de cryptografische mechanismen en toestemmingssystemen implementeert die de privacy garanties daadwerkelijk waarmaken. Beveiliging die gebruikers niet kunnen bedienen, is geen beveiliging.
Met de app kunnen gebruikers identiteitskenmerken zoals naam, adres, geboortedatum en beroepsgegevens opslaan en deze selectief delen via toestemmingsprocedures. Elke transactie waarbij gegevens worden gedeeld, is expliciet: de gebruiker ziet wat er door wie wordt gevraagd en kan dit goedkeuren of afwijzen. Er vindt geen gegevensuitwisseling op de achtergrond plaats en er is geen blijvende toegang mogelijk zonder hernieuwde toestemming.
Identiteitskenmerken worden versleuteld op het apparaat opgeslagen. Het vrijgeven van gegevens gebeurt selectief: een gebruiker kan bijvoorbeeld zijn leeftijd aantonen zonder de exacte geboortedatum prijs te geven, of zijn adres bevestigen zonder zijn volledige identiteit te delen. De onderliggende cryptografie ondersteunt deze patronen voor selectieve vrijgave van nature.
De app is ontwikkeld met React Native en maakt gebruik van één gedeelde codebase voor beide platforms. Voor een product waarbij vertrouwen de kernwaarde vormt, is een consistente werking op zowel iOS als Android essentieel. Gebruikers op beide platforms ervaren identieke processen, privacy instellingen en beveiligingskenmerken.
iOS & Android uit 1 React Native codebase
Consent-based alle vormen van delen zijn expliciet
Versleutelde lokale opslag, geen centrale gegevensopslag
Selectieve informatieverstrekking zonder te veel prijs te geven
Waarom React Native voor een identiteitsapp?
Identiteits-apps vereisen consistent gedrag en consistente beveiligingseigenschappen op verschillende platforms. Dankzij React Native hadden we één codebase om te auditen, één set cryptografische implementaties om te verifiëren en één UX om te testen. Voor een product waarbij een subtiele inconsistentie tussen iOS en Android het vertrouwen van gebruikers zou kunnen ondermijnen, was het minimaliseren van de verschillen tussen platforms een bewuste architecturale keuze.
PiM geeft gebruikers daadwerkelijk de regie over hun eigen identiteitsgegevens, zonder dat het gebruik ingewikkeld wordt.
Bij het ontwikkelen van een identiteits-app moet er worden nagedacht over aanvalsscenario’s die bij de meeste consumentenapps niet aan de orde zijn: wat gebeurt er als het apparaat gecompromitteerd raakt, als een app meer gegevens vraagt dan nodig is, of als een gebruiker zijn apparaat verliest? Elements doorliep deze scenario's met het productteam van PiM nog voordat er ook maar één regel code werd geschreven; het beveiligingsmodel werd dus opgezet vóór de functionaliteiten.
Het PiM-platform is erop ingericht om te integreren met meer identiteitsverificateurs en dienstverleners naarmate het ecosysteem voor digitale identiteit in Nederland volwassener wordt. De architectuur ondersteunt samenwerking met andere op SSI gebaseerde systemen, waaronder Kiwa eLicense.

Naast onze projectmatige samenwerkingen bieden we ook teamleden of een compleet ontwikkelteam als service aan. Meer weten? Stuur ons een bericht.