Spring til indhold
browser fingerprinting canvas fingerprinting GDPR tracking privacy device fingerprinting ePrivacy

Browser Fingerprinting: Tracking uden cookies under GDPR (2026)

Af Privaci-teamet
Browser Fingerprinting: Tracking uden cookies under GDPR (2026)

Browser Fingerprinting: Tracking uden cookies under GDPR (2026)

Du har implementeret en cookie-banner. Du har fået samtykke. Du tror, du er compliant.

Men hvad nu hvis nogen sporer dine brugere alligevel — uden at lægge en eneste cookie på deres enhed?

Det er præcis, hvad browser fingerprinting gør. Det er en tracking-teknik, der kombinerer titusindvis af tekniske detaljer fra en brugers browser til et unikt digitalt fingeraftryk. Ingen cookie. Ingen lokal lagring. Intet at slette. Og alligevel kan det bruges til at genkende den samme bruger igen og igen — på tværs af websites, sessioner og inkognito-vinduer.

I denne guide gennemgår vi teknologien bag browser fingerprinting, de juridiske konsekvenser under GDPR og ePrivacy-direktivet, og hvad du som udvikler eller compliance-ansvarlig konkret skal forholde dig til i 2026.


Hvad er browser fingerprinting?

Browser fingerprinting — også kaldet device fingerprinting — er en metode til at identificere en specifik bruger eller enhed ved at kombinere en lang række tekniske attributter fra brugerens browser og operativsystem.

Forestil dig det som en digital politiopstilling: Ingen enkelt egenskab er nok til at identificere dig. Men tilsammen — din skærmopløsning, de fonte du har installeret, dit grafikkort, din tidszone, dit sprog, din browserversion og dine lydkortindstillinger — danner de et mønster så unikt, at det med høj sandsynlighed peger på netop dig.

Entropikonceptet — jo mere unik, jo mere identifierbar

Kernen i fingerprinting-teknologien er informationsentropien — et matematisk mål for, hvor meget et enkelt datapunkt bidrager til at skille dig ud fra mængden.

En bit entropi halverer den mulige pulje af brugere. Tredive bits entropi er nok til at identificere ethvert enkelt menneske på planeten. Elektronisk Frontier Foundation (EFF) målte allerede i 2010, at browser fingerprinting alene kunne levere mindst 18,1 bits entropi — tilstrækkeligt til at gøre 83,6 % af alle browsere unikke. Med canvas fingerprinting tilføjes yderligere 5,7 bits, og med moderne teknikker, der kombinerer 20-30 attributter, kan entropi-værdier på 15-16 bits opnås for en enkelt fingerprintings-session.

W3C’s vejledning om fingerprinting-modvirkning sætter det i perspektiv: Selv 1 bit entropi kan gøre en bruger unik, hvis vedkommende er den eneste person, for hvem den pågældende egenskab gælder.


Typer af browser fingerprinting — teknisk deep-dive

1. Canvas fingerprinting

Canvas fingerprinting er den mest udbredte og undersøgte teknik. Den udnytter det faktum, at HTML5 Canvas-elementet renderer grafik forskelligt afhængigt af operativsystem, browser, grafikkort og driverversion.

Et script instruerer browseren til at tegne skjult tekst eller geometriske former. Derefter læses pixel-dataene tilbage og hashes til en unik identifikator.

Eksempel på canvas fingerprinting i JavaScript:

function getCanvasFingerprint() {
  const canvas = document.createElement('canvas');
  canvas.width = 200;
  canvas.height = 50;
  const ctx = canvas.getContext('2d');

  // Tegn tekst med specifikke skrifttype-indstillinger
  ctx.textBaseline = 'top';
  ctx.font = '14px Arial';
  ctx.fillStyle = '#f60';
  ctx.fillRect(125, 1, 62, 20);
  ctx.fillStyle = '#069';
  ctx.fillText('Browser fingerprint test', 2, 15);
  ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';
  ctx.fillText('Browser fingerprint test', 4, 17);

  // Gradienter og kurver forstreker unikke rendering-karakteristika
  const gradient = ctx.createLinearGradient(0, 0, canvas.width, 0);
  gradient.addColorStop(0, 'red');
  gradient.addColorStop(1, 'blue');
  ctx.fillStyle = gradient;
  ctx.fillRect(0, 30, canvas.width, 10);

  // Konverter til base64 og hash resultatet
  return canvas.toDataURL();
}

// Simpel hash-funktion til demo-formål
function simpleHash(str) {
  let hash = 0;
  for (let i = 0; i < str.length; i++) {
    const char = str.charCodeAt(i);
    hash = ((hash << 5) - hash) + char;
    hash = hash & hash;
  }
  return Math.abs(hash).toString(16);
}

