Trackere holdes tilbage, før de hentes
Snippet’en parkerer tracker-scripts, iframes og pixels i markup’en og frigiver dem først, når den besøgende har sagt ja. Forespørgslen forlader aldrig browseren i mellemtiden. Det er ikke en rapport bagefter.
Detektionen er hele produktet. Alt andet (banneret, loggen, teamadgangen) hviler på, at scanningen ser det, der faktisk kører på siden. Her er de tre mekanismer, der gør forskellen.
Rækkefølgen er køberens, ikke ingeniørens. Det øverste er det, der holder dig ude af problemer.
Snippet’en parkerer tracker-scripts, iframes og pixels i markup’en og frigiver dem først, når den besøgende har sagt ja. Forespørgslen forlader aldrig browseren i mellemtiden. Det er ikke en rapport bagefter.
Hver side får en dom, og hver samtykkehandling bliver logget med tidspunkt, besøgs-ID og valgte kategorier. Vi gemmer hverken IP-adresse eller user-agent, så loggen er dokumentation uden at være endnu et personoplysningsproblem.
HTTP-only cookies, CNAME-cloaking og fingerprinting kommer med i resultatet som selvstændige fund. Problemet ovenfor forklarer hvorfor; her er pointen, at de er med, og at hvert af dem har sin egen hjemmel.
Alle fire signaler (ad_storage, analytics_storage, ad_user_data og ad_personalization) mappes fra de kategorier, den besøgende faktisk valgte. Ikke fra en fast antagelse.
Farve, placering, logo og tekst. Accept og afvis er låst til samme størrelse og vægt i koden, så ingen opsætning kan ende med at være et dark pattern.
Inviter kolleger eller kunder pr. site med læse- eller redigeringsadgang. Bureauer kan administrere flere sites uden at dele en login.
Hver figur nedenfor viser én mekanisme. Det er ikke illustrationer af et princip. Det er den vej, scanningen faktisk går.
Scanningen åbner siden som en besøgende, der aldrig blev spurgt, og noterer hvad der satte data undervejs. Derfor er «fyrede før samtykke» en observation fra kørslen og ikke en slutning trukket ud af, om der findes et banner. Rapporten samler én række per tracker, ikke per side, så en tracker på 59 sider fylder én linje.
En scanner, der læser cookies gennem JavaScript, kan ikke se en HTTP-only cookie: flaget findes netop for at holde scripts ude. Cookiebots egen dokumentation henviser til, at cookies scanneren ikke kan nå, må tilføjes manuelt. Vi åbner siden i en rigtig browser og læser cookie-jar’en, så de står i listen som alt andet — sammen med localStorage, fingerprinting-signaler og de trackere, der svarer fra dit eget subdomæne.
En tracker kan svare på dit eget subdomæne, for eksempel metrics.ditdomæne.dk, via en DNS-record. I browseren ser trafikken first-party ud, og i cookie-listen står den som dit eget domæne. Det er først DNS-opslagningen bag hostnavnet, der afslører hvem der faktisk svarer, og den laver vi for hvert tredjeparts-hostnavn, siden henter fra.
Hvordan en CNAME-tracker gemmer sig
Besøgende
browser
metrics.ditdomæne.dk
ser first-party ud
tracker.leverandør.com
den rigtige modtager
Står som dit eget domæne i cookie-listen
Først DNS-opslagningen afslører hvem der svarer
Tre led: den besøgende, et subdomæne på dit eget domæne, og trackeren bag en DNS-record. Subdomænet ser first-party ud, men DNS-opslagningen peger på trackeren.
Et cookie-banner kan kun blokere det, det kender. Snippet’en parkerer tracker-scripts, iframes og pixels i markup’en uden en adresse at hente fra. Først når den besøgende har sagt ja, får tagget sin adresse tilbage og bliver hentet. Ved afvisning bliver adressen aldrig gendannet. Forespørgslen forlader aldrig browseren.
document.cookie viser kun de cookies, et script selv kan læse. Browserens cookie-jar indeholder også dem, serveren har sat med HttpOnly, og dem kan JavaScript ikke røre. Vi åbner siden i en rigtig browser og læser jar’en, ikke document.cookie.
Hvad JavaScript kan se, og hvad cookie-jar’en indeholder
document.cookie
hvad JavaScript kan læse
Browserens cookie-jar
hvad der faktisk er sat
Usynlig for scripts, synlig i jar’en
document.cookie viser kun de cookies, scriptet selv kan læse. Browserens cookie-jar indeholder også dem, serveren har sat med HttpOnly. En scanner, der læser gennem JavaScript, ser kun kolonnen til venstre.
Canvas, WebGL og AudioContext kan identificere en besøgende uden at sætte en eneste cookie. ePrivacy-direktivets artikel 5(3) handler om at lagre eller tilgå information på brugerens udstyr — ikke om cookies — så et fingerprint kræver samtykke, selvom cookie-listen er tom. Vi instrumenterer de API’er, aflæsningen bruger, og rapporterer signalet som et selvstændigt fund.
Fingerprinting uden cookies
Målinger i browseren
Samlet signal
4f2a9c17…
Cookies gemt: 0 Kan følges på tværs af sider: ja
Canvas, WebGL og AudioContext måler skjult i browseren. Værdierne samles til én hash, der kan følge den besøgende på tværs af sider, uden at en enkelt cookie sættes.