Cookie is een familienaam, geen techniek
Onder het woord cookie zitten minstens acht manieren om je terug te herkennen, en de helft daarvan is helemaal geen cookie. Eigen cookie, derde-partij-cookie, opslag in de browser, een merkteken in de cache, het reclamenummer van je telefoon, een vingerafdruk van je apparaat. Ze verschillen in wie hem kan lezen, hoe lang hij leeft, of je hem kunt wissen en of de cookiewet er grip op heeft. Hier staat de hele familie, op die vier assen.
Vier vragen die de familie ordenen¶
Bij elk merkteken dat je terug kan herkennen, stel ik dezelfde vier vragen. Wie kan het lezen. Hoe lang leeft het. Kan de gebruiker het weg krijgen. Valt het onder de cookiewet. De antwoorden lopen zo ver uiteen dat het woord cookie er meer verbergt dan verduidelijkt.
De acht¶
Eigen cookie (first-party). Gezet door het domein dat je in de adresbalk ziet. Alleen dat domein leest hem terug. Leeft van een sessie tot jaren. Wissen kan. Onder de cookiewet alleen als hij niet strikt noodzakelijk is, en dat hangt af van wat hij doet, niet van wie hem zet. Dit is het merkteken waar de canon over gaat. Zie Cookies: functioneel versus niet-functioneel, met voorbeelden.
Derde-partij-cookie (third-party). Gezet door een ander domein dat via de pagina wordt aangeroepen. Dat domein leest hem terug op elke andere site waar het ook staat, en dat is het hele punt: zo ontstaat een spoor over sites heen. Wissen kan. Onder de cookiewet altijd toestemmingsplichtig. Dit is de techniek die de browsers aan het afknijpen zijn, en dat is precies waarom de rest van deze lijst bestaat.
Browseropslag (localStorage, sessionStorage, IndexedDB). Geen cookie, wel opslag op je toestel, met vaak meer ruimte en zonder vervaldatum. Wordt niet automatisch meegestuurd met elk verzoek, dus code moet hem uitlezen en meesturen. Wissen kan, maar niet met de knop waarmee mensen cookies wissen. Juridisch gelijkgesteld: artikel 11.7a gaat over het plaatsen en uitlezen van gegevens op randapparatuur, niet over het woord cookie.
Cache-merkteken (ETag, favicon-truc, HSTS-supercookie). Misbruik van geheugen dat de browser om technische redenen bijhoudt. Een server geeft elke bezoeker een uniek versienummer voor een plaatje mee. De browser stuurt dat versienummer bij een volgend bezoek terug om te vragen of het plaatje nog actueel is. Dat versienummer is dan een identifier. Leeft zolang de cache leeft. Wissen kan alleen door de cache te legen. Valt onder dezelfde bepaling, wordt zelden zo behandeld.
Reclamenummer van je toestel (IDFA op iOS, advertising ID op Android). Geen webtechniek maar een apparaatnummer dat het besturingssysteem zelf aan apps geeft. Elke app op je telefoon ziet hetzelfde nummer, dus koppelen tussen apps is triviaal. Resetten kan, maar dat is een nieuwe sleutel, geen slot. Zie Een resetbare identifier is alsnog een sleutel en Je advertentie-ID gaat ongefilterd de veiling in.
Installatienummer en sessienummer per app. Elke SDK genereert er zelf een. Ze zijn per app uniek en overleven een reset van het reclamenummer. Ze zijn onzichtbaar voor de gebruiker en er is geen enkele knop voor.
Vingerafdruk (fingerprint). Er wordt niets opgeslagen. Er wordt gemeten: hoe jouw apparaat een plaatje tekent, hoe de audio-stack klinkt, welke lettertypen er staan, hoe de sensoren reageren. Uit die combinatie komt een vrijwel unieke waarde. Leeft zolang je apparaat hetzelfde blijft. Wissen kan niet, want er is niets gewist te worden. En omdat er niets wordt geplaatst of uitgelezen in de zin van de bepaling, hebben de cookieregels er nauwelijks grip op. Zie Fingerprinting ontwijkt je weigering door niets op te slaan.
Netwerk- en gedragskenmerken. IP-adres, tijdzone, schermformaat, taalvoorkeur, typesnelheid, muisbeweging. Ieder voor zich zwak, samen sterk. Dit is de bodem waar alles op terugvalt als de rest wegvalt. Zie Het risico zit in de optelsom, niet in het losse veld.
De tabel die het gesprek verandert¶
| merkteken | wie leest | wis je hem | cookiewet | |---|---|---|---| | eigen cookie | het zichtbare domein | ja, makkelijk | ja, tenzij noodzakelijk | | derde-partij-cookie | elke site waar hij staat | ja, makkelijk | ja, altijd | | browseropslag | de code die hem zette | ja, moeilijker | ja | | cache-merkteken | de server die hem gaf | alleen via cache legen | ja, in theorie | | reclamenummer | elke app | resetten, niet wissen | apart regime | | installatienummer | die ene app | nee | apart regime | | vingerafdruk | iedereen die meet | nee | nauwelijks grip | | netwerkkenmerken | iedereen | nee | nee |
Lees die tabel van boven naar beneden en je ziet de beweging van de afgelopen tien jaar. Regelgeving en browsers hebben de bovenste twee regels aangepakt. De industrie is naar beneden geschoven. Elke regel lager is minder zichtbaar, minder wisbaar en minder gereguleerd dan de regel erboven.
Dat is geen samenzwering. Het is wat er gebeurt als je één techniek reguleert in plaats van één doel.
Waarom het woord cookie zo hardnekkig is¶
Omdat het vriendelijk klinkt en omdat het bij een knop hoort. Er is een cookiebanner, dus er is een cookieprobleem, dus als je de banner goed instelt is het opgelost. Zie Het woord cookie verbergt een techniek die je over sites heen volgt en Je cookiebanner is zelf een tracker.
De eerlijke naam voor de hele familie is herkenningsmiddel. Niet mooi, wel juist. Het legt de nadruk op wat er gebeurt (jij wordt herkend) in plaats van op waar het staat (een bestandje). En het maakt meteen duidelijk waarom je vingerafdruk in dezelfde lijst hoort als je cookie, terwijl de wet ze verschillend behandelt.