const fingerprintHash = simpleHash(getCanvasFingerprint());
console.log('Canvas fingerprint:', fingerprintHash);

Resultatet er en hash-streng, der er konsistent for den samme browser/GPU-kombination men forskellig på tværs af systemer. Ifølge forskning kan canvas fingerprinting identificere GPU-model og driver-quirks med høj præcision.

2. WebGL fingerprinting

WebGL (Web Graphics Library) muliggør 3D-rendering i browseren via GPU’en. WebGL fingerprinting udnytter hardwarespecifikke forskelle i, hvordan grafikkort renderer 3D-scener.

function getWebGLFingerprint() {
  const canvas = document.createElement('canvas');
  const gl = canvas.getContext('webgl') ||
              canvas.getContext('experimental-webgl');

  if (!gl) return null;

  const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
  const result = {
    vendor: gl.getParameter(gl.VENDOR),
    renderer: gl.getParameter(gl.RENDERER),
    version: gl.getParameter(gl.VERSION),
    shadingLanguageVersion: gl.getParameter(gl.SHADING_LANGUAGE_VERSION),
    maxTextureSize: gl.getParameter(gl.MAX_TEXTURE_SIZE),
    maxViewportDims: gl.getParameter(gl.MAX_VIEWPORT_DIMS),
  };

  if (debugInfo) {
    result.unmaskedVendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
    result.unmaskedRenderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
  }

  return result;
}

UNMASKED_RENDERER_WEBGL afslører typisk specifik GPU-information som f.eks. "NVIDIA GeForce RTX 3080/PCIe/SSE2" — et stærkt identifikationssignal i kombination med andre attributter.

3. AudioContext fingerprinting

AudioContext fingerprinting bruger Web Audio API’en til at generere et unikt lydfingeraftryk. Ingen mikrofon-adgang kræves. I stedet bearbejder browseren et syntetisk lydsignal, og de matematiske variationer i behandlingen afspejler lydkortets og processorkonfigurationens unikke karakteristika.

async function getAudioFingerprint() {
  return new Promise((resolve) => {
    try {
      const AudioContext = window.AudioContext || window.webkitAudioContext;
      const context = new AudioContext();

      // Opret en oscillator med en specifik frekvens
      const oscillator = context.createOscillator();
      oscillator.type = 'triangle';
      oscillator.frequency.setValueAtTime(10000, context.currentTime);

      // Komprimer signalet — resultatet varierer per hardware
      const compressor = context.createDynamicsCompressor();
      compressor.threshold.setValueAtTime(-50, context.currentTime);
      compressor.knee.setValueAtTime(40, context.currentTime);
      compressor.ratio.setValueAtTime(12, context.currentTime);
      compressor.attack.setValueAtTime(0, context.currentTime);
      compressor.release.setValueAtTime(0.25, context.currentTime);

      // Opsaml output
      const analyser = context.createAnalyser();
      oscillator.connect(compressor);
      compressor.connect(analyser);
      analyser.connect(context.destination);

      oscillator.start(0);

      const dataArray = new Float32Array(analyser.frequencyBinCount);
      setTimeout(() => {
        analyser.getFloatFrequencyData(dataArray);
        oscillator.stop();
        context.close();

        // Hash af de numeriske værdier udgør fingerprinting-signalet
        const hash = dataArray.slice(0, 30).reduce(
          (acc, val) => acc + Math.abs(val), 0
        ).toFixed(6);

        resolve(hash);
      }, 100);
    } catch (e) {
      resolve(null);
    }
  });
}

4. Font fingerprinting

Hvilke skrifttyper der er installeret på en enhed, varierer enormt og udgør et stærkt identifikationssignal. En klassisk teknik er at måle bredden og højden på tekst renderet med specifikke fonte ved hjælp af Canvas:

function getInstalledFonts() {
  const testFonts = [
    'Arial', 'Calibri', 'Comic Sans MS', 'Courier New',
    'Georgia', 'Impact', 'Times New Roman', 'Trebuchet MS',
    'Verdana', 'Webdings', 'Wingdings', 'MS Gothic',
    'Helvetica Neue', 'Futura', 'Gill Sans', 'Optima'
  ];

  const baseFonts = ['monospace', 'sans-serif', 'serif'];
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');
  const testString = 'mmmmmmmmmmlli';
  const testSize = '72px';

  function measureText(font) {
    ctx.font = `${testSize} ${font}`;
    return ctx.measureText(testString).width;
  }

  const baseWidths = baseFonts.map(measureText);

  return testFonts.filter((font, i) => {
    return baseFonts.some((base, j) => {
      ctx.font = `${testSize} '${font}', ${base}`;
      return ctx.measureText(testString).width !== baseWidths[j];
    });
  });
}

