Behandlingsrapport og DPIA for KI i Sandnesskolen (ki.sandnesskolen.no)

Oppdatert:

1 Innledning og utfordring

Dette er ingen vanlig behandlingsrapport og DPIA. Det som er annerledes med tjenesten ki.sandnesskolen.no er at den ikke behandler eller lager personopplysninger, samtidig som den er knyttet opp til en tjeneste på Internett som er svært omtalt i media og hvor det er mange utfordringer knyttet til personopplysninger. Da er det ikke nok å bare si at tjenesten ikke behandler personopplysninger, og vi må også vise at den ikke gjør det.

2 Beskrivelse av løsningen

2.1 Webtjenesten ki.sandnesskolen.no

Ki.sandnesskolen.no er en webtjener drevet og eid av Sandnes kommune. Den er foreløpig plassert på en virtuell tjener i Europa.

Webtjenesten ki.sandnesskolen.no består av disse programvarekomponentene:

  • Rocky Linux – gratis og fri programvare.
  • WordPress – gratis og fri programvare.
  • Utvidelser til WordPress.

2.2 Azure OpenAI og GPT-APIene

AI-tjenestene vi bruker er levert av Microsoft gjennom deres Azure OpenAI-løsning. Tjenesten er plassert på tjenere i Europa. Azure OpenAI har beskrivelser av ulike betingelser og regler på en egen hjemmeside: https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy

Det er opprettet et abonnement på https://portal.azure.com hvor det er registrert en API-nøkkel som kobler sammen webtjeneren i ki.sandnesskolen.no og GPT-endepunktet hos Azure OpenAI. Denne API-nøkkelen er lagt inn i AI Engine-utvidelsen i WordPress.

Azure OpenAI har grenser for hvor mye du kan bruke gpt-3.5 og gpt-4 og det måles i antall stavelser produsert i minuttet.

3 Ki.sandnesskolen.no er en anonymisert tjeneste i alle ledd

3.1 Kommunikasjon mellom webtjenesten ki.sandnesskolen.no og Azure OpenAI

Kommunikasjonen mellom en bruker av tjenesten og Azure OpenAI er som følger:

  • En bruker kobler seg opp til webtjeneren i Sandnes og får oversendt en nettside med en chatbot sammen med en sesjons-ID knyttet til chatten. Brukeren er ikke identifisert som en bestemt person.
  • Bruker legger inn ledetekst på chatboten på nettsiden som ligger på den lokale maskinen brukeren benytter. Denne sendes til webtjeneren i Sandnes.
  • Ledetekst sendes uten noen form for identifikator om avsender annet enn IP-adresse fra webtjeneren i Sandnes, API-nøkkelen til abonnementet Sandnes kommune har og et løpenummer som Azure OpenAI kan svare med, slik at webtjeneren i Sandnes vet hvilken chatbot som skal få se svaret.
  • Azure OpenAI bearbeider ledeteksten og sender svar tilbake til webtjeneren i Sandnes, sammen med data om antallet tokens som er brukt.
  • Azure OpenAI bevarer ledeteksten og det genererte svaret hos seg i Europa i opp til 30 dager, ut fra behovet for å hindre misbruk av tjenesten.
  • Webtjeneren i Sandnes sendes svaret fra Azure OpenAI til den aktuelle chatbot-sesjonen til brukeren som er koblet på. Ledetekst og svar lagres i nettlesersesjonen på den lokale maskinen til brukeren, og ikke noe sted på webtjeneren i Sandnes.
  • Når brukeren trykker på knappen “Slett”, slettes hele samtalen i chatboten som er lagret i nettlesersesjonen på den lokale maskinen.

3.1.1 Hva Azure OpenAI ikke får vite

Det kan være nyttig å tydeliggjøre hva Azure OpenAI får og ikke får vite. Azure OpenAI får IP-adressen til webtjeneren i Sandnes, men aldri IP-adressen til brukeren som kobler seg opp til webtjeneren. Azure OpenAI mottar en ledetekst med løpenummer, men aldri en chat-ID og er derfor ikke i stand til å følge en bestemt samtale på webtjeneren.

