Advarer mot å glemme GDPR i apper: - Samme regler som gjelder!

- Jeg har installert bank-apper på en iPhone og tittet på trafikken som sendes fram og tilbake, skriver Nils Larsgård.

Nils Larsgård i Kodemaker har sjekka hva slags data som sendes fram og tilbake i norske apper - og det er ikke småtteri. Men GDPR gjelder like mye apper som nettsider, påpeker han. 📸: Odin Standal / kode24
Nils Larsgård i Kodemaker har sjekka hva slags data som sendes fram og tilbake i norske apper - og det er ikke småtteri. Men GDPR gjelder like mye apper som nettsider, påpeker han. 📸: Odin Standal / kode24 Vis mer

Datatilsynet i Italia og Frankrike har konkludert med at USA har et utilstrekkelig lovverk for ‘data protection’, og at bruk av Google Analytics (GA) innebærer at data overføres ulovlig til USA.

Det norske datatilsynet har foreløpig bare varslet vedtak i en lignende sak, men sier at de ser til europeisk praksis når de skal konkludere.

Avgjørelsene nevner spesifikt GA, men datatilsynet slår fast at samme regler også gjelder for andre analyseverktøy som samler inn og sender data til USA.

Foreløpig har det vært fokus på web og web-analyse i disse sakene, men de samme reglene gjelder for apper.

I denne bloggposten har jeg gått gjennom noen vanlige norske bank-apper og sett hvilke tjenester de snakker med i bakgrunnen.

«Her var det mange store amerikanske tjenester som blir foret med nordmenns bankvaner!»

Metodikk

I en tidligere bloggpost skrev jeg om MITM, som lar meg kjøre kjøre all nettverkstrafikk fra mobiltelefonen min gjennom en PC og dermed inspisere akkurat hvilke data som sendes - og til hvem.

Så har jeg installert en del vanlige bank-apper på en Apple Iphone og tittet på trafikken som sendes til og fra appene.

Appene og tjenestene de sender data til

Listen er ikke uttømmende, det kan være flere tjenester som brukes som ikke har vært aktive når jeg brukte appene:

image: Advarer mot å glemme GDPR i apper: - Samme regler som gjelder!

Her var det mange store amerikanske tjenester som blir foret med nordmenns bankvaner! De hederlige unntakene er de som åpenbart er europeiske tjenester (Amplitude, Mixpanel).

Dataene som sendes til alle disse tjenestene varierer en god del. Det som er felles er at de fleste requestene til disse tjenestene inneholder følgende:

  • OS type og versjon (iOS 16.5.1)
  • Hardware revisjon (Iphone 14_4)
  • Språk, tidssone, land
  • Ofte, men ikke alltid, beskrivelse av hendelser (“User saw the view asking which bankID to login with”)
  • Tidspunkt og varighet for hendelser
  • Installasjons-id, unik pr installasjon

IP-adressene sendes ikke eksplisitt i rapportene, men det trengs ikke siden http-requesten kommer rett fra telefonen og tjenesten i andre enden fint kan hente ut den selv.

Samme fra web som app

I rapporten fra det franske datatilsynet kan vi lese at:

"Google Analytics is a service that can be integrated by websites such as online sale sites in order to measure the number of visits by Internet users. In this context, a unique identifier is assigned to each visitor. This identifier (which constitutes personal data) and the associated data are transferred by Google to the United States."

Det skal ikke mye rakettforskning til for å se at når de samme data som sendes på web sendes fra en app, så faller det under samme lovgivning som Google Analytics på web.

Hva er den aller beste løsningen™?

Med resultatet over er det klart at en del bank-apper har en vei å gå for å være sikker på at de ikke unødvendig smugler brukerdata til USA. Men hva er de beste alternativene?

Tja. Du kan stikke hodet i sanden og late som ingenting? Datatilsynet har jo tross alt bare kommet med varsel om vedtak, ikke faktisk vedtak?

Eller du kan gjøre det ordentlig, først som sist:

Det enkleste er nok å bruke en europeisk tilbyder av de samme tjenestene som en drop-in-replacement for de amerikanske. Mixpanel, adjust.com og Amplitude har mottak i EU og du slipper hele problematikken med å smugle ulovlige data til USA.

Bare vær nøye på å lese databehandleravtalen deres, det kan godt hende de sender data videre til USA.

Det aller beste er å lage en datacollector selv. Det skal ikke mer enn et skarve HTTP-endepunkt og en enkel tabell i databasen før du har en fullgod løsning for det du trenger av logging og krasj-analyse for appen din. Hvis du må kan du sende data videre til en analysetjeneste etter at du har vasket dataene. Da har du god kontroll på hva som blir lagret og hvilke data som eventuelt blir sendt videre.

De slemme SDK-ene

I tabellen over apper og urler som blir brukt så er det ikke sikkert at koden i appen selv kaller disse tjenestene. SDKer ringer ofte hjem med egne rapporter, og dermed kan appen din plutselig gjøre uønskede kall til tjenester du ikke ville.

For iOS er løsningen enkel: ikke bruk SDKene fra Google, selv om de er fristende å bruke i en kryss-platform setting for å håndtere ting likt på Android og iOS. Det er spesielt fristende å bruke felles SDK fra google for push-meldinger for å få ting likest mulig på tvers av platformer.

For Android er Google sine SDK-er helt nødvendig for å få push-meldinger, men du kan unngå at de ringer hjem ved å gjøre som Signal-appen: importer SDK for push-notifications og ekskluder vekk bibliotekene som gjør det mulig å ringe hjem:

implementation(libs.firebase.messaging) {
    exclude group: 'com.google.firebase', module: 'firebase-core'
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}

Hvis du er veldig nysgjerrig på rådataene for denne bloggposten så har jeg laget et github repo for dette.

Sliter du med å få tak i solide app-utviklere for å rydde opp kan du jo alltids høre om vi har noen rivende gode folk som kan ta en titt 😉