5. Navigator-objektet og browser-karakteristika

navigator-objektet afslører en overraskende mængde information:

function getNavigatorFingerprint() {
  return {
    userAgent: navigator.userAgent,
    language: navigator.language,
    languages: navigator.languages,
    platform: navigator.platform,
    hardwareConcurrency: navigator.hardwareConcurrency, // CPU-kerne-antal
    deviceMemory: navigator.deviceMemory,               // RAM i GB (approx.)
    maxTouchPoints: navigator.maxTouchPoints,
    cookieEnabled: navigator.cookieEnabled,
    doNotTrack: navigator.doNotTrack,
    vendor: navigator.vendor,
    vendorSub: navigator.vendorSub,
    productSub: navigator.productSub,
    plugins: Array.from(navigator.plugins).map(p => p.name),
    mimeTypes: Array.from(navigator.mimeTypes).map(m => m.type),
  };
}

hardwareConcurrency afslører antallet af CPU-kerner (f.eks. 8 eller 16), deviceMemory returnerer mængden af RAM afrundet til nærmeste potens af to. Disse to værdier alene reducerer entropien markant.

6. Skærmopløsning, farvedybde og pixeltæthed

function getScreenFingerprint() {
  return {
    width: screen.width,
    height: screen.height,
    availWidth: screen.availWidth,
    availHeight: screen.availHeight,
    colorDepth: screen.colorDepth,
    pixelDepth: screen.pixelDepth,
    devicePixelRatio: window.devicePixelRatio,
    orientation: screen.orientation?.type,
    innerWidth: window.innerWidth,
    innerHeight: window.innerHeight,
  };
}

devicePixelRatio er særlig interessant: En Retina-skærm returnerer 2, en standard-skærm returnerer 1, og en 4K-skærm kan returnere 1,5 eller 2. Det identificerer skærmtypen præcist.

7. Tidszone og sprog

function getTimezoneFingerprint() {
  return {
    timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
    timezoneOffset: new Date().getTimezoneOffset(),
    locale: Intl.DateTimeFormat().resolvedOptions().locale,
    numberFormat: new Intl.NumberFormat().format(1234567.89),
    dateFormat: new Intl.DateTimeFormat('default', {
      year: 'numeric', month: 'long', day: 'numeric'
    }).format(new Date()),
  };
}

8. TCP/IP og netværks-fingerprinting

TCP/IP fingerprinting sker på netværksniveau snarere end i browseren. En servers netværksstak kan analysere TCP-pakke-karakteristika som TTL-værdier (Time to Live), TCP-vinduesstørrelse, og rækkefølgen af TCP-optioner. Disse værdier er karakteristiske for specifikke operativsystemer og versioner og kan identificere en brugers OS uafhængigt af User-Agent-strengen.

Kombineret med IP-adresse udgør TCP/IP-fingerprinting et “passivt” fingerprint, der ikke kræver JavaScript-eksekvering — og som brugeren dermed slet ikke kan beskytte sig imod via browser-indstillinger.


Hvem bruger browser fingerprinting?

Kendte biblioteker og services

Fingerprint.com (tidligere FingerprintJS) er det mest kendte kommercielle fingerprinting-bibliotek. Det analyserer over 100 browser- og netværkssignaler og opnår en rapporteret identifikationsnøjagtighed på op til 94 %. Biblioteket positionerer sig primært som et fraud-prevention-værktøj.

Andre udbredte løsninger inkluderer:

  • ThreatMetrix (LexisNexis) — bruges af banker og betalingsprocessorer til at opdage svindel
  • iovation (TransUnion) — device intelligence til finansielle services
  • MaxMind — kombination af IP-geolokation og device fingerprinting
  • DataDome — bot-detektion og scraping-beskyttelse
  • Cloudflare Bot Management — integreret fingerprinting i CDN-laget
  • mParticle og Segment — customer data platforms med fingerprinting-kapabilitet

Mange tracking-pixels og annonce-netværk (Google, Meta, Amazon) integrerer ligeledes fingerprinting-signaler i deres tracking-stacks som supplement til eller erstatning for tredjepartscookies.

Fraud prevention vs. tracking-formål

Her opstår den juridiske og etiske kerne-distinktion. Fingerprinting bruges til to fundamentalt forskellige formål:

Legitim fraud prevention: En bank bruger fingerprinting til at opdage, om en login-anmodning kommer fra en enhed, der aldrig har tilgået kontoen. Et e-handelssitet bruger det til at opdage misbrug af rabatkoder. En streaming-tjeneste bruger det til at begrænse account-sharing. I disse tilfælde er formålet brugerbeskyttelse og sikkerhed, og den direkte fordel for brugeren er tydelig.

Tracking og profilering: En annoncenetværk bruger fingerprinting til at genkende den samme bruger på tværs af hundredvis af websites — selv efter vedkommende har slettet cookies, skiftet til inkognito eller afvist tracking. Formålet er at opbygge detaljerede profiler til målrettet markedsføring. Her er der ingen direkte fordel for brugeren.


GDPR og browser fingerprinting

Er et browserfingeraftryk persondata?

Det korte svar: I langt de fleste tilfælde ja.

GDPR’s definition af persondata i artikel 4(1) dækker enhver information, der direkte eller indirekte kan identificere en fysisk person. Begrebet “indirekte identifikation” er centralt her.

Artikel 29-Gruppen (EDPB’s forgænger) slog allerede i Opinion 4/2007 fast: Hvis formålet med behandlingen er at identificere individer, bør man antage, at det er muligt. Som Gruppen præcist formulerede det: “At hævde, at individer ikke er identificerbare, hvor formålet med behandlingen netop er at identificere dem, ville være en åbenlys selvmodsigelse.”

GDPR’s betragtning 26 og 30 er særlig relevante: Betragtning 30 nævner eksplicit, at “naturlige personer kan forbindes med online-identifikatorer fra deres enheder, applikationer, redskaber og protokoller, som f.eks. internetprotokoladresser, cookie-identifikatorer eller andre identifikatorer. Dette kan efterlade spor, der navnlig i kombination med unikke identifikatorer og andre oplysninger modtaget af serverne, kan anvendes til at oprette profiler af de naturlige personer og identificere dem.”

Et browserfingeraftryk er præcis en sådan identifikator.

CJEU-dommen i Planet49-sagen og dens implikationer for fingerprinting

Den 1. oktober 2019 afsagde EU-Domstolen (CJEU) sin afgørelse i sagen mod online-gaming-virksomheden Planet49 (C-673/17). Selvom sagen primært handlede om cookies og forudafkrydsede samtykke-bokse, har dommen vidtrækkende implikationer for alle former for tracking-teknologier — herunder fingerprinting.

Domstolens centrale konklusioner:

1. Aktivt og utvetydigt samtykke er ikke til forhandling. Pre-tikkede bokse og passiv adfærd (f.eks. at fortsætte browsing) udgør ikke gyldigt samtykke. Samtykke kræver en “klar, bekræftende handling” fra brugeren.

2. Det er irrelevant, om cookies eller lignende teknologier behandler persondata. Domstolen fastslår, at Article 5(3) i ePrivacy-direktivet kræver samtykke til lagring og adgang til oplysninger på brugerens enhed — uanset om de pågældende oplysninger udgør persondata. For fingerprinting, der aktivt læser information fra brugerens terminal, er implikationen klar.

3. Klar information er obligatorisk. Brugeren skal informeres om mindst: identiteten på den dataansvarlige, formålet med behandlingen, og cookiernes/trackingens varighed.

EDPB’s retningslinjer 2/2023 om ePrivacy-direktivets tekniske rækkevidde

I oktober 2024 offentliggjorde EDPB den endelige version af Guidelines 2/2023 on Technical Scope of Art. 5(3) of the ePrivacy Directive. Dette er det mest direkte regulatoriske dokument for fingerprinting i 2025-2026.

Retningslinjerne bygger videre på WP29’s Opinion 9/2014, som allerede fastslog at fingerprinting falder inden for ePrivacy-direktivets anvendelsesområde. EDPB uddyber nu:

Fingerprinting triggerer Article 5(3) ePD, fordi det indebærer “adgang til oplysninger gemt i brugerens terminaludstyr.” Når et JavaScript-script instruerer browseren om at sende hardware- og softwareegenskaber til en ekstern server, udgør det netop en sådan adgang.

Samtykke er hovedreglen. EDPB fortolker Article 5(3) meget bredt og inkluderer fingerprinting-teknikker, URL-tracking, pixel-tracking og IP-tracking i scope. Det eneste undtagelseskriterium er, om behandlingen er “strengt nødvendig” for at levere en af brugeren udtrykkeligt efterspurgt tjeneste — og det er et snævert undtagelseskriterium, der ikke dækker markedsføring eller cross-site tracking.

CNIL’s guidelines om fingerprinting