Alle henvendelser til Azure OpenAI er derfor reelt anonyme. Azure OpenAI har ingen mulighet til å finne ut hvem som har sendt inn en ledetekst, ut over at den er sendt fra webtjeneren i Sandnes kommune med API-nøkkelen til Sandnes kommune.

3.1.2 Når vi skrur på at bruker må logge seg på via FEIDE

Hvis vi lar bruker logger på via FEIDE, for å unngå at andre enn lærere og elever i Sandnesskolen kan belaste kommunen med utgifter, blir ikke brukeridentiteten koblet til chatbotene på webtjeneren i Sandnes. FEIDE-påloggingen har bare funksjon som portvokter til nettsidene hvor chatbotene er tilgjengelige. Når brukeren er innenfor vil ingen ledetekst eller kommunikasjon mellom brukers maskin og webtjeneren være knyttet til brukeridentiteten.

Om vi skrur på kvoter vil antallet tokens brukt per sending til Azure OpenAI knyttes til den enkelte bruker, slik at vi vet hvor mange tokens en bruker har brukt. Det er ingen kobling mellom ledetekster/svar og brukeridentiteten. Det er ingen historikk om ledetekster noe sted på webtjeneren. Ingen ledetekster eller svar lagres på webtjeneren.

Vi har ingen mulighet til å vite hvem som har skrevet hva i tjenesten, siden ingenting lagres.

3.2 Innhold i ledeteksten er ikke personopplysninger

3.2.1 Ledeteksten er et fritekstfelt

Brukerne kan skrive hva som helst i ledetekstfeltet. Vi har ingen mulighet til å kontrollere hva de skriver. Vi regner likevel ikke at vi overleverer personopplysninger til Azure OpenAI.

Grunnen til dette er at opplysningene vi sender fra oss er anonyme. Azure OpenAI har ingen mulighet til å finne ut hvem som har sendt inn en ledetekst og derfor ingen mulighet til å vurdere om innholdet i ledeteksten er en reell opplysning eller fiksjon.

I artikkel 4 i GDPR er personopplysninger definert som…

Opplysning om en identifisert eller identifiserbar fysisk person («den registrerte»); en identifiserbar fysisk person er en person som direkte eller indirekte kan identifiseres, særlig ved hjelp av en identifikator, f.eks. et navn, et identifikasjonsnummer, lokaliseringsopplysninger, en nettidentifikator eller ett eller flere elementer som er spesifikke for nevnte fysiske persons fysiske, fysiologiske, genetiske, psykiske, økonomiske, kulturelle eller sosiale identitet.

I kommunikasjonen mellom brukeren og Azure OpenAI er ingen identifikator som kan brukes til å identifisere avsender av ledeteksten, og ledeteksten er derfor ikke å regne som en personopplysning. Ledeteksten i seg selv er ikke en identifikator, og vi anser innholdet i den for å være ustrukturert informasjon. Det er ikke mulig å sikkert identifisere en person uansett hva innholdet i ledeteksten er, uten at du kan verifisere dette via andre sikre kilder. Noe som ikke er tilgjengelig i denne løsningen.

Sagt på en annen måte – Ledeteksten er bare et “tomt” innholdsfelt uten noen andre tilkoblede data som kan gi mening til innholdet i ledeteksten. Derfor er innholdet uten mening og kan ikke være personopplysninger. Ledeteksten kan ikke si noe korrekt om verden, på samme måte som svaret fra språkmodellen heller ikke er en kvalifisert uttalelse om virkeligheten siden språkmodeller ikke er en aktør.

Vanligvis er fritekstfelt knyttet til en identitet, som gjør alt som står i fritekstfeltet til personopplysninger. Dette er ikke tilfelle i denne tjenesten.

