Studenter vant pris for 'anonym­isering som en tjeneste'

Slik gjør de ARX mer tilgjengelig for dataforskere, til Datatilsynets begeistring.

Denne studentgjengen stakk av med Datatilsynets årlige personvern-pris for studenter. Fra venstre: Andre Groseth, Julian Sagen, Jeremiah Augie Uy, Sondre Halvorsen og Viktor Vartdal Johansen. 📸: Privat
Denne studentgjengen stakk av med Datatilsynets årlige personvern-pris for studenter. Fra venstre: Andre Groseth, Julian Sagen, Jeremiah Augie Uy, Sondre Halvorsen og Viktor Vartdal Johansen. 📸: Privat Vis mer

Nylig kåret Datatilsynet vinnere av årets beste innebygde personvern for 2019.

Konkurransen har som formål å "løfte frem gode eksempler på praktisk implementering av innebygd personvern og personvern som standardinnstilling", forteller direktør i Datatilsynet Bjørn Erik Thon i en pressemelding.

NAV gikk seirende ut av hovedkonkurransen, men juryen kåra også en studentpris. Og den var det en kompisgjeng fra OsloMET som stakk av med, med prosjektet: "Anonymization as a Service".

«Juryen mener at det er positivt med bidrag som har fokus på pseudonymisering til ulike formål.»

"Prosjektgruppen har utviklet en løsning for å pseudonymisere data for å beskytte individer i datasett mot risiko for re-identifisering. Løsningen bygger på moderne pseudonymiserings-verktøy som nå er gjort tilgjengelig som en brukertilpasset tjeneste. Juryen mener at det er positivt med bidrag som har fokus på pseudonymisering til ulike formål" uttaler juryen.

Men hva betyr det egentlig å lage anonymisering som en tjeneste?

Ildprøve for studenter

Sondre Halvorsen er én av fem studenter bak prosjektet, som han forteller er en bacheloroppgave på Instituttet for informasjonsteknologi ved OsloMet.

Dette er en avsluttende oppgave for studentene, hvor de skal få erfaring fra et praktisk prosjekt i industrien.

- Vi bestemte oss for dette bachelorprosjektet etter samtaler med NAV IT AI-lab, forteller Halvorsen til kode24.

NAV IT foreslo en rekke prosjekter for elevene, men det var anonymisering som virket mest spennende og utfordrende.

Oppgaven var som følger: NAV ønsket seg en enklere måte å bruke tilgjengelige anonymiseringsverktøy på markedet, ved å tilpasse dem til en dataforskers arbeidsflyt.

Bygget ARX-API-er

Studentene landet på anonymiseringsverktøyet ARX; et åpen kildekode-verktøy som har et medfølgende Java-basert API.

Halvorsen forteller at oppgaven deres ble å gjøre verktøyet tilgjengelig for et bredere publikum, ved å gjøre funksjonalitet fra ARX tilgjengelig som en tilpasset tjeneste.

Derfor satt de i gang med å bygge støtte for et REST-API som kunne snakke med ARX. Målet var å både gjøre verktøyene tilgjengelig gjennom Python, som Halvorsen forteller er populært blant dataforskere hos NAV, samt ha et GUI-basert verktøy for analytikere.

Tilstandsløs applikasjon

- API-applikasjonen er en Java Spring Boot-applikasjon, forteller Halvorsen.

Valget skal ha falt på Java fordi ARX er implementert i Java, og Spring-rammeverket ble et naturlig valg for å bygge et REST-API.

- Applikasjonen er stateless, altså, den holder ikke på noe informasjon mellom kall og trenger derfor ikke noe database, noe som også gjør den veldig horisontalt skalerbar, forteller Halvorsen ivrig.

- Til distribuering og kjøremiljø har vi hovedsakelig brukt Docker, siden applikasjonen skulle kjøre på NAVs egen Kubernets-baserte applikasjonsplattfrom Nais.

Webapplikasjonen er bygget på React, mens Python-delen er utviklet med fokus på å kunne brukes enkelt med Pandas - en pakke Halvorsen forteller er svært populær i dataforsker-miljøet.

Team anonymisering - som OsloMet-studentene kaller seg - pent antrukket på studiebesøk. 📸: Privat
Team anonymisering - som OsloMet-studentene kaller seg - pent antrukket på studiebesøk. 📸: Privat Vis mer

"Continuous Integration"

- Men, før vi begynte fikk vi en klar oppfordring fra NAV, forteller Halvorsen.

NAV ville nemlig at gjengen skulle utvikle ved hjelp av såkalt "Continuous Integration / Continuous Delivery" - en utviklingspraksis hvor utviklere blir oppfordret til å integrere koden sin i et felles utviklingsprosjekt. Gjerne flere ganger daglig.

Gjennom automatiserte bygge- og testesteg blir koden bygget på en standardisert måte. Tanken er at hyppige integrasjoner og bygg skal gjøre det lettere å oppdage feil.

- Dette innebar at vi måte både bli kjent med diverse testrammeverk for de forskjellige språkene, som JUnit, Enzyme og Pytest, forteller Halvorsen.

De startet med CI/CD-plattformen Travis, men byttet til CircleCI mot slutten av prosjektet. I dag har de byttet igjen, til Github Actions.

- Det var mye å sette seg inn i på rimelig kort tid, men så fantastisk det føles når man har fått satt opp pipelinen sin fra repo og ut i prod med automatiske tester, statisk kodeanalyse og deployment - ren og skjær ekstase!

Reduserer risiko

Halvorsen forteller at anonymiseringsteknikkene som løsningen deres bruker inkluderer aggregering, k-anonymitet og i-diversitet.

- All behandling av personopplysninger må innrettes etter kravene som stilles i Personopplysningsloven, og anonymisering er spesielt viktig når man skal høste innsikt, sier Halvorsen til kode24.

- Anonymisering er et av flere viktige virkemidler som gjør det mulig for analytikere å høste innsikt fra analyser basert på personopplysninger, samtidig som risikoen for berørte individer reduseres betraktelig.

- Når rettslig grunnlag foreligger, muliggjør anonymisering med andre ord en skånsom omgang med personopplysninger, forklarer han.

Kjempeerfaring

Gjengen forteller at de er henrykt over mulighetene bacheloroppgaven på OsloMET har gitt dem.

- Det å ha gjennomført et prosjekt med dette nivået av kompleksitet, med et relativt stort team, har vært en kjempeerfaring for hele gjengen, forteller Halvorsen.

- Å få kjenne hvordan man kan utvikle med smidig arbeidsmetodikk, CI/CD og testing har vært helt supert.

- Det har også vært lærerikt å jobbe tett med flinke folk i AI labben og NAV IT, vi lærte mye om personvern og rettferdighet med tanke på maskinlæring og AI, noe som bare blir mer og mer viktig, messer Halvorsen ivrig før han avslutter:

- 10/10 - would recommend!