Den franske databeskyttelsesmyndighed CNIL var tidligt ude med klare retningslinjer. I CNILs vejledning om cookies og lignende teknologier fra 2019 (opdateret siden) gøres det eksplicit, at fingerprinting-teknikker er underlagt de samme krav som HTTP-cookies:

Vejledningen dækker brug af teknologier, der lagrer eller tilgår information på enhver brugerenhed tilsluttet et offentligt telekommunikationsnetværk — herunder fingerprinting-systemer.

CNIL kræver, at:

  • Samtykke er frivilligt givet, specifikt, informeret og utvetydigt
  • Blot at fortsætte browsing ikke udgør gyldigt samtykke
  • Brugeren skal have adgang til en komplet, regelmæssigt opdateret liste over alle entiteter, der anvender tracking-teknologier

ICO og Googles U-vending om device fingerprinting

I begyndelsen af 2025 annoncerede Google, at man ikke længere ville forhindre device fingerprinting i Chrome-browseren — en markant kursændring fra den tidligere politik. Den britiske datatilsynsmyndighed ICO reagerede prompte med et udkast til vejledning, der analyserer fingerprinting under PECR (Privacy and Electronic Communications Regulations) og slår fast, at de eksisterende regler om lagring og adgang til enhedsinformation gælder fuldt ud for fingerprinting.

Hvornår er fingerprinting legitimt — fraud prevention-undtagelsen?

Der eksisterer en reel undtagelse, men den er snæver:

Fingerprinting til sikkerhed og fraud prevention kan i visse tilfælde hvile på det legitime interesse-grundlag (GDPR Article 6(1)(f)), forudsat at:

  1. Formålet er dokumenteret specifikt og er begrænset til sikkerhed
  2. Der er foretaget en gennemgribende interesseafvejning (LIA — Legitimate Interest Assessment)
  3. Dataene ikke bruges til andre formål (profilering, annoncering)
  4. Brugeren informeres via privatlivspolitikken
  5. Proportionalitetsprincippet overholdes — kun de minimalt nødvendige signaler indsamles

EDPB’s Guidelines 1/2024 om legitim interesse bekræfter, at fraud prevention er et anerkendt legitim interesse-scenarie, men understreger, at en konkret og dokumenteret interesseafvejning altid er påkrævet. “Fraud prevention” kan ikke bruges som en freifahrtschein til ubegrænset fingerprinting.

Bøder og håndhævelse

Selvom der endnu ikke er udstedt GDPR-bøder specifikt og udelukkende for browser fingerprinting, peger håndhævelsestrenden entydigt i retning af øget fokus på cookieless tracking:

  • Clearview AI er blevet bødelagt syv gange siden 2020 i forskellige EU-lande for ulovlig biometrisk identifikation — med samlede bøder på over 100 millioner euro. Principielt er der tale om den samme “skjult identifikation”-problematik som fingerprinting.
  • Meta har modtaget bøder i milliardklassen (bl.a. 1,2 milliarder euro) for ulovlig datadeling — et signal om, at tracking-baseret databehandling er under intenst tilsyn.
  • Håndhævelsestendensen i 2025 viser, at myndigheder aktivt retter sig mod ikke-transparente tracking-metoder, og at “vi bruger ikke cookies” ikke er nogen beskyttelse, hvis man benytter alternative tracking-metoder uden samtykke.

Se din egen browser fingerprint

Din browser afslører mere om dig, end du måske forestiller dig. Her er, hvad en fingerprinting-scanner typisk kan se:

AttributEksempel på hvad den afslører
User-Agent”Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/132”
Sprog”da-DK, da, en-US, en”
Tidszone”Europe/Copenhagen”
Skærmopløsning1920x1080, farvedybde 24 bit
CPU-kerner8 (hardwareConcurrency)
RAM8 GB (deviceMemory)
GPU-renderer”ANGLE (NVIDIA, GeForce RTX 3080 Direct3D11)“
Installerede fonteListe på 50-200 fonte
Canvas hash”a3f42b8c…”
Audio hash”3421.887432”
Touch-punkter0 (stationær PC)
Plugin-liste[ ] (moderne Chrome)

Hvad afslører din browser? Du kan teste din egen fingerprint via EFF’s Panopticlick/Cover Your Tracks-værktøj på coveryourtracks.eff.org — det viser, om din browser er unik i forhold til de brugere, der har testet systemet.

Kombinationen af disse attributter er i langt de fleste tilfælde tilstrækkelig til at identificere dig som unik bruger — selv uden cookies, selv i inkognito-tilstand og selv efter du har skiftet IP-adresse.

