Consent

Release dato: 05.05.2025

Sist oppdatert: 19.06.2025

Consent (cookie banner) lar brukeren gi samtykke til informasjonskapsler og annen datainnsamling. Den brukes for å informere brukeren om hvordan dataene deres blir brukt og for å gi dem muligheten til å godta eller avslå bruken av informasjonskapsler.

Du kan også bruke Oslo kommunes cookie banner direkte uten denne komponenten. Se Oslo kommunes cookie banner på Github.

Live demo

Varianter

Selve modalvinduet er alltid likt, men metodene for å åpne den kan varieres. På første innlasting av siden vil den alltid åpne dersom brukeren ikke tidligere har gitt samtykker.

TriggertypeBeskrivelse
KnappÅpner consent via knapp
LenkeÅpner consent via lenke
IkonÅpner consent via ikon

Retningslinjer for bruk

  • du skal innhente eller oppdatere samtykker til bruk av cookies og sporing
  • du må gi brukeren tydelig informasjon om hvordan data brukes
  • du ikke håndterer data eller sporing som krever samtykke
  • du ønsker å informere om noe annet enn cookies og personvern (bruk da modal)

Bruk tydelig språk som forklarer hva brukeren samtykker til, og gi alltid mulighet til å avslå eller endre senere.

Funksjonen for å åpne innstillinger senere kan gjøres gjennom en knapp, en lenke eller et ikon.

Responsivitet

Consent fungerer på alle skjermstørrelser og tilpasser seg automatisk tilgjengelig plass. På mobil åpner den som et helskjerms modalvindu. Vi anbefaler å teste hvordan teksten fremstår på små skjermer for å sikre at informasjonen er lett å lese.

Universell utforming

  • Knappen for å endre eller avslå samtykker skal være tydelig og tilgjengelig
  • Bruk klarspråk slik at innholdet er lett å forstå

Anatomi

ElementBeskrivelse
1. TittelOverskrift som forklarer at Oslo kommune bruker informasjonskapsler
2. BrødtekstForklarer hva cookies brukes til og hva samtykke innebærer
3. PrimærhandlingGodta alle
4. SekundærhandlingKun nødvendige
5. Innstillinger for informasjonskapslerÅpner innstillinger for å endre samtykker
6. IllustrasjonIllustrasjon av en kjeks
7. LogoOslo-logo som viser Oslo kommune som avsender

Implementasjon i kode

Hvordan ta komponenten i bruk?

Testing

Elements og React: Dersom du skal skrive tester med JSDOM eller liknende er det viktig at du lar komponenten bli rendret ferdig før du tester den. Dette kan gjøres ved å kjøre denne kodelinjen før testene kjøres:

await window.customElements.whenDefined("pkt-consent");

Dersom du bruker verktøyene i punkt-testing-utils så kan dette bli gjort automatisk for deg.

Når brukeren bekrefter eller endrer samtykker, vil komponenten sende ut et custom event med navnet toggle-consent. Dette eventet kan brukes til å oppdatere applikasjonen din med de nye samtykkene. Du kan lytte til dette eventet ved å bruke addEventListener eller ved å bruke onToggleConsent-prop’en i React.

Custom event-hendelsen inneholder en detail-egenskap som er et objekt med de samtykkene brukeren har gitt. Dette objektet vil se slik ut:

{
  "statistics": true,
  "survey": true,
  "functional": true
}

I tillegg til at man kan sjekke hvilke samtykker brukeren har gitt og agere deretter, kan man også sende inn attributtene googleAnalyticsId og hotjarId for å aktivere Google Tag Manager/Google Analytics og Hotjar uten å måtte sette opp noe selv.

Bruk på andre domener enn *.oslo.kommune.no

Ut av boksen vil Consent-komponenten kun fungere på domener som ender på .oslo.kommune.no. Dersom du ønsker å bruke den på et annet domene, f.eks. localhost eller *.oslo.systems, kan du sette attributten cookieDomain til det domenet du ønsker å bruke. Dette må gjøres både i HTML og i React/Vue.

Om du skal bruke Consent både i testmiljøer og i produksjon anbefaler vi at du sjekker window.location.hostname og setter cookieDomain deretter. Dette kan gjøres slik:

Content Security Policy / CSP

For å bruke Consent i din applikasjon må du tillate https://cdn.web.oslo.kommune.no (eller https://*.oslo.kommune.no) i din Content Security Policy. Spesifikt må script-src og style-src tillates og dette kommer av at Consent laster inn innhold fra Oslo kommunes CDN.

Spør oss gjerne om du trenger hjelp til å sette opp CSP!