Vi vurderer det slik at alt innhold i ledeteksten i prinsippet er tilfeldige bokstaver som bare gir mening i en bestemt kontekst som aldri vil bli aktualisert, siden det ikke er koblet til noe informasjon som kan gi det en nødvendig kontekst for å bli meningsfull.

3.2.2 Et tenk-hvis-tilfelle

Hvis vi antar at ledeteksten inneholder personopplysninger er det fremdeles ingen i kommunikasjonsprosessen som leser innholdet i ledeteksten. Om innholdet i ledeteksten blir flagget som mistanke om misbruk av tjenesten kan innholdet bli lest og i teorien gjenkjent. Sannsynligheten for at den blir gjenkjent som en reell og korrekt personopplysning er så liten at det bare er en teoretisk mulighet, og den vil i praksis ikke vil skje. Det måtte for eksempel være om noen i undersøkelsesteamet til Azure OpenAI reelt gjenkjenner personen ut fra det som står i ledeteksten. Den reelle risikoen for lekkasje av personopplysninger er derfor ikke-eksisterende med tanke på de 30 dagene ledetekster oppbevares hos OpenAI for å sikre at tjenesten de leverer ikke misbrukes.

3.2.3 Den frekke sammenligningen

Det er fristende å sammenligne hvor mange personopplysninger “anonym” bruk av for eksempel snl.no, ndla.no, google.com og youtube.com gir til de respektive tjenestene i form av klikk, søk, IP-adresser, nettkapsler o.l. Dette er tjenester vi forventer at elevene bruker til skolearbeidet. IP-adresser regner som personopplysninger og når dette kobles til klikk, søk og andre aktiviteter på en nettside vil dette være mer gjenkjennelig som et individ enn en tilfeldig ledetekst. Alle nettjenester lagrer med utgangspunkt i dette en rekke personopplysninger med begrunnelse for å sikre systemene mot misbruk.

For å bruke google.com som eksempel. Søkefeltet i Google er et fritekstfelt. Du kan skrive inn hva du vil. Det sendes til Google og du får et svar. Fritekstfeltet, IP-adresse, nettkapsler og en rekke andre identifiserende opplysninger er lagret hos Google og de kommer også til å bruke det til å forbedre tjenestene sine. Så lenge du ikke er pålogget Google anser vi ikke dette for å være lagring eller bruk av personopplysninger.

Vi er klar over at det ikke er kutyme å sette ulike tjenester opp mot hverandre som argument, men det er viktig å påpeke at vi godtar bruk av tjenester som samler inn, og bruker, mer identifiserende opplysninger enn det Azure OpenAI gjør i forbindelse med de 30 dagene med bevaring av ledetekster grunnet sikkerhet.

//3.3 Logging på webtjeneren i Sandnes kommune

Webtjeneren i Sandnes kommune (Rocky Linux / Nginx ) har en access- og error-log for å sikre driften av systemet. Disse loggene går 7 dager tilbake i tid. I disse loggene vil det bli registrert IP-adressen til de som bruker webtjeneren og hvilke nettsider de laster ned. Det logges ingen opplysninger om kommunikasjonen mellom den lokale chatboten og webtjeneren, brukeridentitet eller innhold i chatbotene. Det logges heller ikke bruk av selve chatbotene, så sant ikke kvoter er skrudd på, som nevnt tidligere i dokumentet.//

4 DPIA for bruk av ki.sandnesskolen.no

4.1 Innledning

Det er mange brukere av tjenesten og brukerne er lærere og elever i Sandnesskolen. Tjenesten er anonym og derfor vet vi ikke hvem som er lærere og hvem som er elever, og hvor mye de ulike gruppene bruker tjenesten. Målet er at alle elever og alle lærere skal benytte seg av tjenesten. Det innebærer at barn bruker en tjeneste som er omtalt i mediebildet som en utfordrende tjeneste. Dette er utgangspunktet for at det bør være gjort en DPIA, selv om tjenesten er anonym.

