Nye Smittestopp er skyløst og Xamarin-basert

I dag slippes den omstridte appen i ny versjon. - Vi har plassert hele driftsmiljøet på bakken.

Smittestopp-appen fra Folkehelseinstituttet kommer 21. desember. Koden liggere allerede tilgjengelig på Github. 📸: Jørgen Jacobsen
Smittestopp-appen fra Folkehelseinstituttet kommer 21. desember. Koden liggere allerede tilgjengelig på Github. 📸: Jørgen Jacobsen Vis mer

I dag, 21. desember, slipper Folkehelseinstituttet den nye versjonen av Smittestopp-appen.

Etter et mageplask i starten av korona-perioden har FHI startet fra scratch, både med kodebasen, og hvem de har involvert i prosessen.

Åpenheten rundt den nye appen ser ut til å bli omfavnet av tech-mijøet, og vi i kode24 har sågar nominert FHI til kode24-pris for årets initiativ.

Men hvordan henger egentlig den nye Smittestopp-appen og tjenestene sammen denne gangen? Vi spurte teknologene i FHI.

Diagram for den nye smittestopp-appen. De blå feltete er utviklet av FHI, mens de grønne er utviklet av konsulent-selskapet Netcompany. 📸: FHI
Diagram for den nye smittestopp-appen. De blå feltete er utviklet av FHI, mens de grønne er utviklet av konsulent-selskapet Netcompany. 📸: FHI Vis mer

Åpen kildekode

FHI har virkelig satset på åpenhet denne gangen, hele sulamitten ligger faktisk på FHI sine Github-sider.

Det finnes til og med et eget dokumentasjon-repository, hvor alle involverte tjenester er dokumentert.

Senioringeniør Sindre Møgster Braaten i FHI forteller til kode24 at det er tre nyutviklede komponenter i denne utgaven av Smittestopp.

Alle ligger tilgjengelig i Github, og alle er lisensiert under MIT-lisensen for åpen kildekode.

Senioringeniør Sindre Møgster Braaten i FHI forteller at Smittestopp 2 består av tre nye komponenter.
Senioringeniør Sindre Møgster Braaten i FHI forteller at Smittestopp 2 består av tre nye komponenter. Vis mer

Xamarin-basert

Komponenten Fhi.Smittestopp.Backend er en sentralisert komponent for utveksling av "diagnosenøkler", forteller Braaten. Nøklene brukes for å oppdage kontakter, og er utviklet av Netcompany.

Fhi.smittestopp.App er appen som installeres på telefonen. En helt ny app utviklet på rammeverket Xamarin, denne også fra Netcompany.

- App-løsningen baserer seg på Google og Apple sitt Exposure Notification framework (EN), forklarer Braaten til kode24.

EN-rammeverket gjennomfører anonym og desentralisert kontaktsporing, og håndterer opp- og nedlasting av diagnosenøkler for varsling om kontakt.

Ikke mikrotjenester

Den tredje komponenten heter Fhi.Smittestopp.Verification, og gir brukeren tilgang til å laste opp sine diagnosenøkler for å varsle kontakter. Komponenten er integrert mot ID-porten for å identifisere brukeren.

«Det er ikke benyttet noe mikrotjeneste-arkitektur i løsningen.»

Den gjør også oppslag mot Meldingssystem for smittsomme sykdommer (MSIS), for å bekrefte at det finnes positiv COVID-19 prøve siste 14 dager.

Verifiserings-tjenesten deler kun prøvedato med app, gitt at positiv prøve blir funnet, og er utviklet av FHI.

- Det er ikke benyttet noe mikrotjenestearkitektur i løsningen, da de to sentraliserte komponentene som er utviklet kun tilbyr små sett av funksjoner, og det har dermed ikke vært behov for å dele dette opp ytterligere, forteller Braaten.

Backend fra danskene

Felles for alle komponentene er at de er skrevet ved hjelp av .NET-rammeverket og språket C#.

Xamarin, som appen er skrevet i, er Microsoft-eid og basert på .NET. Backenden er skrevet med .NET Core.

Bråten forteller at det er gode grunner til at de har satset på Microsoft.

- Smittestopp sin backend-løsningen er skrevet i .NET Core fordi den er basert på løsningen til den danske "Smitte|Stop" som allerede var skrevet på denne plattformen, forklarer Bråten.

Vi har tidligere omtalt at Xamarin-appen også kommer fra det danske Smitte|Stop-prosjektet - utvikler Johannes Brodwall som sitter i faggruppen kalte den en kopi av danskene sin app.

Bråten forteller videre at verifiseringskomponenten som FHI har skrevet selv også er utviklet ned .NET Core. Det var nemlig her FHI sine interne IT-ressurser hadde kompetanse.

«Vi har forlatt skyen da det ble skapt usikkerhet knyttet til Schrems II-dommen.»

Forlatt skyen

Men det er ikke alle teknologivalg som har vært like lette med Smittestopp 2.

IT-direktør Roger Schäfer i FHI forteller at alle tjenestene i utgangspunktet skulle sitte på den Microsoft-baserte skytjenesten Azure, gjennom driftsleverandøren Norsk helsenett, men at de har valgt å forlate den.

Roger schäfer er IT-direktør i FHI.
Roger schäfer er IT-direktør i FHI. Vis mer

- Vi har forlatt skyen, da det ble skapt usikkerhet knyttet til Schrems II-dommen, som skaper usikkerhet knyttet til utlevering av data til amerikanske myndigheter, og om dette vil være i strid med GDPR, sier han til kode24.

Schrems II-dommen setter spørsmålstegn ved overføring av persondata utenfor EU og EØS.

Schäfer forteller at dommen også har blitt et hinder for å få delta i felles knutepunkt for deling av informasjon i EU hvis man er på ferie eller reise i andre land.

- Dette er ikke funksjonalitet som FHI smittestopp har i første versjon, men vurderes for en senere versjon. FHI ønsket ikke å ha denne usikkerheten som kunne skade tilliten overfor befolkningen og har derfor plassert hele driftsmiljøet på bakken.