Infographic der viser otte browsersignaler — Canvas, WebGL, AudioContext, fonte, Navigator, skærmoplosning, tidszone og TCP/IP — som via animerede linjer samles til et unikt digitalt fingeraftryk med en identifikationsnøjagtighed på op til 99,24 procent
Otte kategorier af browsersignaler kombineres til ét unikt fingeraftryk. Teknikken kan identificere en bruger med op til 99,24% nøjagtighed — uden en eneste cookie og uden at efterlade spor, der kan slettes.

Browser-forsvar mod fingerprinting

Brave Browser — aggressiv “farbling”

Brave er i dag den browser, der tilbyder den mest aggressive standard-beskyttelse mod fingerprinting. Brave’s tilgang hedder “farbling” — i stedet for at blokere API’er fuldstændigt, tilsættes et lille stykke tilfældig støj til outputtet fra Canvas, WebGL, AudioContext og andre fingerprinting-overflader.

Konkret fungerer det ved at generere et per-session, per-site seed, der modificerer outputtet. Det betyder:

  • Din fingerprint er unik per website (forhindrer cross-site tracking)
  • Din fingerprint ændres efter hver session (forhindrer cross-session tracking)
  • API’erne virker stadig normalt (ingen website-brud)

Brave Shields anvender desuden EasyList, EasyPrivacy og egne lister til at blokere kendte fingerprinting-scripts direkte.

Firefox — privacy.resistFingerprinting

Firefox tilbyder privacy.resistFingerprinting (RFP) — en avanceret indstilling i about:config. Med RFP aktiveret:

  • Returnerer screen.width og screen.height standardiserede værdier (1000x900)
  • Rapporterer en fast User-Agent-streng
  • Begrænser Canvas-API’ens nøjagtighed (returnerer blank canvas i visse kontekster)
  • Returnerer en fast tidszone (UTC)
  • Normaliserer navigator.languages

Aktivering af Firefox RFP:

  1. Åbn about:config
  2. Søg på privacy.resistFingerprinting
  3. Sæt værdien til true

Firefox’s Enhanced Tracking Protection (strict mode) blokerer desuden kendte fingerprinting-scripts via Disconnect.me’s tracker-lister.

Safari — Intelligent Tracking Prevention og Advanced Protection

Safari’s Intelligent Tracking Prevention (ITP) begrænser JavaScript-adgang til en række APIs, der kan bruges til fingerprinting. I Safari 17 introduceredes “Advanced Tracking and Fingerprinting Protection” (aktiveret som standard i Private Browsing, og fra Safari 26 aktiveret som standard i al browsing).

Safaris tilgang minder om Braves farbling: Støj tilsættes API-output frem for at blokere dem fuldstændigt. Safari begrænser desuden WebGL-information og returnerer begrænsede skrifttype-mål.

På iOS er alle browsers tvunget til at bruge WebKit, hvilket giver Safari et unikt kontrolniveau over alle browsers på platformen.

Chrome — Privacy Sandbox og begrænset fingerprinting-beskyttelse

Chrome tilbyder i dag meget lidt beskyttelse mod fingerprinting i standardkonfigurationen. Google er under intens pres for at adressere dette, men virksomhedens forretningsmodel er i en grundlæggende konflikt med stærk fingerprinting-beskyttelse.

Google Privacy Sandbox er det primære alternativ-initiativ:

  • Topics API grupperer brugere i brede interessekategorier (fx “sport” eller “rejser”) baseret på browserhistorik — lokalt på enheden, uden at sende individuelle data
  • Protected Audiences API muliggør remarketing-auktioner i browseren uden at eksponere brugerdata til tredjeparter

Topics API er dog ikke en erstatning for fingerprinting — det er et alternativ til tredjeparts-cookie-baseret adfærdssporing, og det er frivilligt for brugere at aktivere. Med kun 470 kategorier i sin taksonomi kan det ikke matche granulariteten af cookie-baseret tracking, og fingerprinting-scripts kan fortsat eksekvere parallelt.

Google har i 2025 kommunikeret, at man ikke vil aktivt forhindre device fingerprinting i Chrome — en beslutning, ICO har reageret kritisk på.


Privaci.io’s fingerprinting-detektion

Det, du ikke kan se, kan du ikke administrere. Det er kerneproblemet med browser fingerprinting fra et compliance-perspektiv: I modsætning til cookies efterlader fingerprinting-scripts ingen åbenlys “fingerprint” i browserens developer tools.