De tre risikoene vi må vurdere ut fra GDPR i en DPIA, er konsekvenser for den registrerte om uautoriserte får tilgang til personopplysninger, om det skjer uønsket endring av personopplysningene og om tap av data (at personopplysningene blir utilgjengelige).

Siden vi mener at det ikke behandles personopplysninger er dette en pussig øvelse. Det er ingen “registrerte”, siden det ikke er lagret noen personopplysninger.

Det er likevel noen situasjoner som bør vurderes, spesielt knyttet til uautorisert tilgang til innholdet i ledetekstene lokalt hos den som legger inn ledeteksten, fordi ledeteksten der vil gi kontekstuell mening. I motsetning til hva den vil gjøre når Azure OpenAI bevarer ledeteksten i 30 dager.

4.2 Ulike tiltak for å redusere risiko

4.2.1 Tjenesten er anonymisert

All kommunikasjon mellom bruker, webtjenesten ki.sandnesskolen.no og Azure OpenAI er helt anonym.

Selv om en bruker velger å legge igjen informasjon om konkrete personer i ledeteksten vurderer vi, jamfør tidligere begrunnelser, at innholdet i praksis likevel er anonymt, og vi regner ikke dette som personopplysninger.

4.2.2 Organisatoriske sikkerhetstiltak

Det er satt opp ansvarlig informasjonssikkerheten i tjenesten og utpekt en systemansvarlig.

Lærerne har fått opplæring i hvordan tjenesten fungerer, og det er utarbeidet opplæringsmateriale både til lærere og elever.

Det er gjort øvelser på hvordan systemansvarlig håndterer driftsutfordringer til tjenesten.

Tjenesten blir jevnlig vedlikeholdt og dokumentert.

Det er bare systemansvarlig som har tilgang til webtjeneren/systemet.

4.2.3 Logiske sikkerhetstiltak

Trafikk mellom nettleseren, webtjeneren og Azure OpenAI er kryptert med standardkryptering for HTTPS-trafikk.

Tjenesten er anonym.

Det er ingen autentisering utover enkel pålogging, fordi pålogging ikke gir tilgang til data og skal bare fungere som en mur mot unødig ressursbruk av tjenesten.

Det tas daglige sikkerhetskopier av systemet, men det er ingen data som lagres i systemet.

4.2.4 Fysiske sikkerhetstiltak

Det er ingen nødvendige fysiske sikkerhetstiltak som er nødvendige, fordi det ikke er kritisk om tjenesten går ned noen dager.

4.3 Uautorisert tilgang

Hva kan være hovedkonsekvensene for den registrerte om uautoriserte får tilgang til data?

I verste tilfelle kan uautoriserte lese autobiografiske opplysninger som kan være både sårbare og særlige personopplysninger. Det kan være vanskelig å vite hvem personopplysningene tilhører eller om opplysningene er korrekte. Men om dette er kjent, eller det er klart at det er lekket ut opplysninger som etter hvert kan gjenkjennes, er dette svært ubehagelig for de som har lagt inn denne typen informasjon.

Hva er hovedtruslene som kan føre til at uautoriserte får tilgang til data?

Andre brukere ser på skjermen til den som bruker chatbotene.

Bruker går vekk fra maskin med chat åpen uten å låse skjerm/maskin.

Teknisk svikt på webtjeneren til Sandnes som gjør at chat-sesjonene blir rotet sammen og brukere får se andres chat-svar.

Teknisk svikt hos Azure OpenAI som gjør bevarte ledetekst tilgjengelig for uautoriserte.

Hva er de ulike risikokildene?

Medelever er den viktigste risikokilden for å være de som ønsker uautorisert tilgang til andres data.

Feil i programvaren som driver chatbotene på webtjeneren til Sandnes.

Hvilke av de identifiserte sikkerhetstiltakene kan møte disse risikoene/utfordringene?

Opplæring, som inneholder et punkt om at en bør unngå å legge inn biografiske opplysninger om en selv eller andre.

