Personvernerklæring
1. Om denne personvernerklæringen
Denne personvernerklæringen forklarer hvordan CritCase-appen («Appen», «vi», «oss») behandler personopplysninger i samsvar med:
- EUs personvernforordning (GDPR)
- Norsk personopplysningslov
- Apples App Store-retningslinjer
- Google Plays retningslinjer for personvern
CritCase er en læringsapp for helsepersonell og studenter som ønsker å øve på kliniske scenarioer, akuttmedisin og medisinsk kunnskap.
2. Behandlingsansvarlig
Behandlingsansvarlig for personopplysninger:
RYDNINGEN MEDICAL (enkeltpersonforetak)
Org.nr. 937 302 258
Sjarkvegen 72, 9017 Tromsø, Norge
Innehaver: Thorbjørn André Rydningen
Personvernhenvendelser: privacy@critcase.app
Generell support: support@critcase.app
3. Hvilke opplysninger samler vi inn?
3.1 Opplysninger vi IKKE samler inn
CritCase samler ikke inn:
- ❌ Helseopplysninger eller medisinske journaler
- ❌ Presis GPS-posisjon eller bevegelsesdata
- ❌ Kontaktlister eller kalenderdata
- ❌ Biometriske data
- ❌ Betalingsinformasjon (kjøp håndteres av App Store / Google Play)
- ❌ Data til annonsering eller sporing på tvers av apper
3.2 Opplysninger som lagres lokalt på din enhet
Følgende data lagres på din enhet:
| Type data | Formål | Lagringssted |
|---|---|---|
| Spillprogresjon | Poeng, nivå, fullførte caser | Lokal lagring på enheten (sikkerhetskopieres til skyen hvis du logger inn – se punkt 3.3) |
| Favoritter | Dine favorittmarkerte caser | Lokal lagring på enheten (sikkerhetskopieres til skyen hvis du logger inn – se punkt 3.3) |
| Prestasjoner | Opplåste achievements og tidspunkt | Lokal lagring på enheten (sikkerhetskopieres til skyen hvis du logger inn – se punkt 3.3) |
| Statistikk | Antall øvelser, gjennomsnittsscore | Lokal lagring på enheten (sikkerhetskopieres til skyen hvis du logger inn – se punkt 3.3) |
| Aktivitetsdatoer | Dager du har brukt appen | Lokal lagring på enheten (sikkerhetskopieres til skyen hvis du logger inn – se punkt 3.3) |
| Kursdata | Leseposisjon, fullførte leksjonsdeler og leksjonssvar | Bare på denne enheten, også når du er innlogget |
| Innstillinger | Temavalg, lydinnstillinger | Lokal lagring på enheten |
Bruker du appen uten å logge inn («gjestemodus» – standard), forblir fremgangen din kun på enheten. Skysikkerhetskopi skjer bare hvis du selv velger å logge inn (se punkt 3.3). Også i gjestemodus oppretter appen en tilfeldig, anonym Firebase-bruker-ID som gjør de valgfrie skyfunksjonene mulige (toppliste, utfordringer, kjøp); Firebase logger IP-adresse og user-agent av sikkerhetshensyn når denne ID-en utstedes.
Kursposisjon, fullførte leksjonsdeler og leksjonssvar lagres bare på denne enheten, også når du er innlogget. De gjenopprettes ikke på en ny enhet. Eksport inkluderer den aktive brukerens lokale kursdata; appen har ingen importfunksjon.
3.3 Brukerkonto og skysikkerhetskopi (valgfritt)
Du kan velge å logge inn med Apple eller Google for å sikkerhetskopiere spillfremgang og statistikk. Innlogging er helt valgfritt – appen fungerer fullt ut uten konto. Hvis du logger inn, behandler vi:
| Type data | Formål | Lagringssted |
|---|---|---|
| E-postadresse | Kontogjenoppretting og identifisering av kontoen. Bruker du Apples «Skjul e-postadressen min», mottar vi kun en videresendingsadresse (@privaterelay.appleid.com eller @private.icloud.com), ikke din ekte adresse | Firebase Authentication (USA) |
| Navn (valgfritt) | Kun hvis innloggingsleverandøren deler det ved første innlogging | Firebase Authentication (USA) |
| Profilbilde-URL (kun Google, forbigående) | Google-innlogging returnerer URL-en som del av grunnprofilen; CritCase forkaster den og lagrer eller viser ikke profilbildet | Google Sign-In / midlertidig i appminnet |
| Innloggingsleverandør | Hvilken tjeneste (Apple eller Google) kontoen din er koblet til | Firebase Authentication (USA) |
| Bruker-ID (UID) | Identifiserer kontoen din | Firebase Authentication (USA) |
| IP-adresse og user-agent | Registreres av Firebase Authentication av sikkerhetshensyn ved innlogging; IP kan gi grov geografisk plassering | Firebase Authentication (USA) |
| Treningsfremgang | Poeng, nivå, streaks, aktivitetsdatoer (hvilke dager du har brukt appen), fullførte caser, quiz- og drillstatistikk, prestasjoner, favorittmarkerte caser, repetisjonsplan, kallenavn, rolle og toppliste-valg sikkerhetskopieres til skyen | Google Firestore |
Formål: Sikkerhetskopiering og gjenoppretting av spillfremgang og statistikk på tvers av enheter, samt kontogjenoppretting.
Rettslig grunnlag: Avtale (GDPR art. 6(1)(b)) – du ber selv om sikkerhetskopitjenesten når du logger inn.
Lagringstid: Kontodata slettes når du sletter kontoen din. Ved kontobytte kan Firestore kortvarig lagre et sammenslåingskontrollpunkt med den gjeldende skyfremgangen som trengs for et sikkert nytt forsøk. Det slettes normalt straks byttet når det varige sammenslåingstrinnet; hvis byttet avbrytes eller den lokale gjenopprettingsmarkøren er ugyldig, kan kontrollpunktet bli liggende til et vellykket nytt forsøk eller kontosletting, som sletter hele brukertreet rekursivt. Restkopier i sikkerhetskopier slettes innen ca. 180 dager (Firebase).
Mottakere: Apple og Google er selvstendige behandlingsansvarlige for selve innloggingen hos dem. Google (Firebase) og RevenueCat er våre databehandlere. Firebase Authentication lagrer kontodata utelukkende i datasentre i USA (se punkt 6).
Viktig om konto:
- ✔️ Innlogging er helt valgfritt – gjestemodus er standard
- ✔️ Uten innlogging forblir fremgangen din kun på enheten
- ✔️ Skysikkerhetskopi skjer kun når du er innlogget
- ✔️ Vi ber aldri om passord eller kontakter. Google-innlogging returnerer grunnprofilen (navn, e-post og profilbilde-URL); CritCase lagrer eller viser ikke profilbilde-URL-en
- ✔️ Du kan logge ut eller slette kontoen når som helst i innstillingene
3.4 Lokale varsler
Appen kan sende lokale varsler for å minne deg om daglige utfordringer. Disse varslene:
- Genereres og håndteres lokalt på din enhet
- Sendes ikke via eksterne servere
- Kan deaktiveres i appens innstillinger eller enhetens systeminnstillinger
3.5 Push-varsler (Firebase Cloud Messaging)
Dersom du aktiverer push-varsler, bruker vi Firebase Cloud Messaging (FCM) for å sende deg sanntidsvarsler om utfordringer (fullført utfordring, ny duell, utløpt utfordring).
Push-varsler krever ditt eksplisitte samtykke (opt-in, standard av). Enhetstokenet knyttes til din bruker-ID, ikke til navn eller e-post, og slettes når du sletter kontoen din eller deaktiverer push-varsler.
Tokenet lagres i Google Firestore; varslene leveres via Googles globale infrastruktur (se punkt 6). Rettslig grunnlag: Samtykke (GDPR art. 6(1)(a)).
3.5a Teknisk konfigurasjon og appintegritet (Firebase Remote Config og App Check)
Ved oppstart bruker appen Firebase Remote Config for å hente minimum støttet appversjon, innholdspeker og tekniske funksjons-/sikkerhetsbrytere. Google behandler da en pseudonym Firebase-installasjons-ID samt app-ID, pakke-/bundle-ID, app- og SDK-versjon, operativsystem, plattform, språk, land/region, tidssone og tekniske forespørselsdata for å velge og levere riktig konfigurasjon. Remote Config behandler land-/regionkode for alle installasjoner, også når bruksanalyse er slått av. Firebase roterer installasjons-ID-en ved reinstallasjon/tømming av appdata eller etter 270 dager uten aktivitet. «Slett alle mine data» sletter den gjeldende installasjons-ID-en; hvis en Firebase-tjeneste brukes senere, opprettes en ny ID som ikke er knyttet til den slettede. Når en ID slettes, fjernes tilknyttede Firebase-tjenestedata fra aktive systemer og sikkerhetskopier innen 180 dager.
Vi bruker også Firebase App Check med Play Integrity på Android og App Attest på iOS. Integritetsattest fra enheten sendes til den aktuelle plattformleverandøren for validering, og Firebase utsteder et tidsbegrenset App Check-token. Formålet er å kontrollere at forespørsler kommer fra den ekte, uendrede CritCase-appen og å beskytte tjenestene mot misbruk. Attestasjonsmaterialet lagres ikke av App Check; vanlige App Check-tokens lagres ikke av Firebase-tjenestene etter validering og kan ha en levetid på opptil syv dager.
Appen forsøker å aktivere App Check-attestering ved oppstart. Aktivering kan mislykkes uten at appen stopper. Håndheving innføres trinnvis for de enkelte tjenestene; App Check er derfor ikke en garanti for at alle forespørsler uten gyldig token blir avvist. Disse tekniske tjenestene brukes for alle appinstallasjoner, er ikke annonsering eller sporing på tvers av apper, og kan ikke deaktiveres i appens innstillinger. Rettslig grunnlag: vår berettigede interesse i sikker og pålitelig drift (GDPR art. 6(1)(f)). Google (Firebase) er databehandler; se punkt 6 om globale behandlingssteder og overføringsgrunnlag.
Uavhengig av CritCases produktanalyse via Firebase Analytics og feilrapportering via Crashlytics behandler de essensielle Firebase-SDK-ene tekniske driftsdiagnostikkdata som app-, SDK-, OS- og enhetsopplysninger samt status- og feilmetadata for tjenestekall. Opplysningene er ikke knyttet til brukerens identitet for denne behandlingen og brukes til appfunksjonalitet, sikkerhet, pålitelighet og versjonsadopsjon; dette er ikke CritCases analyse av brukeratferd. Enkelte Firebase-SDK-er oppgir «analyse» som formål for deler av denne tekniske behandlingen i sine personvernmanifest. Det betyr ikke at CritCase slår på Firebase Analytics: CritCases produktanalyse og Crashlytics er fortsatt av som standard og aktiveres bare med samtykke. Å ikke gi eller å trekke dette samtykket stopper disse to tjenestene, men slår ikke av enhver essensiell Firebase-SDK-operasjon. Rettslig grunnlag for den essensielle tekniske behandlingen: vår berettigede interesse i sikker og pålitelig drift (GDPR art. 6(1)(f)).
3.6 Bruksanalyse (Firebase Analytics)
Hvis du samtykker til bruksanalyse (av som standard), bruker vi Google Firebase Analytics for å forstå hvordan appen brukes:
| Type data | Formål | Lagringssted |
|---|---|---|
| App-brukshendelser | Forstå hvilke funksjoner som brukes | Google Firebase (USA) |
| Skjermvisninger | Forbedre navigasjon og UX | Google Firebase (USA) |
| Øktvarighet | Forstå engasjement | Google Firebase (USA) |
| Enhets-, nettleser-, app- og OS-opplysninger | Sikre kompatibilitet og forstå teknisk bruk | Google Firebase (USA) |
| Pseudonym app-instans-ID og, på iOS, leverandør-ID (IDFV) | Skille appinstanser og lage aggregert bruksstatistikk | Google Firebase (USA) |
| Omtrentlig land/region og by utledet fra IP-adressen | Forstå bruk på grovt geografisk nivå; vi ber ikke om GPS-tilgang | Google Firebase (USA) |
| Automatisk registrerte kjøps- og abonnementshendelser, med produkt, pris og valuta når butikken rapporterer dem | Måle hvordan CritCase Pro brukes og kjøpes | Google Firebase (USA) |
| Appversjon og selvvalgt brukerrolle | Segmentere bruk uten navn, e-post eller Firebase-konto-ID | Google Firebase (USA) |
Viktig om bruksanalyse:
- ✔️ Aktiveres kun hvis du samtykker – av som standard
- ✔️ Ingen navn, e-post, Firebase-bruker-ID eller kontaktinformasjon sendes til analyse
- ✔️ Ingen helseopplysninger eller sensitive data samles inn
- ✔️ CritCase bruker ikke analysedata til annonsering eller sporing på tvers av apper
- ✔️ Android-appen fjerner tillatelsen for annonserings-ID, og iOS-appen ber ikke om IDFA-/sporingstillatelse
- ❌ Data selges ikke og deles ikke med annonsører
Rettslig grunnlag: Samtykke (GDPR art. 6(1)(a)). Du kan trekke samtykket når som helst i innstillingene.
3.7 Feilrapportering (Firebase Crashlytics)
Vi bruker Firebase Crashlytics for å identifisere og rette feil i appen (krasjlogger, appversjon, enhetstype og OS-versjon). Crashlytics er deaktivert som standard og aktiveres kun hvis du gir samtykke til bruksanalyse. Data behandles av Google i USA (se punkt 6). Rettslig grunnlag: Samtykke (GDPR art. 6(1)(a)).
3.8 Toppliste (Valgfritt – Krever samtykke)
Appen tilbyr en valgfri global toppliste. Hvis du velger å delta:
| Type data | Formål | Lagringssted |
|---|---|---|
| Visningsnavn | Identifisere deg på topplisten | Google Firestore |
| Total poengsum | Rangering på topplisten | Google Firestore |
| Nivå og tittel | Vise din fremgang | Google Firestore |
| Fullførte caser og beste quiz-rekke | Vise læringsfremgang | Google Firestore |
| Duellseire og totalt antall dueller | Vise duellstatistikk | Google Firestore |
| Prestisjenivå, selvvalgt yrkesrolle og Pro-status | Vise profilmerker og relevante topplister | Google Firestore |
| Bruker-ID | Knytte din score til deg | Google Firestore |
Når du forlater topplisten, opprettes først en serverstyrt avmeldingsmarkør under den pseudonyme bruker-ID-en med tidspunktet for avmeldingen. Den hindrer forsinkede klientskrivinger i å gjenopprette oppføringen. Deretter slettes selve topplisteoppføringen og alle underliggende modereringsflagg. Markøren beholdes bare mens du er avmeldt, og slettes hvis du melder deg på igjen eller sletter kontoen.
Viktig om topplisten:
- ✔️ Deltakelse er helt frivillig – du velger selv om du vil bli med
- ✔️ Du velger selv ditt visningsnavn (kan være anonymt)
- ✔️ Du kan når som helst forlate topplisten og slette dine data
- ✔️ Topplisten viser aldri e-postadressen eller det ekte navnet ditt
- ⚠️ De øvrige innloggede brukerne kan lese de opplistede profil- og fremdriftsfeltene så lenge du deltar
- ❌ Ingen helseopplysninger eller sensitiv informasjon deles
3.9 Abonnement og kjøp (CritCase Pro)
Appen tilbyr en valgfri premiumtjeneste (CritCase Pro). Når en produksjonsnøkkel er konfigurert, initialiseres RevenueCat ved oppstart for alle appbrukere, også de som aldri kjøper noe. SDK-en oppretter først en tilfeldig RevenueCat-anonym-ID og vi identifiserer deretter abonnenten med den pseudonyme Firebase-bruker-ID-en; disse ID-ene kan registreres som aliaser i samme RevenueCat-kundeprofil. Dette er nødvendig for å lese riktig rettighetsstatus, gjenopprette kjøp og hindre at premiumtilgang blandes mellom kontoer.
RevenueCat behandler den pseudonyme bruker-ID-en/aliaset, første og siste kontakt, appversjon, plattform, enhets-/OS-type, språk-/landinnstilling og valutakode samt rettighetsstatus. Kjøpshistorikk og butikkvittering/-token behandles bare når butikken rapporterer et kjøp eller en gjenoppretting. Vi sender ikke navn, e-post eller annonserings-ID til RevenueCat.
Kjøpsinformasjon håndteres slik:
- Kjøpsstatus – verifisere aktivt abonnement (RevenueCat)
- Pseudonym Firebase-bruker-ID og RevenueCat-anonym-ID/alias – holde rettighetsstatus på riktig appkonto (RevenueCat)
- Kjøpshistorikk – gjenopprette kjøp på ny enhet (App Store / Google Play)
Vi har ikke tilgang til betalingsinformasjon; kjøp behandles utelukkende av App Store / Google Play. RevenueCat Inc. (USA) opererer som databehandler i henhold til GDPR (se punkt 6 om overføringer). Rettslig grunnlag før et kjøp: vår berettigede interesse i sikker og korrekt rettighetsstyring (GDPR art. 6(1)(f)). For levering/gjenoppretting av et kjøp: Avtale (GDPR art. 6(1)(b)).
Slettingsvern: Når «Slett alle mine data» startes, lagrer vi et kortvarig vern i Google Firestore: en SHA-256-hash av Firebase-bruker-ID-en samt tidspunktene createdAt og purgeAfter. Hashen er en pseudonym personopplysning fordi vi kan beregne den på nytt fra en kjent bruker-ID. Vernet inneholder ikke rå bruker-ID, kjøpsdata eller brukerinnhold. Så lenge vernet finnes, blokkeres nye bruker-ID-eide klientskrivinger, og serverfunksjoner kontrollerer det før de skriver. Formålet er å hindre at forsinkede, autentiserte klientkall eller RevenueCat-webhooker automatisk gjenoppretter konto-, fremdrifts-, utfordrings-, toppliste- eller abonnementsdata etter sletting. Rettslig grunnlag: oppfyllelse av plikten til sikker sletting (GDPR art. 6(1)(c), jf. art. 17) og vår berettigede interesse i å hindre automatisk gjenoppretting (art. 6(1)(f)). Google (Firestore) er databehandler.
Vernet får sin første slettedato syv dager etter opprettelse. Opprydding kjøres daglig, og nye forsøk ved feil kan gi driftsmessig forsinkelse etter denne datoen. Hvis en koblet Firebase-konto fortsatt finnes, regnes kontoslettingen som ufullført og kan prøves på nytt; vernefristen fornyes, og oppryddingen sletter aldri en slik konto automatisk. En anonym Firebase-konto som fortsatt samsvarer med slettingsvernet, kan slettes før vernet fjernes.
3.10 Utfordringer (Valgfritt – Krever samtykke)
Appen tilbyr en valgfri utfordringsfunksjon der du kan utfordre venner til quiz-dueller:
| Type data | Formål | Lagringssted |
|---|---|---|
| Visningsnavn | Identifisere deg for motstanderen | Google Firestore |
| Quiz-poengsum | Sammenligne resultater | Google Firestore |
| Antall riktige svar | Vise detaljert resultat | Google Firestore |
| Tidsbruk | Sammenligne hastighet | Google Firestore |
| Utfordringskode | Tillate venner å delta | Google Firestore |
| Spørsmåls-IDer | Sikre at begge får samme quiz | Google Firestore |
| Bruker-ID | Knytte utfordringen til deg | Google Firestore |
Viktig om utfordringer:
- ✔️ Deltakelse er helt frivillig
- ✔️ Du velger selv ditt visningsnavn (kan være anonymt)
- ✔️ Etter 48 timer kan utfordringen ikke lenger spilles; dette er en spillbarhetsfrist, ikke automatisk sletting
- ✔️ Firestore-reglene begrenser lesing av utfordringsdokumentet til de to deltakerne
- ⚠️ Før aksept kan en innlogget bruker som har den seks tegn lange delingskoden be serveren hente det begrensede datasettet som trengs for å vise og spille utfordringen. Behandle derfor koden som privat og del den kun med ønsket motstander
- Dokumentet beholdes til oppretteren sletter en utfordring som kan avbrytes, eller en deltaker sletter kontoen sin; fullførte utfordringer har ingen automatisk opprydding
3.11 Tilbakemeldinger på innhold
Hvis du sender inn tilbakemelding på innhold i appen, lagrer vi meldingen, valgt kategori og henvisningen til innholdet sammen med bruker-ID, innsendingstidspunkt, behandlingsstatus, appversjon og plattform i Google Firestore, slik at vi kan rette feil i innholdet. For kurs lagrer vi også en eventuell kildehenvisning og hvilken kursversjon, leksjon eller oversikt, språk og del meldingen gjelder. Dette omfatter tekniske innholds-ID-er og versjoner, blokk-ID-er og leksjonens innholdshash. Kurskonteksten inneholder ikke svarene dine på refleksjonsspørsmål eller læringsfremgangen din. Ikke skriv pasientopplysninger eller andre sensitive personopplysninger i meldingen eller kildehenvisningen. Tilbakemeldingene slettes når du sletter alle dine data i innstillingene. Rettslig grunnlag: Berettiget interesse (GDPR art. 6(1)(f)).
3.12 Serverfunksjoner og driftslogger
Når appen kaller Firebase Cloud Functions, kan Google Cloud registrere funksjonsnavn, tidspunkt, innringerens IP-adresse, autentisert Firebase-bruker-ID og tekniske forespørsels-/feilopplysninger i driftslogger. På iOS og Android kan Functions-klienten også behandle et FCM-registreringstoken ved funksjonskall uavhengig av appens push-bryter; CritCase lagrer eller bruker ikke tokenet til varsling uten ditt samtykke. Dette gjelder blant annet serverkall for utfordringer, toppliste, dataeksport og -sletting og premiuminnhold. Formålet er sikker drift, feilsøking og misbruksvern. Rettslig grunnlag: vår berettigede interesse i sikker og pålitelig drift (GDPR art. 6(1)(f)). Google er databehandler.
4. Rettslig grunnlag for behandling
Vi baserer vår behandling av data på følgende rettslige grunnlag i henhold til GDPR artikkel 6:
| Behandling | Rettslig grunnlag |
|---|---|
| Lagring av fremgang lokalt på enheten | Berettiget interesse (GDPR art. 6(1)(f)) – nødvendig for appens funksjonalitet |
| Skysikkerhetskopi av fremgang (kun innloggede brukere) | Avtale (GDPR art. 6(1)(b)) |
| Brukerkonto (Apple-/Google-innlogging) | Avtale (GDPR art. 6(1)(b)) |
| Lokale varsler | Samtykke (GDPR art. 6(1)(a)) |
| Push-varsler (FCM) | Samtykke (GDPR art. 6(1)(a)) – krever eksplisitt opt-in |
| Teknisk konfigurasjon og appintegritet (Remote Config / App Check) | Berettiget interesse (GDPR art. 6(1)(f)) – sikker og pålitelig drift |
| Essensiell teknisk Firebase-diagnostikk | Berettiget interesse (GDPR art. 6(1)(f)) – appfunksjonalitet, sikkerhet, pålitelighet og versjonsadopsjon |
| Bruksanalyse (Firebase Analytics) | Samtykke (GDPR art. 6(1)(a)) – av som standard |
| Feilrapportering (Crashlytics) | Samtykke (GDPR art. 6(1)(a)) – av som standard |
| Toppliste (Firebase) | Samtykke (GDPR art. 6(1)(a)) – krever eksplisitt opt-in |
| Utfordringer (Firebase) | Samtykke (GDPR art. 6(1)(a)) – krever aktiv handling |
| RevenueCat-identitet og rettighetsoppslag (alle brukere) | Berettiget interesse (GDPR art. 6(1)(f)) – sikker og korrekt rettighetsstyring |
| Kjøp og abonnement (RevenueCat) | Avtale (GDPR art. 6(1)(b)) |
| Serverfunksjoner og driftslogger (Firebase Cloud Functions) | Berettiget interesse (GDPR art. 6(1)(f)) – sikker drift, feilsøking og misbruksvern |
| Pseudonymt slettingsvern (Google Firestore) | Rettslig forpliktelse og berettiget interesse (GDPR art. 6(1)(c) og (f), jf. art. 17) |
| Minimert modereringsmarkør etter sletting (kun utestengte brukere) | Berettiget interesse i å forebygge misbruk og opprettholde en eksisterende modereringsbeslutning (GDPR art. 6(1)(f)) |
| Tilbakemeldinger på innhold | Berettiget interesse (GDPR art. 6(1)(f)) |
5. Deling av data
5.1 Lokal data
Data som kun lagres lokalt, deles aldri.
5.2 Toppliste-data (valgfritt)
Hvis du velger å delta i topplisten, kan andre innloggede brukere lese visningsnavn, poengsum, nivå/tittel, fullførte caser, beste quiz-rekke, duellseire/totalt antall dueller, prestisjenivå, selvvalgt yrkesrolle og Pro-status via Google Firestore.
5.3 Utfordringsdata (valgfritt)
Hvis du oppretter eller deltar i en utfordring, deles visningsnavn, poengsum, antall riktige svar, tidsbruk og spørsmåls-ID-er med motstanderen via Google Firestore. Utfordringsdokumentet kan bare leses av deltakerne. Før aksept kan en innlogget bruker som har den gyldige delingskoden hente det begrensede datasettet beskrevet i punkt 3.10.
5.4 Analysedata
Hvis du har samtykket, deler vi pseudonymisert bruksdata med Google Firebase Analytics for å forbedre appen. Dataene brukes ikke til annonsering og selges ikke til tredjeparter.
5.5 Innloggingsleverandører (Apple / Google)
Når du logger inn med Apple eller Google, behandler leverandøren selve innloggingen som selvstendig behandlingsansvarlig, etter sin egen personvernerklæring. Vi mottar kun e-postadresse, eventuelt navn og en teknisk ID – aldri passordet ditt.
5.6 Hva vi IKKE deler
- ❌ Ingen tredjeparts annonsenettverk
- ❌ Ingen integrering med sosiale medier
- ❌ Ingen salg av data til tredjeparter
- ❌ Ingen deling utover det som er beskrevet i denne erklæringen
6. Overføring til land utenfor EØS
Deler av behandlingen skjer i USA:
| Tjeneste | Behandlingssted | Overføringsgrunnlag |
|---|---|---|
| Firebase Authentication (kontodata) | Utelukkende datasentre i USA | EU–US Data Privacy Framework (DPF) – Google LLC er sertifisert |
| Firebase Analytics og Crashlytics | USA | EU–US Data Privacy Framework (DPF) |
| Firebase Cloud Messaging | Googles globale infrastruktur | EU–US Data Privacy Framework (DPF) |
| Firebase Remote Config og App Check | Googles globale infrastruktur; attestasjon valideres også av Google Play Integrity eller Apple App Attest | EU–US Data Privacy Framework (DPF) for Googles behandling; Apple og Google behandler attestasjon etter sine egne vilkår |
| Firebase Cloud Functions | Funksjonene kjøres i europe-west1; tekniske driftslogger behandles i Google Cloud | EU–US Data Privacy Framework (DPF) der Google LLC behandler data utenfor EØS |
| Google Firestore (toppliste, utfordringer, skysikkerhetskopi, tilbakemeldinger) | Google Cloud; Google LLC (USA) er databehandler | EU–US Data Privacy Framework (DPF) |
| RevenueCat Inc. | USA | EU-kommisjonens standardkontraktsvilkår (SCC) i databehandleravtalen |
Overføringer til Google LLC skjer på grunnlag av EU-kommisjonens adekvansbeslutning for EU–US Data Privacy Framework (GDPR art. 45). For databehandlere som ikke er DPF-sertifisert, benytter vi EU-kommisjonens standardkontraktsvilkår (SCC, GDPR art. 46).
Du kan få en kopi av garantiene (standardkontraktsvilkårene) ved å kontakte oss på privacy@critcase.app. DPF-sertifiseringer kan kontrolleres på www.dataprivacyframework.gov.
7. Datalagring og sletting
7.1 Lagringsperiode
Lokale data lagres på din enhet så lenge appen er installert. Er du innlogget, lagres kontodataene dine og skysikkerhetskopien av fremgangen din til du sletter dem eller sletter kontoen.
7.2 Sletting av data
Du kan slette alle lagrede data ved å:
- Slett alt (anbefalt): Gå til Innstillinger → Personvern & data → «Slett alle mine data». Dette starter sletting av lokale data, gjeldende Firebase-installasjons-ID, aktive skydata (konto, skysikkerhetskopi, toppliste, utfordringer, tilbakemeldinger) og kontoen din i ett steg. De begrensede unntakene i punkt 7.2 gjelder.
- Nullstill spillfremgang: Gå til Innstillinger → Personvern & data → «Nullstill spillfremgang». Dette krever innlogging og internett og nullstiller poeng, nivå, prestasjoner og spillhistorikk for kontoen på tvers av enheter. Kursnotater, leksjonsfremdrift og tidligere dueller beholdes. Dette sletter ikke kontoen eller abonnementet.
- Avinstallering: Avinstaller appen for å slette alle lokale data. NB: Er du innlogget, består skysikkerhetskopien og kontoen til du sletter dem.
- Uten appen installert: Bruk slettesiden på critcase.app/delete-account.html for å be om sletting uten å installere appen på nytt.
Når slettingen fullføres, fjernes de aktive app-, abonnements- og topplistedataene som er knyttet til kontoen. Det pseudonyme slettingsvernet beskrevet i punkt 3.9 beholdes med en første slettedato etter syv dager; daglig opprydding og nye forsøk ved feil kan gi driftsmessig forsinkelse. Fristen fornyes mens en koblet Firebase-konto fortsatt finnes, slik at vi ikke automatisk sletter en konto som fortsatt kan brukes. Restkopier i sikkerhetskopier slettes innen 180 dager (Firebase).
Minimert modereringsmarkør (kun utestengte brukere): Hvis en konto allerede er utestengt når sletting kreves, sletter vi modereringsårsaken, kallenavnet og alt annet brukerinnhold fra utestengingsoppføringen, men beholder tidspunktene bannedAt og purgeAfter under den pseudonyme Firebase-bruker-ID-en. Dette hindrer at sletting fungerer som en selvbetjent oppheving av utestengelsen mens den samme bruker-ID-en fortsatt kan bruke tjenesten. Rettslig grunnlag: vår berettigede interesse i å forebygge misbruk og opprettholde en eksisterende modereringsbeslutning (GDPR art. 6(1)(f)). purgeAfter settes til bannedAt + 180 dager, slik at lagringen etter sletting er høyst 180 dager regnet fra utestengelsen og kan være kortere. Daglig opprydding sletter den minimerte markøren etter fristen. Unntaket gjelder bare utestengte brukere.
8. Dine rettigheter
I henhold til GDPR har du følgende rettigheter:
| Rettighet | Beskrivelse | Hvordan utøve |
|---|---|---|
| Innsyn | Se hvilke data som er lagret | Kjerneopplysninger om fremgang og innstillinger er synlige i appen. Eksportfunksjonen omfatter appens og Firebase-lagrede data; be om innsyn via privacy@critcase.app for opplysninger som holdes hos databehandlere eller ikke vises i eksporten. |
| Retting | Korrigere feilaktige data | Kontakt privacy@critcase.app for å be om retting av personopplysninger. |
| Sletting | Få data slettet | I appen (Innstillinger → Slett alle mine data) eller via slettesiden på critcase.app/delete-account.html |
| Dataportabilitet | Få data i maskinlesbart format | Innstillinger → «Eksporter mine data» – inkluderer lokal appdata, kontodata (hvis du er innlogget) og dine sky-lagrede dokumenter (skysikkerhetskopi, toppliste-oppføring, utfordringer, tilbakemeldinger) |
| Begrensning | Kreve at behandlingen av dine data begrenses (GDPR art. 18) | Kontakt privacy@critcase.app |
| Innsigelse | Protestere mot behandling som bygger på berettiget interesse (GDPR art. 21) | Kontakt privacy@critcase.app |
| Klage | Klage til tilsynsmyndighet | Datatilsynet: www.datatilsynet.no |
9. Barns personvern
CritCase er en læringsapp rettet mot helsepersonell og studenter over 18 år. Vi samler ikke bevisst inn data fra barn under 18 år.
10. Sikkerhet
Dine data beskyttes av:
- Enhetens innebygde sikkerhetsfunksjoner
- Kryptert lokal lagring (via operativsystemets standardmekanismer)
- Sikker HTTPS/TLS-overføring av nettverksdata til de oppførte tjenesteleverandørene
- Tilgangskontroll i skyen (Firebase-sikkerhetsregler – kontodata og skysikkerhetskopi er begrenset til din konto; data i delingsfunksjonene (toppliste, utfordringer) er synlige som beskrevet i punkt 3.8 og 3.10)
11. Endringer i personvernerklæringen
Vi kan oppdatere denne personvernerklæringen. Ved vesentlige endringer vil vi:
- Oppdatere «Sist oppdatert»-datoen øverst
- Varsle via app-oppdatering der det er relevant
12. Kontakt
Har du spørsmål om personvern eller ønsker å utøve dine rettigheter?
Personvern og rettigheter: privacy@critcase.app
Generell support: support@critcase.app
Datatilsynet (tilsynsmyndighet):
Postboks 458 Sentrum
0105 Oslo, Norge
www.datatilsynet.no
Denne personvernerklæringen gjelder for CritCase-appen distribuert via Apple App Store og Google Play Store.