Privaci.io by bon.do scanner dit website for fingerprinting-scripts og -adfærd som en del af den automatiserede cookie- og tracker-scanning:

  • Script-detektion: Privaci.io identificerer kendte fingerprinting-biblioteker (FingerprintJS, Seon, ThreatMetrix m.fl.) via signatur-matching og adfærdsanalyse
  • API-kaldsanalyse: Scanningen registrerer, om scripts forsøger at tilgå Canvas, WebGL, AudioContext og andre fingerprinting-overflader
  • Automatisk kategorisering: Fingerprinting-scripts kategoriseres korrekt som tracking/profilering — ikke som “teknisk nødvendige” cookies
  • Compliance-rapportering: Fundene dokumenteres i Privaci.io’s compliance-rapport, inklusiv en vurdering af, om det krævede samtykke er opnået
  • Kontinuerlig overvågning: Da websites løbende opdateres og scripts skifter, gentager Privaci.io skanningerne automatisk og alarmerer ved ændringer

Et hyppigt problem er, at fingerprinting-scripts introduceres via tredjepartsintegrationer — en chatbot, et analyseredskab, et annonce-netværk — uden at webstedsejeren er klar over det. Privaci.io’s scanning finder disse scripts, uanset om de er førstepartsintegrationer eller indlejrede via tredjeparts-tags.


FAQ om browser fingerprinting

Kan fingerprinting fungere i inkognito-tilstand? Ja. Inkognito-tilstand forhindrer cookies i at persistere mellem sessioner, men de underliggende hardware- og softwareegenskaber, som fingerprinting udnytter, er de samme i inkognito som i normal browsing. Det eneste, der ændres, er den manglende persistente cookie — selve fingerprint-signaturen er identisk.

Er fingerprinting det samme som supercookies? Nej, de er forskellige teknikker. Supercookies er identifikatorer gemt på enheden via alternative mekanismer (HSTS-flags, ETags, localStorage osv.). Fingerprinting læser enheds- og browseregenskaber uden at gemme noget. Begge er tracking-metoder, men de fungerer fundamentalt forskelligt.

Kan en VPN beskytte mod fingerprinting? Kun delvist. En VPN skjuler din IP-adresse og ændrer din tilsyneladende geolokation — men det ændrer ikke din browser’s canvas-output, dine installerede fonte, din GPU-model eller dine skærmindstillinger. Fingerprinting er effektiv selv mod brugere med VPN.

Behøver vi samtykke til fingerprinting, der kun bruges til sikkerhedsformål? Det afhænger af implementeringen. Ren server-side IP-analyse til fraud detection kræver muligvis ikke samtykke. Men JavaScript-baseret fingerprinting — der aktivt læser browseregenskaber — falder inden for Article 5(3) ePD’s rækkevidde og kræver som udgangspunkt samtykke, medmindre det er strengt nødvendigt for en af brugeren udtrykkeligt efterspurgt tjeneste.

Hvad er forskellen på aktiv og passiv fingerprinting? Aktiv fingerprinting bruger JavaScript til proaktivt at udspørge browser-APIs. Passiv fingerprinting analyserer information, der sendes som en del af normale HTTP-anmodninger (User-Agent, Accept-Language, IP-adresse). EDPB’s retningslinjer 2/2023 dækker begge former — og forskerkommentarer til retningslinjerne argumenterer eksplicit for, at passiv fingerprinting bør inkluderes i EDPB’s vejledning.

Vil Google Privacy Sandbox eliminere behovet for fingerprinting? Sandsynligvis ikke. Privacy Sandbox erstatter tredjeparts-cookie-baseret tracking med mere privacy-bevarende alternativer — men det forhindrer ikke fingerprinting-scripts i at eksekvere. Desuden valgte Google i 2025 ikke at afvikle tredjepartscookies som planlagt, hvilket reducerer incitamentet til at adoptere Privacy Sandbox-alternativerne.

Hvad koster det, hvis man bruger fingerprinting uden samtykke? GDPR-bøder kan nå op til 20 millioner euro eller 4 % af global omsætning — det højeste beløb gælder. Ud over bøder risikeres reprimander, øget tilsyn, behandlingsforbud og significant skade på omdømme.


Konklusion

Browser fingerprinting er ikke en fremtidig trussel — det er en nuværende virkelighed på tusindvis af websites, herunder sandsynligvis dit eget, via tredjepartsscripts du måske aldrig har hørt om.

Det juridiske landskab er klart: Under GDPR og ePrivacy-direktivet er browser fingerprinting reguleret på linje med cookies. EDPB’s retningslinjer 2/2023, Planet49-dommen og CNILs vejledning giver alle den samme konklusion — at aktivt læse browseregenskaber for tracking-formål kræver informeret, frivilligt og utvetydigt samtykke.