Hvordan vurderer du alvorlighetsgraden av denne risikoen, sett i lys av mulige konsekvenser og planlagte rutiner? Hvorfor?

Lav.

Elever vil ikke skrive autobiografiske opplysninger om seg selv når andre elever er i nærheten og kan lese det de har oppe på skjermen.

Oppdateringer av webtjener- og chatbot-programvaren blir alltid testet før den settes i produksjon.

Hvordan vurderer du sannsynligheten for denne risikoen, sett i lys av trusler, kilder og planlagte rutiner? Hvorfor?

Lav.

Elever vil ikke skrive autobiografiske opplysninger om seg selv når andre elever er i nærheten og kan lese det de har oppe på skjermen.

Oppdateringer av webtjener- og chatbot-programvaren blir alltid testet før den settes i produksjon.

4.4 Uønsket endring av data

Hva kan være hovedkonsekvensene for de registrerte om det skjer en uønsket endring av data?

De eneste dataene som kan endres er ledetekstene som bevares i 30 dager hos Azure OpenAI. Azure OpenAI har ingen interesse av å endre disse og det har ingen konsekvens for den registrerte om det skjer. Det er Sandnes kommune som står ansvarlig om Azure OpenAI mener at ledetekster inneholder misbruk av Azure OpenAIs tjenester, siden kommunen er den eneste som kan identifiseres i forhold til bruk av tjenesten.

Hva er hovedtruslene som kan føre til uønsket endring av data?

Vi har ikke innsyn i hvilke vurderinger Azure OpenAI har gjort rundt dette.

Hva er de ulike risikokildene?

Vi har ikke innsyn i hvilke vurderinger Azure OpenAI har gjort rundt dette.

Hvilke av de identifiserte sikkerhetstiltakene kan møte disse risikoene/utfordringene?

Om vi inngår en DBA med Microsoft kan vi be om innsyn i deres risikovurderinger, men det er rimelig sannsynlig ut fra beskrivelser i DBA at vi vil bli henvist til ISO-godkjenninger uten spesifikt innhold.

Hvordan vurderer du alvorlighetsgraden av denne risikoen, sett i lys av mulige konsekvenser og planlagte rutiner? Hvorfor?

Lav. Endring av data vil ikke få noen konsekvens for den registrerte siden ingen er registrert.

Hvordan vurderer du sannsynligheten for denne risikoen, sett i lys av trusler, kilder og planlagte rutiner? Hvorfor?

Lav. Endring av data vil ikke få noen konsekvens for den registrerte siden ingen er registrert.

4.5 Tap av data

Hva kan være hovedkonsekvensene for de registrerte om data går tapt?

Det vil ikke være noen konsekvens for de registrerte om data går tapt. Det er bare Azure OpenAI som bevarer data i 30 dager. Om disse dataene går tapt får det ingen konsekvens for verken den registrerte eller Sandnes kommune. Det er ene og alene Azure OpenAI sin utfordring.

Om webtjeneren til Sandnes kommune stopper å virke eller Internett-forbindelsen til kommunen stopper mister brukerne tilgang til tjenesten, men det er ingen informasjon som ligger lagret der de ikke kan hente frem.

Hva er hovedtruslene som kan føre til tap av data?

Vi har ikke innsyn i hvilke vurderinger Azure OpenAI har gjort rundt dette.

Hva er de ulike risikokildene?

Vi har ikke innsyn i hvilke vurderinger Azure OpenAI har gjort rundt dette.

Hvilke av de identifiserte sikkerhetstiltakene kan møte disse risikoene/utfordringene?

Ikke aktuelt.

Hvordan vurderer du alvorlighetsgraden av denne risikoen, sett i lys av mulige konsekvenser og planlagte rutiner? Hvorfor?

Lav. Det har ingen konsekvens for den registrerte om data slettes.

