Het reclamenummer is de sleutel die anoniem persoonlijk maakt
Het advertentienummer van je telefoon lijkt onschuldig, maar bedrijven die identiteiten koppelen hangen er je e-mail en echte naam aan. Zodra dat nummer de veiling in gaat, is de rest van je profiel niet meer anoniem.
Wat dat nummer precies is¶
Elke telefoon draagt een reclamenummer. Op Android heet het de Advertising ID, op iOS de IDFA, en in de biedstroom heet het veld device.ifa, de identifier for advertisers. Het is een UUID, een reeks hexadecimale tekens in vaste groepen, bijvoorbeeld 38400000-8cf0-11bd-b23e-10b96e40000d (voorbeeldwaarde uit agent_rtb.py).
Het nummer bevat geen naam, geen e-mailadres en geen geboortedatum. Precies daarom heet het in privacyverklaringen vaak "anoniem" of "niet direct herleidbaar". En precies daar zit de denkfout die deze notitie uitwerkt.
Een nummer hoeft je naam niet te bevatten om je te identificeren. Het hoeft alleen constant genoeg te zijn en breed genoeg gedeeld te worden. Aan die twee voorwaarden voldoet het reclamenummer allebei. Het gaat mee in vrijwel elk biedverzoek dat je toestel verstuurt, en dat verzoek wordt uitgezonden naar iedereen die op de veiling mag meebieden. Zie Je toestelprofiel is de hoofdmoot van wat een app verstuurt.
Waarom "resetbaar" geruststellender klinkt dan het is¶
De geruststelling bij dit veld is altijd dezelfde: je kunt het nummer resetten. Dat klopt. Je krijgt een nieuw nummer, en het oude verdwijnt van je toestel.
Het probleem zit in de ruimte tussen twee resets. Zolang hetzelfde nummer meereist, werkt het als koppelsleutel tussen bestemmingen. Elke ontvanger die het in twee verschillende contexten ziet, weet dat het om hetzelfde toestel gaat. Zie Een resetbare identifier is alsnog een sleutel.
En de reset zelf is te overbruggen. Een partij die zowel je oude als je nieuwe nummer heeft gezien, samen met een tweede stabiel kenmerk, kan de twee aan elkaar knopen. Dat tweede kenmerk kan een gehashte e-mail zijn, een inloggegeven, of een vingerafdruk van je toestel. Zie Fingerprinting ontwijkt je weigering door niets op te slaan.
Een gehashte e-mail verdient hier aparte aandacht, want hij wordt vaak als anonimisering gepresenteerd. Dezelfde invoer geeft altijd dezelfde hash. Dus correleert een gehashte e-mail een persoon over diensten heen net zo goed als de e-mail zelf. Pseudonimisering is een beveiligingsmaatregel, en de AVG blijft er onverkort op van toepassing.
De partij in het midden¶
Er bestaat een hele bedrijfstak voor het aan elkaar knopen van losse identifiers. In mijn eigen indeling van trackerrollen heet die rol identity resolution, en hij is iets anders dan analytics, attributie of een crash-SDK. Zie Trackers hebben rollen, en die verwar je niet.
De werkwijze is eenvoudig. Zo'n partij verzamelt bij veel bronnen tegelijk paren: reclamenummer en e-mail, reclamenummer en klantnummer, reclamenummer en telefoonnummer. Zodra één bron het nummer samen met een naam heeft aangeleverd, is het nummer voor die partij een naam geworden. Bij elk volgend biedverzoek waarin datzelfde nummer opduikt, weet zij wie er achter zit.
Dat is het mechanisme achter de kern van deze notitie. In het Funda-dossier van 22 juni 2026 staat de bevinding zo genoteerd: identiteitskoppelaars kunnen het advertentie-ID aan een persoon koppelen (bronnen_vault.py, bronvermelding bij deze notitie).
Bewijsniveau, streng: dat het advertentie-ID de biedstroom in gaat, is bij de huizen-app statisch aangetoond in de code. De live capture kwam niet rond, want een tweede slot aan de serverkant hield de biedstroom buiten beeld (GROND bij het-reclamenummer-van-je-telefoon-gaat-de-veiling-in). Dat de koppelaars het vervolgens aan een persoon hangen, is afgeleid uit hoe die markt werkt en uit openbaar materiaal over die bedrijven. Ik heb die koppeling zelf niet aan een verkeersopname afgelezen. Zie Je advertentie-ID gaat ongefilterd de veiling in en Een aanwijzing is nog geen bewijs.
Wat ik van de uitwisseling zelf heb gemeten¶
Voor het web kan ik het delen van herkenningsnummers wel direct meten, en daar staan harde getallen tegenover.
Van de 685 bedrijven die op de gemeten sites meelezen, krijgen er 137 op minstens één site hetzelfde herkenningsnummer aangereikt. Google op 89 sites, DoubleClick op 83 (GROND bij twee-bedrijven-die-je-herkenningsnummer-uitwisselen-verwerken-je-samen). Zie Wie je herkenningsnummer deelt, verwerkt je samen en Cookie-sync laat losse partijen dezelfde persoon herkennen.
In de NPI-scan van 18 juli 2026 over 32 commerciële sites vond ik uitwisseling van herkenningsnummers op 28 sites, dat is 87,5 procent, waarvan op 16 sites zonder enige toestemming, dat is 50 procent (thesis20.json, run npi_2026-07-18, T10). Op de 1.718 overheidssites lag dat op 120 sites (7,0 procent), waarvan 98 zonder toestemming (5,7 procent) (thesis20.json, run mijnoverheid_2026-07-14, T10).
Op één perspagina van het ministerie van VWS registreerde de meting 34 unieke derde partijen, waarvan er twaalf hetzelfde herkenningsnummer kregen (GROND bij een-overheidspagina-openen-levert-vierendertig-meelezers-op).
Deze cijfers gaan over herkenningsnummers in de browser. Ze bewijzen de app-kant niet. Ze laten zien dat het mechanisme waar de app-kant op leunt, breed en meetbaar in gebruik is.
Hoe lang zo'n sleutel meegaat¶
Een sleutel is zoveel waard als zijn levensduur. Daarover heb ik een uitkomst die tegen de intuïtie in gaat.
Dezelfde tracking-identifier leefde 399 dagen op de publieke site, en werd met een houdbaarheid van twee jaar gezet zodra je in de beveiligde, ingelogde omgeving kwam (nieuwe_entries.py, grondveld bij hoe-gevoeliger-de-context-hoe-langer-de-identifier). De gevoeligere omgeving kreeg de langere sleutel. Zie Hoe gevoeliger de context, hoe langer de identifier meegaat.
Dat is de omgekeerde beweging van dataminimalisatie, en het is precies het punt waarop een verklaring en de code uit elkaar lopen.
Waarom dit juridisch al beslist is¶
Onder de AVG is een reclame-identifier een persoonsgegeven, omdat hij een natuurlijke persoon indirect identificeerbaar maakt. Het uitzenden ervan naar tientallen ontvangers is een verwerking, en elke ontvanger is een eigen partij in de zin van de wet.
De rechtspraak heeft die lijn bevestigd. Het Hof van Justitie deed op 7 maart 2024 uitspraak in zaak C-604/22 over de toestemmingsstring van het IAB-framework, en het Brussels Marktenhof bevestigde op 14 mei 2025 de sanctie van 250.000 euro, waarbij het TCF zoals het toen werkte ongeldig werd bevonden (lange_bodies.py). De schaal van de handel eronder staat in dezelfde bron: de EFF-lijst telt meer dan 750 databrokers, en Mobilewalla verhandelt meer dan 500 miljoen advertentie-ID's.
Dat laatste getal is het scherpst als je het omdraait. Meer dan 500 miljoen reclamenummers in de handel betekent dat het "anonieme" nummer een verhandelbaar goed is met een markt, een prijs en een koper.
Waar mijn meting ophoudt¶
Drie grenzen.
De koppeling van nummer naar persoon vindt plaats in de systemen van de koppelaar, en die zijn van buitenaf onzichtbaar. Ik meet dat het nummer vertrekt en aan wie. Wat de ontvanger er intern aan hangt, blijft vermoed zolang ik geen inzage heb. Zie Elke browsermeting is een ondergrens.
Een uitgewisseld herkenningsnummer bewijst herkenning en niet meer dan dat. Op een grote nieuwssite wisselde een advertentiebedrijf in 82 geschikte videoveilingen, verdeeld over 48 sessies en drie dagdelen, telkens een nummer uit zonder ook maar één keer te bieden (GROND bij een-cookie-match-is-geen-bod). De koppeling was er, het bod nul keer. Zie Een cookie-match bewijst herkenning, geen bod.
En precisie over de inhoud is even belangrijk als precisie over de sleutel. In de payloadmatrix kreeg geen van de sync-partijen een expliciete site- of artikelaanduiding mee. Ze kregen je nummer. Zie Ze krijgen je nummer, niet per se welke pagina je las.
Wat je hier morgen mee doet¶
Als lezer, in vijf minuten. Op Android: Instellingen, Privacy, Advertenties, en kies daar Advertentie-ID verwijderen. Op iOS: Privacy en beveiliging, Tracking, en zet het verzoek om te volgen uit. Daarna staat het veld device.ifa in de biedstroom leeg of op nul. De veiling gaat door, en het meest bruikbare koppelveld is eruit.
Doe daarna nog één ding dat mensen overslaan: reset het nummer ook op de tablet en op de tv-stick van hetzelfde huishouden. Een koppelaar die twee toestellen op één netwerk ziet, hoeft aan één ervan genoeg te hebben.
Als functionaris gegevensbescherming: zoek in je eigen app of site naar het veld ifa, idfa, gaid of advertisingId, en leg naast elke vindplaats de partij die hem ontvangt. Loop daarna je verwerkingsregister na en tel welke van die ontvangers erin staan. Wat er niet in staat, ontvangt persoonsgegevens zonder dat je het hebt vastgelegd.
En als je een privacyverklaring schrijft: het woord "anoniem" bij een reclame-identifier is onjuist en aantoonbaar onjuist. "Pseudoniem" is het juiste woord, en het brengt de volledige AVG mee. Zie Het risico zit in de optelsom, niet in het losse veld.