De centrale takeaways for 2026:

For udviklere: Fingerprinting-APIs (Canvas, WebGL, AudioContext) er ikke “harmløse” web-features, når de bruges til identifikation. Brug dem med omhu, dokumenter formålet, og implementer kun med det juridisk korrekte grundlag.

For compliance-folk: Din cookie-banner dækker ikke automatisk fingerprinting. Fingerprinting-scripts skal identificeres, kategoriseres korrekt og underlægges samme samtykke-flow som tracking-cookies.

For marketingfolk: Fingerprinting er ikke et samtykke-frit alternativ til cookies — det er et alternativ med de samme samtykke-krav. Brug det udelukkende på det korrekte juridiske grundlag, og overvej, om fraud-prevention-formålet reelt legitimerer brug i jeres konkrete kontekst.

Det næste skridt er at vide, hvad der kører på dit website. Mange ejere af websites opdager fingerprinting-scripts for første gang, når de kører en scanner. Privaci.io by bon.do identificerer automatisk fingerprinting-scripts, kategoriserer dem korrekt, og hjælper dig med at sikre, at brugernes samtykke faktisk dækker den tracking, der finder sted — synlig som usynlig.


Privaci.io by bon.do er en automatiseret cookie- og tracker-scanner, der hjælper virksomheder med at opnå og vedligeholde GDPR-compliance. Platformen opdager cookies, tracking-pixels, fingerprinting-scripts og andre tracking-teknologier — og integrerer fundene direkte i dit consent management workflow.

Ofte stillede spørgsmål

Kan fingerprinting fungere i inkognito-tilstand?
Ja. Inkognito-tilstand forhindrer cookies i at persistere mellem sessioner, men de underliggende hardware- og softwareegenskaber, som fingerprinting udnytter, er de samme i inkognito som i normal browsing. Det eneste, der ændres, er den manglende persistente cookie — selve fingerprint-signaturen er identisk.
Er fingerprinting det samme som supercookies?
Nej, de er forskellige teknikker. Supercookies er identifikatorer gemt på enheden via alternative mekanismer (HSTS-flags, ETags, localStorage osv.). Fingerprinting læser enheds- og browseregenskaber uden at gemme noget. Begge er tracking-metoder, men de fungerer fundamentalt forskelligt.
Kan en VPN beskytte mod fingerprinting?
Kun delvist. En VPN skjuler din IP-adresse og ændrer din tilsyneladende geolokation — men det ændrer ikke din browser’s canvas-output, dine installerede fonte, din GPU-model eller dine skærmindstillinger. Fingerprinting er effektiv selv mod brugere med VPN.
Behøver vi samtykke til fingerprinting, der kun bruges til sikkerhedsformål?
Det afhænger af implementeringen. Ren server-side IP-analyse til fraud detection kræver muligvis ikke samtykke. Men JavaScript-baseret fingerprinting — der aktivt læser browseregenskaber — falder inden for Article 5(3) ePD’s rækkevidde og kræver som udgangspunkt samtykke, medmindre det er strengt nødvendigt for en af brugeren udtrykkeligt efterspurgt tjeneste.
Hvad er forskellen på aktiv og passiv fingerprinting?
Aktiv fingerprinting bruger JavaScript til proaktivt at udspørge browser-APIs. Passiv fingerprinting analyserer information, der sendes som en del af normale HTTP-anmodninger (User-Agent, Accept-Language, IP-adresse). EDPB’s retningslinjer 2/2023 dækker begge former — og forskerkommentarer til retningslinjerne argumenterer eksplicit for, at passiv fingerprinting bør inkluderes i EDPB’s vejledning.
Vil Google Privacy Sandbox eliminere behovet for fingerprinting?
Sandsynligvis ikke. Privacy Sandbox erstatter tredjeparts-cookie-baseret tracking med mere privacy-bevarende alternativer — men det forhindrer ikke fingerprinting-scripts i at eksekvere. Desuden valgte Google i 2025 ikke at afvikle tredjepartscookies som planlagt, hvilket reducerer incitamentet til at adoptere Privacy Sandbox-alternativerne.
Hvad koster det, hvis man bruger fingerprinting uden samtykke?
GDPR-bøder kan nå op til 20 millioner euro eller 4 % af global omsætning — det højeste beløb gælder. Ud over bøder risikeres reprimander, øget tilsyn, behandlingsforbud og significant skade på omdømme.

Klar til at finde alle dine cookies?

Privaci scanner dit website i et fuldt browsermiljø og finder HTTP-only cookies, CNAME cloaking og browser fingerprinting — teknologier andre scannere misser.