Hvordan vurderer du sannsynligheten for denne risikoen, sett i lys av trusler, kilder og planlagte rutiner? Hvorfor?

Lav. Det har ingen konsekvens for den registrerte om data slettes.

4.6 Vurdering av hvor trygt det er for elever under 13 år

Vi har testet tjenesten siden den ble tilgjengelig både som gratis-utgave og via API. Azure OpenAI har innebygget moderasjon, og andre ulike sikringer, både for det som står i ledeteksten og det Azure OpenAI gir som svar på ledeteksten. Derfor er svarene fra Azure OpenAI til de ulike ledetekstene mye sikrere og tryggere enn det elevene får om de googler et tema. Farlige, normbrytende eller tilsvarende ledetekster vil ikke få et oppmuntrende svar, og ledetekster som indikerer at brukeren trenger profesjonell hjelp vil bli henvist og oppfordret til dette.

Vi kan selvfølgelig ikke være helt sikre på at alle svar blir behandlet godt nok, siden vi ikke lagrer ledetekster og svar og ikke kan kontrollere alt som blir gjort på webtjeneren. Derfor har vi som en del av innføringen gitt lærere opplæring og beskjed om at de skal hjelpe elevene til å forstå hva en språkmodell er.

Vi anser derfor at det er trygt for barn under 13 år å bruke tjenesten, med henblikk på at de får opplæring, er helt anonyme og at utfordrende ledetekster vil bli svart opp på en god måte av systemet.

4.7 En rask vurdering av andre språkmodeller i undervisning

ChatGPT, både gratis- og pluss-utgaven, kan ikke brukes i skolen ut fra personvernhensyn og kan ikke brukes av elever. Lærere kan personlig velge å bruke det i undervisning til demonstrasjon overfor elever, men elevene kan ikke bruke det og læreren kan ikke legge inn verken elevarbeider eller faglitteratur som ledetekst.

BingChat og Google Bard har samme utfordringer som ChatGPT i forhold til personvern og bruk i skolen.

Egne tjenere med LLaMA eller StableLM er en mulighet, men disse språkmodellene er mer proof-of-concept enn fungerende språkmodeller. Dessuten er de dyre å sette opp, fordi disse tjenestene må driftes på egne tjenere.

Snapchat AI har enda større utfordringer enn alle de andre i forhold til personvern, både med tanke på privat bruk og bruk i skolen.

4.8 En mulig spesifikk databehandleravtale til Azure OpenAI

Microsoft tilbyr en spesifikk databehandleravtale knyttet til Azure OpenAI med tanke på at en organisasjon har anledning til å laste opp eget materiale modellene til fininstilling av modellen. Tjenesten til Sandnes kommune benytter seg ikke av eget opplastet materiale og har derfor ikke bruk for denne databehandleravtalen.

5 Oppsummering

5.1 Om tjenesten ki.sandnesskolen.no

All behandling av ledetekster/fritekstfelt er helt anonymisert.

Det lagres ingen opplysninger om ledetekst, svar eller logger på webtjeneren i Sandnes kommune.

Ledetekster inneholder bare ustrukturert informasjon, og ikke personopplysninger, siden det ikke er noen mulighet til å koble innholdet til bekreftede opplysninger.

Sandnes kommune har ikke lastet opp noe informasjon til Azure OpenAI for “fine tuning” av samtalene.

Azure OpenAI bruker ikke ledetekster til å trene GPT-modellen eller forbedre tjenesten de leverer.

Azure OpenAI bevarer ledetekster hos seg i opp til 30 dager, med den hensikt og begrunnelse å hindre misbruk av tjenesten. Dette er et legitimt behov for Azure OpenAI og ingen utfordring siden ledetekstene ikke inneholder personopplysninger.

Webtjenesten ki.sandnesskolen.no til Sandnes kommune er foreløpig den tryggeste og minst invasive løsningen for tilgang til språkmodeller med henblikk på personopplysninger, og den er i tillegg godt tilpasset bruk i undervisning.