{
  "meta": {
    "title": "mijnoverheid.us",
    "subtitle": "Een register van wat de Nederlandse overheid naar Amerika stuurt.",
    "updated": "2026-05-06",
    "auteur": "Mick Beer",
    "aard": "particulier register, geen overheidssite",
    "tagline": "Onderdeel van hackedemia.nl. Geen tracking. Geen cookies. Geen advertenties.",
    "removed": [
      "WEB-020 (apotheek.nl) — innerlijk tegenstrijdige record geschrapt 2026-05-05"
    ],
    "todos": [
      "NL-014/NL-015: rapport-URLs zijn homepages (taxlive.nl, rijksoverheid.nl) — vervangen door specifieke artikel-URLs post-launch."
    ],
    "added": [
      "NL-022..025 — SVB+Toeslagen×AB Tasty, PRO×Piwik (systemisch, 188 sites), Douane×Adobe+Piwik (5 mei 2026)",
      "NL-008 scope verbreed naar belastingdienst.nl + toeslagen.nl (HAR 5 mei 2026); NL-024 NB toegevoegd voor afzonderlijke SVB/Belastingdienst-stacks",
      "NL-026 toegevoegd 2026-05-05T23:00 — Kiesraad × Piwik PRO eigen tenant 75718efd-..., consent-mechanisme actief uitgezet (consent_enabled:false + respectVisitorsPrivacy:false). Bewijs: code-niveau onderzoek + sandbox + 3 HARs. Apart van NL-024 (eigen tenant, eigen Kiesraad-bestuur-verantwoordelijkheid)."
    ]
  },
  "vendors": {
    "adobe": {
      "naam": "Adobe",
      "land": "USA",
      "stad": "San Jose, California"
    },
    "google": {
      "naam": "Google",
      "land": "USA",
      "stad": "Mountain View, California"
    },
    "microsoft": {
      "naam": "Microsoft",
      "land": "USA",
      "stad": "Redmond, Washington"
    },
    "genesys": {
      "naam": "Genesys",
      "land": "USA",
      "stad": "Menlo Park, California"
    },
    "ping": {
      "naam": "Ping Identity",
      "land": "USA",
      "stad": "Denver, Colorado"
    },
    "mindbreeze": {
      "naam": "Mindbreeze",
      "land": "USA + Oostenrijk",
      "stad": "Chicago (HQ) + Linz",
      "caveat": "Headquarters in Chicago — primair onder USA-jurisdictie"
    },
    "verint": {
      "naam": "Verint",
      "land": "USA + Israel",
      "stad": "Melville, New York"
    },
    "abtasty": {
      "naam": "AB Tasty",
      "land": "Frankrijk (bedrijfsvestiging)",
      "stad": "Parijs",
      "caveat": "Draait op Google Cloud Platform (USA) — onder CLOUD Act",
      "vendor_type": "A/B-testing platform",
      "vendor_categorie": "advertising / experimentation"
    },
    "kyndryl": {
      "naam": "Kyndryl",
      "land": "USA",
      "stad": "New York"
    },
    "fastenterprises": {
      "naam": "Fast Enterprises",
      "land": "USA",
      "stad": "Centennial, Colorado"
    },
    "hotjar": {
      "naam": "Hotjar (Contentsquare)",
      "land": "Malta + USA",
      "stad": "Malta + New York",
      "caveat": "Sinds 2023 onderdeel van Contentsquare (FR/IL/USA)"
    },
    "criteo": {
      "naam": "Criteo",
      "land": "Frankrijk + USA",
      "stad": "Parijs + New York"
    },
    "contentsquare": {
      "naam": "ContentSquare / ClickTale",
      "land": "Frankrijk (HQ) + Israel + USA",
      "stad": "Parijs / Tel Aviv / New York",
      "caveat": "Multi-jurisdictie analytics — internationale data-routing"
    },
    "snowplow": {
      "naam": "Snowplow / DPG Media-stack",
      "land": "VK (bedrijfsvestiging)",
      "stad": "Londen",
      "caveat": "Klant-implementaties draaien doorgaans op AWS / Google Cloud (US-cloud)"
    },
    "vwo": {
      "naam": "Visual Website Optimizer (VWO)",
      "land": "India (Wingify)",
      "stad": "Pune",
      "caveat": "Draait op AWS (Amerikaanse hyperscaler) — onder CLOUD Act"
    },
    "piwik": {
      "naam": "Piwik PRO",
      "land": "Polen (bedrijfsvestiging)",
      "stad": "Wrocław",
      "caveat": "Public Cloud-product draait op AWS / Google Cloud (Amerikaanse hyperscalers) — ook EU-tenants kunnen onder CLOUD Act vallen",
      "vendor_type": "Web-analytics + tag manager",
      "vendor_categorie": "analytics"
    },
    "atinternet": {
      "naam": "Piano Analytics (voorheen AT Internet)",
      "land": "USA",
      "stad": "Denver",
      "caveat": "Voorheen Frans (AT Internet) — sinds 2021 onderdeel van Piano (USA)"
    },
    "talos": {
      "naam": "Talos Labs",
      "land": "USA",
      "stad": "n.b."
    },
    "optimizely": {
      "naam": "Optimizely",
      "land": "USA",
      "stad": "San Francisco"
    },
    "tealium": {
      "naam": "Tealium",
      "land": "USA",
      "stad": "San Diego"
    },
    "onetrust": {
      "naam": "OneTrust",
      "land": "USA",
      "stad": "Atlanta"
    },
    "qualtrics": {
      "naam": "Qualtrics",
      "land": "USA",
      "stad": "Provo, Utah"
    },
    "meta": {
      "naam": "Meta (Facebook)",
      "land": "USA",
      "stad": "Menlo Park, California"
    },
    "usabilla": {
      "naam": "Usabilla / SurveyMonkey",
      "land": "USA",
      "stad": "San Mateo"
    },
    "cookiebot": {
      "naam": "Cookiebot (Cybot A/S)",
      "land": "Denemarken (EU)",
      "stad": "Kopenhagen"
    },
    "mopinion": {
      "naam": "Mopinion",
      "land": "Nederland",
      "stad": "Utrecht"
    },
    "matomo": {
      "naam": "Matomo (Open Source)",
      "land": "Nieuw-Zeeland (project) / Nederland (self-hosted bij Logius)",
      "stad": "n.v.t.",
      "caveat": "Matomo Open Source-software draait self-hosted bij Logius op statistiek.digid.nl (Nederlandse infrastructuur). De software zelf is BSD-licensed; het probleem zit in de configuratie zonder consent-gating."
    },
    "kcm": {
      "naam": "KCM Group / moveXM",
      "land": "Duitsland (HQ Frankfurt) + Nederland (vestigingen)",
      "stad": "Frankfurt am Main",
      "caveat": "KCM Group is sinds 31 oktober 2024 onderdeel van moveXM Group (Frankfurt), met financiering van Pride Capital Partners. Eerdere overnames: Feeddex, Inceptivize, 5Star-Specialist. Klanten zoals Volkswagen en BMW. Survey/feedback-platform met script-execute-rechten op DigiD-inlogpagina via CSP."
    },
    "dictu": {
      "naam": "DICTU (Dienst ICT Uitvoering)",
      "land": "Nederland",
      "stad": "Den Haag (agentschap Min EZK)",
      "caveat": "Rijksoverheidsdienst onder Min EZK, hosting via Intermax B.V. (NL). Geen Amerikaanse jurisdictie."
    }
  },
  "sectoren": {
    "overheid": {
      "naam": "Overheid (websites)"
    },
    "app": {
      "naam": "Overheidsapps"
    },
    "rijksbreed": {
      "naam": "Rijksbrede contracten"
    }
  },
  "severities": {
    "kritiek": {
      "label": "KRITIEK",
      "kleur": "#a02020",
      "beschrijving": "Direct AVG/CLOUD Act-risico, structurele schending of toegang tot zeer gevoelige data."
    },
    "ernstig": {
      "label": "ERNSTIG",
      "kleur": "#b87b00",
      "beschrijving": "Aanwijsbaar onrechtmatig of structureel onveilig."
    },
    "let_op": {
      "label": "LET OP",
      "kleur": "#4a4a4a",
      "beschrijving": "Patroon dat aandacht verdient, deels terugvalmechanisme of onbedoelde lek."
    }
  },
  "statussen": {
    "bewezen": {
      "label": "BEWEZEN",
      "kleur": "#2d6a3a",
      "beschrijving": "Directe technische evidentie."
    },
    "sterk": {
      "label": "STERKE AANWIJZING",
      "kleur": "#b87b00",
      "beschrijving": "Indirect maar overtuigend bewijs."
    },
    "open": {
      "label": "OPEN",
      "kleur": "#cc3300",
      "beschrijving": "Vraag voor vervolgonderzoek."
    }
  },
  "findings": [
    {
      "id": "NL-021",
      "naam": "207 van 339 Nederlandse gemeentes lekken naar Google",
      "organisatie": "Nederlandse gemeentes",
      "sector": "overheid",
      "vendors": [
        "google"
      ],
      "severity": "kritiek",
      "status": "sterk",
      "datum": "2024-01-01",
      "samenvatting": "Onderzoek Nixon Digital: 207 van de 339 Nederlandse gemeente-sites bevatten Google-trackers.",
      "details": "Externe bron, niet eigen scan.",
      "wat_lekt": "Burgergebruik van gemeentesite",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": "Nixon Digital onderzoek naar 339 Nederlandse gemeentes (2025)",
      "bewijs_pending": false
    },
    {
      "id": "NL-015",
      "naam": "Belastingdienst + Douane + Toeslagen × Microsoft 365",
      "organisatie": "Ministerie van Financiën",
      "sector": "rijksbreed",
      "vendors": [
        "microsoft"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2025-10-02",
      "samenvatting": "46.000 medewerkers van Belastingdienst, Douane en Toeslagen werken voortaan in Microsoft 365 — e-mail, documenten, Teams-chats.",
      "details": "Kamerbrief Heijnen 2 oktober 2025. Heijnen 12 februari 2026: 'Ik ben niet naïef over de mogelijkheid dat de informatie waarover de Belastingdienst beschikt interessant kan zijn voor de Amerikaanse overheid.' Bert Hubert: 'papieren zekerheid' wegens CLOUD Act.",
      "wat_lekt": "E-mail, documenten, Teams-chats, agenda's van fiscale en uitvoeringsdiensten",
      "wetsartikel": "AVG art. 5, AVG art. 28, AVG art. 44+, US CLOUD Act, FISA 702, EO 12333",
      "rapport": "https://www.rijksoverheid.nl",
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-014",
      "naam": "BTW-inning × Fast Enterprises USA",
      "organisatie": "Belastingdienst",
      "sector": "rijksbreed",
      "vendors": [
        "fastenterprises"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-04-01",
      "samenvatting": "Iedere ondernemer die BTW betaalt, doet dat straks via software van het Amerikaanse Fast Enterprises (Centennial, Colorado).",
      "details": "Staatssecretaris Eerenberg (D66): contract opzeggen 'juridisch en financieel onmogelijk'. Bert Hubert en Marcel van Kooten waarschuwden voor controle die uit handen gegeven wordt.",
      "wat_lekt": "BTW-aangiftedata, ondernemers-info",
      "wetsartikel": "AVG art. 5, AVG art. 28, AVG art. 44+, US CLOUD Act",
      "rapport": "https://www.taxlive.nl",
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-005",
      "naam": "amsterdam.nl",
      "organisatie": "amsterdam.nl",
      "sector": "overheid",
      "vendors": [
        "piwik",
        "usabilla"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie amsterdam.nl bezoekt: 7 tracking-cookies vóór consent (Piwik); 1 externe trackers (Usabilla).",
      "details": "Vóór consent: 7 tracking-cookies, 1 externe trackers. Na \"weigeren\": 7 cookies, 7 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak dap.amsterdam.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#amsterdam.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-001",
      "naam": "Belastingdienst.nl × Adobe USA",
      "organisatie": "Belastingdienst",
      "sector": "overheid",
      "vendors": [
        "adobe"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie deze site bezoekt, stuurt zoekgedrag, foutmeldingen en chatbot-input naar Adobe in de Verenigde Staten — gecamoufleerd als first-party.",
      "details": "CNAME-cloak: adobe-analytics-dc.belastingdienst.nl → wdbvhtupcp.data.adobedc.net. Adobe organisatie-ID 6B4320E8637BE4D40A495FD6@AdobeOrg. 38-cijferige ECID met 2 jaar bewaartermijn. 20-60 datapunten per page-view.",
      "wat_lekt": "Vrije tekst (zoekqueries, chatbot-input, feedback-velden), persistente identifier",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5(1)(a), AVG art. 13",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-002",
      "naam": "Herstel.toeslagen.nl × Adobe USA",
      "organisatie": "Belastingdienst (UHT — Hersteloperatie Toeslagen)",
      "sector": "overheid",
      "vendors": [
        "adobe"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie de hersteloperatie-site voor toeslagouders bezoekt, stuurt paginatitel ('Website voor gedupeerde ouders') en zoekgedrag rechtstreeks naar Adobe USA.",
      "details": "Aparte Adobe Launch-container (2faa729a6cea, naam toeslagen-herstel-kot-nl). Report suite belastingdienstwordpressproduction. Pagina-titel 'Website voor gedupeerde ouders | Herstel Toeslagen (UHT)' gaat letterlijk naar Adobe.",
      "wat_lekt": "Paginatitel met 'gedupeerde ouders', zoekgedrag, feedback, foutmeldingen, chat-onderwerpen",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5, AVG art. 9 (bijzondere persoonsgegevens)",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-003",
      "naam": "Hersteloperatie webchat × Genesys USA",
      "organisatie": "Belastingdienst (UHT)",
      "sector": "overheid",
      "vendors": [
        "genesys"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie de live-chat voor toeslagouders gebruikt, stuurt verplicht voor- en achternaam plus alle berichten naar Genesys Cloud CX in de Verenigde Staten.",
      "details": "CNAME le-webservices.belastingdienst.nl → Genesys (LE = Live Engagement). Voornaam + achternaam (verplicht!) + alle berichten gaan naar Genesys USA.",
      "wat_lekt": "Voor- en achternaam, volledige chat-content over toeslagaffaire",
      "wetsartikel": "AVG art. 5, AVG art. 9, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-003",
      "naam": "belastingdienst.nl",
      "organisatie": "belastingdienst.nl",
      "sector": "overheid",
      "vendors": [
        "adobe",
        "abtasty"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie belastingdienst.nl bezoekt: 6 tracking-cookies vóór consent (Adobe, AB Tasty); 3 externe trackers (AB Tasty).",
      "details": "Vóór consent: 6 tracking-cookies, 3 externe trackers. Na \"weigeren\": 6 cookies, 4 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak adobe-analytics-dc.belastingdienst.nl → Adobe.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-006",
      "naam": "cbs.nl",
      "organisatie": "cbs.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie cbs.nl bezoekt: 5 tracking-cookies vóór consent (Piwik); 2 externe trackers (Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 2 externe trackers. Na \"weigeren\": 5 cookies, 8 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak cbs.piwik.pro → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#cbs.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-008",
      "naam": "defensie.nl",
      "organisatie": "defensie.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie defensie.nl bezoekt: 5 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 0 externe trackers. Na \"weigeren\": 5 cookies, 1 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak statistiek.rijksoverheid.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#defensie.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-009",
      "naam": "duo.nl",
      "organisatie": "duo.nl",
      "sector": "overheid",
      "vendors": [
        "piwik",
        "google"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie duo.nl bezoekt: 2 tracking-cookies vóór consent (Piwik); 1 externe trackers (Google).",
      "details": "Vóór consent: 2 tracking-cookies, 1 externe trackers. Na \"weigeren\": 2 cookies, 2 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#duo.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-001",
      "naam": "ggd.nl",
      "organisatie": "ggd.nl",
      "sector": "overheid",
      "vendors": [
        "piwik",
        "google"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie ggd.nl bezoekt: 5 tracking-cookies vóór consent (Piwik); 4 externe trackers (Google, Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 4 externe trackers. Na \"weigeren\": 5 cookies, 11 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak ggdghornl.containers.piwik.pro → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5, AVG art. 7(3)",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#ggd.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-010",
      "naam": "mijnoverheid.nl",
      "organisatie": "mijnoverheid.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie mijnoverheid.nl bezoekt: 2 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 2 tracking-cookies, 0 externe trackers. Na \"weigeren\": 2 cookies, 3 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#mijnoverheid.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-011",
      "naam": "om.nl",
      "organisatie": "om.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie om.nl bezoekt: 5 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 0 externe trackers. Na \"weigeren\": 5 cookies, 1 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak statistiek.rijksoverheid.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#om.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-007",
      "naam": "overheid.nl",
      "organisatie": "overheid.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie overheid.nl bezoekt: 7 tracking-cookies vóór consent (Piwik); 1 externe trackers (Piwik).",
      "details": "Vóór consent: 7 tracking-cookies, 1 externe trackers. Na \"weigeren\": 7 cookies, 1 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak koop.piwik.pro → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#overheid.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-017",
      "naam": "politie.nl",
      "organisatie": "politie.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie politie.nl bezoekt: 2 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 2 tracking-cookies, 0 externe trackers. Na \"weigeren\": 2 cookies, 3 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#politie.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-012",
      "naam": "rdw.nl",
      "organisatie": "rdw.nl",
      "sector": "overheid",
      "vendors": [
        "google"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie rdw.nl bezoekt: 2 tracking-cookies vóór consent (Google); 2 externe trackers (Google).",
      "details": "Vóór consent: 2 tracking-cookies, 2 externe trackers. Na \"weigeren\": 2 cookies, 2 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#rdw.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-013",
      "naam": "rijksoverheid.nl",
      "organisatie": "rijksoverheid.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie rijksoverheid.nl bezoekt: 5 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 0 externe trackers. Na \"weigeren\": 5 cookies, 0 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak statistiek.rijksoverheid.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#rijksoverheid.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-014",
      "naam": "rivm.nl",
      "organisatie": "rivm.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie rivm.nl bezoekt: 5 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 5 tracking-cookies, 0 externe trackers. Na \"weigeren\": 5 cookies, 4 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak statistiek.rijksoverheid.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#rivm.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-015",
      "naam": "rvo.nl",
      "organisatie": "rvo.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie rvo.nl bezoekt: 7 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 7 tracking-cookies, 0 externe trackers. Na \"weigeren\": 7 cookies, 1 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak statistiek.rvo.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#rvo.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-004",
      "naam": "svb.nl",
      "organisatie": "svb.nl",
      "sector": "overheid",
      "vendors": [
        "piwik",
        "abtasty"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie svb.nl bezoekt: 3 tracking-cookies vóór consent (Piwik, AB Tasty); 5 externe trackers (AB Tasty, Piwik).",
      "details": "Vóór consent: 3 tracking-cookies, 5 externe trackers. Na \"weigeren\": 3 cookies, 11 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak svb.piwik.pro → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#svb.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-018",
      "naam": "thuisarts.nl",
      "organisatie": "thuisarts.nl",
      "sector": "overheid",
      "vendors": [
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie thuisarts.nl bezoekt: 2 tracking-cookies vóór consent (Piwik).",
      "details": "Vóór consent: 2 tracking-cookies, 0 externe trackers. Na \"weigeren\": 2 cookies, 1 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#thuisarts.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-019",
      "naam": "Op alle gemeten overheidssites werkt de 'weigeren'-knop niet",
      "organisatie": "Top-overheidssites NL",
      "sector": "overheid",
      "vendors": [],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Op elke overheidssite met een werkende 'weigeren'-knop blijven cookies en/of trackers actief na de klik. AVG art. 7(3) verplicht dat intrekken net zo makkelijk moet zijn als toestemming geven.",
      "details": "Op het bredere 100-sites-onderzoek: 0 van de 44 sites met werkende refuse-knop is effectief. Voor de overheid in het bijzonder geldt dat de meeste sites helemaal geen refuse-knop tonen.",
      "wat_lekt": "Tracking blijft doorlopen ondanks weigeren",
      "wetsartikel": "Tw art. 11.7a, AVG art. 7(3)",
      "rapport": null,
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "BeforeYouMick scan v3.3.2 (4-5 mei 2026) — rijksbreed patroon over alle gemeten sites",
      "bewijs_pending": false
    },
    {
      "id": "NL-020",
      "naam": "Google Tag Manager geladen vóór consent op overheidssites",
      "organisatie": "Top-overheidssites NL",
      "sector": "overheid",
      "vendors": [
        "google"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Google Tag Manager wordt vóór consent geladen — inclusief op overheidssites die in hun cookieverklaring beweren géén Google te gebruiken.",
      "details": "Op het bredere 100-sites-onderzoek: GTM op 90 van 100 sites vóór consent. _ga gezet vóór consent op 73 sites. Per overheidssite te zien in WEB-* bevindingen hieronder.",
      "wat_lekt": "Bezoeker-IP, request-headers, referrer — voor toestemming",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5(1)(a), AVG art. 13",
      "rapport": null,
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "BeforeYouMick scan v3.3.2 (4-5 mei 2026) — rijksbreed patroon over alle gemeten sites",
      "bewijs_pending": false
    },
    {
      "id": "WEB-002",
      "naam": "uwv.nl",
      "organisatie": "uwv.nl",
      "sector": "overheid",
      "vendors": [
        "usabilla",
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie uwv.nl bezoekt: 3 tracking-cookies vóór consent; 2 externe trackers (Usabilla).",
      "details": "Vóór consent: 3 tracking-cookies, 2 externe trackers. Na \"weigeren\": 3 cookies, 4 trackers blijven actief — refuse-knop niet effectief. CNAME-cloak tag2.uwv.nl → Piwik.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5, AVG art. 7(3)",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#uwv.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-011",
      "naam": "Mijn Belastingdienst-app × Microsoft App Center USA",
      "organisatie": "Belastingdienst",
      "sector": "app",
      "vendors": [
        "microsoft"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Wie de Mijn Belastingdienst-app gebruikt, stuurt telemetrie naar Microsoft App Center in de VS via een ingebakken secret.",
      "details": "Secret in productie-APK: a9b8c4b5-b4a9-4800-8268-e8ec3b93d9ac. Microsoft Xamarin-stack.",
      "wat_lekt": "App-telemetrie naar Microsoft USA",
      "wetsartikel": "AVG art. 5, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-009",
      "naam": "Mijn Toeslagen-app × Microsoft Azure USA",
      "organisatie": "Belastingdienst (Toeslagen)",
      "sector": "app",
      "vendors": [
        "microsoft"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Wie de Mijn Toeslagen-app opent, communiceert met een Microsoft Azure-server in de VS — terwijl Heijnen aan de Kamer schreef dat primaire processen in Apeldoorn blijven.",
      "details": "Live JSON-API mdl-api.azurewebsites.net/MTB/. Server-headers wijzen op Microsoft-IIS / Azure App Service. Strijdig met Heijnen-Kamerbrief 2 oktober 2025.",
      "wat_lekt": "Toeslagen-data, app-telemetrie, gebruikssignalen",
      "wetsartikel": "AVG art. 5, AVG art. 28, AVG art. 35 (DPIA), AVG art. 44+ (doorgifte)",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-010",
      "naam": "Berichtenbox-app × Microsoft App Center USA",
      "organisatie": "Logius / MijnOverheid",
      "sector": "app",
      "vendors": [
        "microsoft"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Wie de Berichtenbox-app gebruikt om overheidspost te lezen (10+ miljoen Nederlanders), stuurt telemetrie naar Microsoft App Center in de VS — een product dat door Microsoft zelf is afgeschreven.",
      "details": "Secrets ingebed in APK: 628949cb-8cea-4a1a-8974-b0e8c5d6aaff + 258EAFA5-E914-47DA-95CA-C5AB0DC85B11. Microsoft Xamarin, OneCollector telemetry, OkHttp 3.8.1 (juni 2017, bijna 9 jaar oud), SHA-1 cert-pinning. App Center is gedeprecieerd sinds 31 maart 2025.",
      "wat_lekt": "App-telemetrie, gebruikspatronen",
      "wetsartikel": "AVG art. 5, AVG art. 32, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#mijnoverheid.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-013",
      "naam": "DigiD platform × Solvinity → Kyndryl USA",
      "organisatie": "Logius",
      "sector": "rijksbreed",
      "vendors": [
        "kyndryl"
      ],
      "severity": "kritiek",
      "status": "sterk",
      "datum": "2026-05-06",
      "deadline": "2026-05-06",
      "samenvatting": "Vanaf 7 mei 2026 valt het platform waarop DigiD draait potentieel onder Amerikaans recht door de Kyndryl-overname van Solvinity.",
      "details": "Logius-CPO Pieter van Oordt (klokkenluider): de Amerikaanse overheid kan na overname bij persoonlijke gegevens van vrijwel alle Nederlanders. ACM heeft overname al goedgekeurd. 6 mei 2026 is laatste dag waarop Logius de optie tot verlenging niet hoeft te lichten. Logius gaat tóch verlengen. Zie WEB-016 voor de huidige technische tracking-bevindingen op digid.nl.",
      "wat_lekt": "Authenticatie-data van vrijwel alle Nederlanders met DigiD",
      "wetsartikel": "AVG art. 5, AVG art. 32, AVG art. 44+, US CLOUD Act",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": "DigiD-overdracht naar Kyndryl: NOS-onderzoek + Computable, 2024-2026",
      "bewijs_pending": false
    },
    {
      "id": "DIGID-001",
      "naam": "DigiD-platform × Matomo zonder consent-gating",
      "organisatie": "Logius",
      "sector": "overheid",
      "vendors": [
        "matomo",
        "piwik"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-07",
      "samenvatting": "Logius gebruikt op DigiD twee aparte Matomo/Piwik-installaties — moderne Matomo (idsite=28) op de homepage, legacy Piwik 3.x (idsite=17) op de inlog-keuzepagina. Beide registreren bezoekers vóór toestemming, zonder cookiebanner, met een 392 dagen geldige visitor-ID. De Matomo-bibliotheek bevat consent-functies (requireConsent, requireCookieConsent, setDoNotTrack) — Logius roept ze geen van drieën aan.",
      "details": "Statische bundle-analyse + runtime-trace 7 mei 2026. Op homepage (www.digid.nl) idsite=28 met page-title 'Home | DigiD', UA Client Hints (fullVersionList, platformVersion, formFactors, mobile, model), schermresolutie en performance-timings tot op de ms. Op /inloggen idsite=17 met page-title 'DigiD: Inloggen | Keuze' — aparte tracking-funnel voor authenticatie-flow met eigen visitor-ID. Beide stacks zetten _pk_id en _pk_ses cookies bij eerste page-load, zonder banner. idsite wordt server-side via DOM-elementen #analytics_site_id en #analytics_host doorgegeven — configuratie zit in server-rendered HTML, geen client-side default. Drie consent-aanroepen aanwezig in de Matomo-bibliotheek maar niet aangeroepen: requireConsent, requireCookieConsent, setDoNotTrack — bevestigd via grep over alle 18 Next.js-chunks van www.digid.nl en runtime-trace van /inloggen.",
      "wat_lekt": "Bezoek aan inlog-keuzepagina gekoppeld aan 392-dagen pseudonieme visitor-ID, schermresolutie, browser-versie via Client Hints, page-title met expliciete inlog-context",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5(1)(a), AVG art. 13, AVG art. 7(3)",
      "rapport": "hackedemia.nl/digid-tracking",
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "Statische bundle-analyse (18 Next.js-chunks) + runtime-trace BeforeYouMick v3.3.2, 7 mei 2026",
      "bewijs_pending": false
    },
    {
      "id": "DIGID-002",
      "naam": "DigiD-inlogpagina × KCM (moveXM Group, Frankfurt) — script-execute via CSP",
      "organisatie": "Logius",
      "sector": "overheid",
      "vendors": [
        "kcm"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-07",
      "samenvatting": "Logius staat in de Content-Security-Policy van DigiD een externe survey-vendor (*.kcmg.nl) toe om JavaScript te executen, XHR-requests te doen, en stylesheets/fonts te laden. KCM (sinds 31 oktober 2024 onderdeel van moveXM Group, Frankfurt, met financiering van Pride Capital Partners) is daarmee een third-party-script-execute op de DigiD-authenticatiepagina — een supply-chain-risico op een primaire identiteits-poort.",
      "details": "CSP-header op www.digid.nl: script-src 'self' nonce-... unsafe-eval unsafe-hashes sha256-... https://statistiek.digid.nl *.kcmg.nl; connect-src 'self' sentry.dtnr.nl https://statistiek.digid.nl *.kcmg.nl; style-src/font-src 'self' *.kcmg.nl. KCM-survey-loader gevonden in chunks 8 en 10 van de Next.js-bundle, met endpoint /api/popular-menu als trigger-mechanisme. Loader laadt op trigger viewer.kcmg.nl/.../kcm-survey.js. Bij eerste page-load van /inloggen geen call naar kcmg.nl gedetecteerd in runtime-trace — capability is voorbereid, runtime-trigger nog niet bevestigd voor specifieke gebruikersacties. KCM Group: 100 medewerkers, hoofdkantoor moveXM Frankfurt sinds overname 31-10-2024, eerdere overnames Feeddex/Inceptivize/5Star-Specialist, klanten Volkswagen en BMW. Vendor wordt niet vermeld in DigiD privacyverklaring.",
      "wat_lekt": "Mogelijk: feedback/survey-data op trigger; principieel: externe partij heeft script-execute-rechten op een Nederlandse identiteits-poort, supply-chain attack op KCM heeft directe DigiD-impact",
      "wetsartikel": "AVG art. 5, AVG art. 13(1)(e) categorieën ontvangers, AVG art. 28 verwerkersovereenkomst, AVG art. 32 passende beveiligingsmaatregelen",
      "rapport": "hackedemia.nl/digid-tracking",
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "CSP-header parsing www.digid.nl + bundle-grep chunks 8/10, 7 mei 2026",
      "bewijs_pending": false
    },
    {
      "id": "DIGID-003",
      "naam": "DigiD × Sentry-error-tracking naar DICTU (Min EZK)",
      "organisatie": "Logius",
      "sector": "overheid",
      "vendors": [
        "dictu"
      ],
      "severity": "let_op",
      "status": "bewezen",
      "datum": "2026-05-07",
      "samenvatting": "Error-tracking via @sentry/nextjs v10.43.0 op www.digid.nl stuurt envelopes naar sentry.dtnr.nl/api/27/envelope/. Het ontvangende domein dtnr.nl is van DICTU (Dienst ICT Uitvoering, agentschap Min EZK), gehost bij Intermax B.V. (Nederland). Data verlaat daarmee Logius (Min BZK) richting een ander bestuursorgaan, zonder dat de DigiD-privacyverklaring DICTU als ontvanger noemt. Bovendien faalt de Sentry-implementatie zelf door een CORS-misconfiguratie op de server (Access-Control-Allow-Origin: *, * — dubbele wildcard).",
      "details": "Runtime-trace 7 mei 2026: 7 envelopes onderschept op www.digid.nl + privacyverklaring-pagina (samen 2 page-loads), POST naar https://sentry.dtnr.nl/api/27/envelope/. Verdeling: 6× session (Release Health), 1× client_report. Geen Replay-config (replaysSessionSampleRate/replaysOnErrorSampleRate niet gevonden in bundle), geen DOM-snapshots, geen user-input-capture. Per envelope ~462 bytes met sid (UUID), release (git commit hash), environment 'production', user_agent, timestamps. IP wordt door Sentry-server toegevoegd op TCP-niveau, niet in body. Bij errors (niet gevangen in trace) komen breadcrumbs mee met URL-paden, click-targets en stack-traces. CORS-bug blokkeert client-zijdige bevestiging, server ontvangt requests wel — client_report bevestigt 3 sessions sneuvelden door 'network_error'. dtnr.nl: NS ns1.dictu.nl/ns2.dictu.nl, sentry.dtnr.nl → 93.92.103.77 (HostingDictu, AS24586 Intermax B.V.). Privacyverklaring noemt Sentry/DICTU/Intermax niet.",
      "wat_lekt": "In huidige config minimaal: release-hash + UA per session-ping. Bij errors: stack-traces, breadcrumbs (URL-paden, click-targets), eventueel partial PII via error-messages",
      "wetsartikel": "AVG art. 13(1)(e) categorieën ontvangers, AVG art. 28 verwerkersovereenkomst (Logius–DICTU), AVG art. 32 passende beveiligingsmaatregelen",
      "rapport": "hackedemia.nl/digid-tracking",
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "Runtime-trace 7 mei 2026, 7 Sentry-envelopes onderschept op /api/27/envelope/",
      "bewijs_pending": false
    },
    {
      "id": "DIGID-004",
      "naam": "DigiD privacyverklaring vermeldt geen vendors en omschrijft tracking onjuist",
      "organisatie": "Logius",
      "sector": "overheid",
      "vendors": [],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-07",
      "samenvatting": "De privacyverklaring van DigiD bevat twee feitelijke onjuistheden en één structureel transparantiegat. (1) Het visitor-ID wordt 'anoniem' genoemd terwijl het pseudoniem is volgens Breyer (C-582/14). (2) De zin 'geen persoonsgegevens aan derden zonder voorafgaande ondubbelzinnige toestemming' is in tegenspraak met daadwerkelijke pre-consent-tracking via Matomo. (3) Geen enkele leverancier wordt bij naam genoemd — niet Matomo, niet DICTU/Sentry, niet KCM/moveXM, niet Cloudflare. AVG art. 13(1)(e) (categorieën ontvangers) en art. 13(2)(a) (bewaartermijn) zijn niet ingevuld; bezoekers kunnen hun rechten niet effectief uitoefenen.",
      "details": "Privacyverklaring https://www.digid.nl/over-digid/privacy gegrep'd op merknamen: nul hits in zichtbare tekst voor Matomo, Piwik, Sentry, DICTU, Intermax, KCM, Cloudflare. Bewaartermijn 392 dagen niet vermeld. Schermresolutie + browser-versie via Client Hints + page-title niet vermeld als verzamelde categorieën. De claim 'een deel van het IP-adres geregistreerd' is niet client-zichtbaar verifieerbaar — wel of niet truncatie gebeurt server-side bij Matomo is geen contradictie maar wel een transparantiegat. De inlog-pagina /inloggen linkt niet naar deze privacyverklaring (geen DOM-link gevonden via runtime-scan), wat AVG art. 13(2) raakt: informatieplicht geldt op het moment van verzameling.",
      "wat_lekt": "Niet zozeer data-uitstroom, maar transparantieverlies: betrokkenen kunnen rechten niet effectief uitoefenen omdat ontvangers, bewaartermijnen en grondslagen onvermeld blijven",
      "wetsartikel": "AVG art. 5(1)(a), art. 13(1)(e), art. 13(2)(a), art. 14",
      "rapport": "hackedemia.nl/digid-tracking",
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "Tekst-analyse https://www.digid.nl/over-digid/privacy + DOM-link-check op /inloggen, 7 mei 2026",
      "bewijs_pending": false
    },
    {
      "id": "NL-016",
      "naam": "EAP2023 — rijksbrede software-aanbesteding",
      "organisatie": "9 ministeries + Belastingdienst + Politie + AP + ICTU",
      "sector": "rijksbreed",
      "vendors": [
        "microsoft",
        "adobe",
        "google"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2023-12-01",
      "samenvatting": "€300 miljoen per jaar aan rijksbrede software-licenties — vooral Microsoft, voor 9 ministeries plus Belastingdienst, Politie en de Autoriteit Persoonsgegevens zelf.",
      "details": "Software-aanbesteding voor 9 ministeries plus Belastingdienst, ICTU, Politie, Autoriteit Persoonsgegevens en meer.",
      "wat_lekt": "Bestuurlijke en uitvoerende werkstromen rijksbreed",
      "wetsartikel": "AVG art. 5, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": "EAP2023 — rijksbrede software-aanbesteding (consultancy.nl, 2023)",
      "bewijs_pending": false
    },
    {
      "id": "NL-017",
      "naam": "EAP2025 — Justitie + Defensie geblokkeerd door rechter",
      "organisatie": "Ministerie van Justitie + Ministerie van Defensie",
      "sector": "rijksbreed",
      "vendors": [
        "adobe",
        "microsoft"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-03-01",
      "samenvatting": "€3,3 miljard over 4 jaar voor software bij Justitie en Defensie — door de rechter geblokkeerd in maart 2026 wegens disproportionaliteit.",
      "details": "Adobe, Oracle en VMware weigerden mee te werken aan het sublicentie-model. Voor 80-85% van de software stond al vast wie zou leveren — geen echte concurrentie.",
      "wat_lekt": "Vendor-lock-in als structureel risico",
      "wetsartikel": "Aanbestedingswet, Mededingingswet",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": null,
      "bron_tekst": "Rechtbank Den Haag, ECLI:NL:RBDHA:2025:11349 (2025)",
      "bewijs_pending": false
    },
    {
      "id": "NL-004",
      "naam": "Hersteloperatie post-chat survey × Verint USA/Israel",
      "organisatie": "Belastingdienst (UHT)",
      "sector": "overheid",
      "vendors": [
        "verint"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Na een chat-gesprek met de hersteloperatie krijgt de toeslagouder een tevredenheidsonderzoek dat naar Verint EFM in de VS/Israël gaat.",
      "details": "CNAME efm.belastingdienst.nl → Verint. Survey-antwoorden worden ook gepushed naar Adobe DataLayer.",
      "wat_lekt": "Open-tekstantwoorden over Belastingdienst-ervaring",
      "wetsartikel": "AVG art. 5, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "WEB-019",
      "naam": "kvk.nl",
      "organisatie": "kvk.nl",
      "sector": "overheid",
      "vendors": [
        "google"
      ],
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Wie kvk.nl bezoekt: 4 tracking-cookies vóór consent (Google); 3 externe trackers (Google).",
      "details": "Vóór consent: 4 tracking-cookies, 3 externe trackers. Na \"weigeren\": 4 cookies, 13 trackers blijven actief — refuse-knop niet effectief.",
      "wat_lekt": "tracking-cookies, externe trackers, mogelijk fingerprint",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#kvk.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-018",
      "naam": "Defensie + OM + RIVM × gedeelde Piwik PRO-tenant",
      "organisatie": "Rijksoverheid (AZ-tenant)",
      "sector": "overheid",
      "vendors": [
        "piwik",
        "google"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-02",
      "samenvatting": "Defensie, het Openbaar Ministerie en het RIVM verzamelen bezoekers-statistieken in dezelfde Piwik PRO-tenant als Rijksoverheid.nl. Cross-departementale koppeling architectonisch mogelijk — en de tenant draait mogelijk op Amerikaanse cloud-infrastructuur.",
      "details": "CNAME-cloak via statistiek.rijksoverheid.nl (Ministerie van Algemene Zaken). Piwik PRO is een Pools bedrijf — maar Piwik PRO Cloud draait op AWS of Google Cloud (Amerikaanse hyperscalers). Zelfs als de tenant 'EU' is geconfigureerd, valt de onderliggende infrastructuur onder de CLOUD Act. De exacte hosting-keuze van de Rijksoverheid-tenant is niet publiek bekend.",
      "wat_lekt": "Bezoekgedrag op Defensie/OM/RIVM-sites in dezelfde tenant",
      "wetsartikel": "AVG art. 5(1)(b) doelbinding, AVG art. 32 organisatorische maatregelen",
      "rapport": null,
      "tag_eerste": true,
      "bewijs_scan": null,
      "bron_tekst": "BeforeYouMick scan v3.3.2 (4-5 mei 2026) — Defensie/OM/RIVM gedeelde Piwik PRO-tenant",
      "bewijs_pending": false
    },
    {
      "id": "NL-006",
      "naam": "Zoekbalk Belastingdienst × Mindbreeze (Chicago + Linz)",
      "organisatie": "Belastingdienst",
      "sector": "overheid",
      "vendors": [
        "mindbreeze"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Iedere toetsaanslag in de zoekbalk van de Belastingdienst-site gaat real-time naar Mindbreeze in Chicago.",
      "details": "vinden.belastingdienst.nl. Identificatie via mes:relevance + mes:date namespace + datasource Web:bd_all_prod. Mindbreeze HQ Chicago Illinois USA + EU-vestiging Linz Austria.",
      "wat_lekt": "Iedere zoekquery in real-time (per toetsaanslag)",
      "wetsartikel": "AVG art. 5, AVG art. 13",
      "rapport": null,
      "tag_eerste": true,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-007",
      "naam": "Belastingdienst.nl × AB Tasty (Google Cloud USA)",
      "organisatie": "Belastingdienst",
      "sector": "overheid",
      "vendors": [
        "abtasty",
        "google"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Welke A/B-test-variant je ziet op de Belastingdienst-site, wordt bepaald via AB Tasty op Google Cloud (USA).",
      "details": "Bidirectionele integratie naar adobeDataLayer.push met 'id;name;status;type;variation.id;variation.name'.",
      "wat_lekt": "Welke A/B-variant elke bezoeker ziet, gekoppeld aan Adobe-profiel",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5, AVG art. 28",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-008",
      "naam": "Belastingdienst-stack × Google fingerprinting (jnn-pa.googleapis.com)",
      "organisatie": "Belastingdienst",
      "sector": "overheid",
      "vendors": [
        "google"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Google's fingerprinting-API (jnn-pa.googleapis.com) wordt geladen, ook al stuur je 'Sec-GPC: 1' (Global Privacy Control) mee. Bevestigd op zowel belastingdienst.nl als toeslagen.nl per HAR-bewijs 5 mei 2026 — Google's fingerprint-API laadt zonder consent op beide domeinen.",
      "details": "41 calls naar jnn-pa.googleapis.com met ~2KB protobuf payloads (browser fingerprint). Sec-GPC: 1 wordt door Google genegeerd.",
      "wat_lekt": "Browser-fingerprint, device-identifiers",
      "wetsartikel": "Tw art. 11.7a, AVG art. 5",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false,
      "domein": "belastingdienst.nl + toeslagen.nl",
      "har_proof": "1× jnn-pa.googleapis.com op toeslagen.nl, 41× op belastingdienst.nl (eerder gemeten)"
    },
    {
      "id": "NL-012",
      "naam": "Aangifte-app × Genesys Mobile Services (USA, gedeprecieerd)",
      "organisatie": "Belastingdienst",
      "sector": "app",
      "vendors": [
        "genesys"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Wie via de aangifte-app contact opneemt, gebruikt een door Genesys zelf afgeschreven Amerikaans contactcenter-systeem.",
      "details": "Genesys Mobile Services in MAA2019. Door Genesys zelf End-of-Life verklaard.",
      "wat_lekt": "Contact-flow data, aangifte-context",
      "wetsartikel": "AVG art. 5, AVG art. 32",
      "rapport": null,
      "tag_eerste": false,
      "bewijs_scan": "/ranking/#belastingdienst.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-005",
      "naam": "Toeslagen-authenticatie × Ping Identity (Denver)",
      "organisatie": "Belastingdienst (Toeslagen)",
      "sector": "overheid",
      "vendors": [
        "ping"
      ],
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-03",
      "samenvatting": "Wie inlogt op Toeslagen, gaat via een identity-broker (PingFederate) in Denver, Colorado.",
      "details": "CNAME-cloak fibt1.toeslagen.nl → Ping Identity. Identity-broker tussen Toeslagen-systemen.",
      "wat_lekt": "Authenticatie-tokens, identity-routing",
      "wetsartikel": "AVG art. 5, AVG art. 28",
      "rapport": null,
      "tag_eerste": true,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": null,
      "bewijs_pending": false
    },
    {
      "id": "NL-022",
      "naam": "Sociale Verzekeringsbank × AB Tasty",
      "organisatie": "Sociale Verzekeringsbank (SVB) — ZBO onder Ministerie SZW",
      "domein": "svb.nl",
      "sector": "overheid",
      "vendors": [
        "abtasty"
      ],
      "vendor_locatie": "Parijs, Frankrijk (verwerker)",
      "vendor_type": "A/B-testing platform (commercieel)",
      "samenvatting": "Op svb.nl — het portaal voor AOW, kinderbijslag, AKW, AIO en andere uitkeringen — wordt een A/B-testing platform van het Franse bedrijf AB Tasty geladen. Welke versie van een uitkeringspagina een bezoeker te zien krijgt, wordt bepaald door experimenten van een commerciële derde partij. Bezoekgedrag, allocatie-decisions en interacties worden persistent opgeslagen aan AB Tasty's kant. SVB raakt vrijwel iedere Nederlandse burger op enig moment in zijn leven; commerciële A/B-tracking op zo'n basisvoorziening is moeilijk te rechtvaardigen onder rechtsgrondslag-eisen.",
      "wat_lekt": "Sessie-identifiers · A/B-test variant-toewijzing · paginabezoeken (welke uitkering vraag je aan, welke FAQ open je) · scroll- en klikgedrag · mogelijke browser-fingerprint",
      "wetsartikel": "Tw art. 11.7a · AVG art. 6 · AVG art. 13 · AVG art. 28",
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-05",
      "rapport": null,
      "bewijs_scan": "/ranking/#svb.nl",
      "bron_tekst": "BeforeYouMick scan v3.3.2, 5 mei 2026",
      "bewijs_pending": false,
      "tag_eerste": true
    },
    {
      "id": "NL-023",
      "naam": "Toeslagen × AB Tasty",
      "organisatie": "Belastingdienst / Toeslagen",
      "domein": "toeslagen.nl",
      "sector": "overheid",
      "vendors": [
        "abtasty"
      ],
      "vendor_locatie": "Parijs, Frankrijk (verwerker)",
      "vendor_type": "A/B-testing platform (commercieel)",
      "samenvatting": "Op toeslagen.nl — waar mensen kinderopvang-, zorg-, huur- en kindgebondenbudget aanvragen — wordt een commercieel A/B-testing platform geladen. Doelgroep is per definitie kwetsbaar: ouders, alleenstaanden, lage inkomens, vaak laaggeletterd. Welke versie van het aanvraagscherm zij krijgen wordt bepaald door experimenten van een Frans commercieel bedrijf. Na de toeslagenaffaire — waarin algoritmische profilering van burgers structureel mis ging — is een dergelijke commerciële A/B-laag bovenop het toeslagensysteem juridisch en politiek extra problematisch.",
      "wat_lekt": "Sessie-identifiers · A/B-test variant-toewijzing · paginabezoeken (welke toeslag wordt gestart, welke informatie wordt geraadpleegd) · interactie-events · mogelijke fingerprint van mensen die toeslagen aanvragen",
      "wetsartikel": "Tw art. 11.7a · AVG art. 6 · AVG art. 9 (gevoelige categorieën van betrokkenen) · AVG art. 13 · AVG art. 28 · AVG art. 35 (DPIA-verplichting bij hoog-risico verwerking)",
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-05",
      "rapport": null,
      "bewijs_scan": "/ranking/#toeslagen.nl",
      "bron_tekst": "BeforeYouMick scan v3.3.2, 5 mei 2026",
      "bewijs_pending": false,
      "tag_eerste": true
    },
    {
      "id": "NL-024",
      "naam": "Platform Rijksoverheid Online × Piwik PRO (188 sites)",
      "organisatie": "Logius / Dienst Publiek en Communicatie (DPC) — eigenaar PRO",
      "domein": "platformrijksoverheidonline.nl + 187 andere",
      "sector": "rijksbreed",
      "vendors": [
        "piwik"
      ],
      "vendor_locatie": "Microsoft Azure West Europe (Amsterdam, NL) — Piwik PRO Cloud-deployment. Verwerker: Piwik PRO Sp. z o.o., Wrocław (KRS 0000615871). Sub-processor: Microsoft (US-parent — CLOUD Act in beeld). [Geverifieerd 7 mei 2026; eerdere framing zie vendor_locatie_original_2026_05_05]",
      "vendor_type": "Web-analytics + tag manager (commercieel SaaS)",
      "samenvatting": "188 van de 190 gescande sites op Platform Rijksoverheid Online (PRO) dragen één identieke tracking-fingerprint. Dezelfde Piwik PRO-tenant (UUID bf9c05f0-c13f-4e22-80c7-e603d39fc616), geleverd via CNAME-camouflage: statistiek.rijksoverheid.nl → rijksoverheid.piwik.pro. _pk_id, _pk_ses en stg_*-cookies worden als first-party gezet onder elk PRO-domein. Schendingen scoren letterlijk identiek (KR1/ER2/LO0) op 183 sites. Eén centrale beslissing, 188 instanties. Onder PRO vallen onder andere AIVD, NCTV, IGJ, ILT, DJI, NVWA, Onderwijsinspectie, KNMI, SCP, P-Direkt, SSC-ICT, Marechaussee, plus alle ministeries en inspecties. HAR-analyse op rijksoverheid.nl (incognito, geen interactie) toont 23 POST-requests naar /ppms.php, eerste op +0ms vóór de pagina-content, zonder enige consent-banner. NB: SVB (eigen Piwik-tenant 8bda5495-...) en de Belastingdienst-stack (belastingdienst.nl + toeslagen.nl + herstel.toeslagen.nl, eigen Adobe + Piwik combo) zijn afzonderlijke casussen, niet meegerekend in de 188. Zie NL-001, NL-002, NL-022, NL-023.",
      "wat_lekt": "Sessie-identifier (_pk_id) · IP-adres · useragent · paginabezoeken op alle PRO-sites — gekoppeld via consistente tenant-UUID over alle subdomeinen. Gevolg: profielopbouw over heel Rijksoverheid mogelijk vanuit één Piwik-instantie.",
      "wetsartikel": "Tw art. 11.7a (geen consent vóór tracking-cookies) · AVG art. 5(1)(a) — transparantie (CNAME-camouflage misleidt over verwerker) · AVG art. 6 (geen rechtsgrondslag) · AVG art. 13 (informatieplicht niet ingevuld) · AVG art. 28 (verwerkersovereenkomst — verifieerbaar?) · AVG art. 35 (DPIA-verplichting bij overheidsbreed scope)",
      "severity": "kritiek",
      "status": "bewezen",
      "datum": "2026-05-05",
      "rapport": null,
      "bewijs_scan": "/ranking/?filter=pro-platform",
      "bron_tekst": "BeforeYouMick scan v3.3.2 op 188 PRO-sites, 5 mei 2026 + HAR-analyse rijksoverheid.nl 5 mei 17:17",
      "bewijs_pending": false,
      "is_systemisch": true,
      "affected_count": 188,
      "tenant_uuid": "bf9c05f0-c13f-4e22-80c7-e603d39fc616",
      "har_proof": "23 POSTs naar statistiek.rijksoverheid.nl/ppms.php in 16s, eerste op +0ms vóór content, 0 consent-banner",
      "tag_eerste": true,
      "update_2026_05_07": {
        "datum": "2026-05-07",
        "samenvatting_kort": "Live-trace 7 mei 2026 op rijksoverheid.nl bevestigt: 5 cookies vóór consent, 64-bit visitor-ID 90 dagen persistent, DNT 100% genegeerd op hoofdtracker. Geografie gecorrigeerd: hosting is Microsoft Azure West Europe (Amsterdam), niet AWS/GCP. Tw 11.7a-analytics-uitzondering cumulatief niet houdbaar.",
        "geografie_correctie": "Hosting: Microsoft Azure West Europe (Amsterdam, NL). Geverifieerd via DNS-resolutie van statistiek.rijksoverheid.nl en rijksoverheid.piwik.pro (beide CNAME-aliasen, identieke A/AAAA-records 57.153.166.203 + 2603:1020:201:e::1d8); IP-prefix-match in officiele Microsoft Azure ServiceTags JSON (change-number 399, dated 2026-05-04) tegen tag AzureCloud.westeurope; WHOIS RIPE inetnum 57.153.0.0/16 mnt-by: MICROSOFT-MAINT; ARIN OrgName: Microsoft Corporation. Verwerker: Piwik PRO Sp. z o.o., Wrocław (KRS 0000615871). Sub-processor: Microsoft (US-parent → CLOUD Act in beeld onafhankelijk van waar de bytes liggen).",
        "hardcoded_container_config": [
          "consent_enabled: false (consent-gating uit)",
          "user_mode_enabled: false (geen consent-formulier getoond)",
          "respectVisitorsPrivacy: false op de hoofdtracker-tag",
          "_paq.push(['setIpTracking', true]) hardcoded in tag-bootstrap",
          "privacy-templates.json + privacy-widgets.json: HTTP 404 — form-tekst nooit geuploadet",
          "Consent Manager-code (60 CM-symbolen) wel in container-bundle, functioneel uitgeschakeld"
        ],
        "live_trace_meting": {
          "datum": "2026-05-07",
          "doel_url": "https://www.rijksoverheid.nl/",
          "container_id": "bf9c05f0-c13f-4e22-80c7-e603d39fc616",
          "methodologie": "Playwright + Firefox 148 (headless), nl-NL locale, default profile, twee scenarios per target (clean + DNT)",
          "cookies_eerste_bezoek": [
            "_pk_id.bf9c05f0-….e7da — 90 dagen, 64-bit visitor-ID, Secure: false",
            "_pk_ses.bf9c05f0-….e7da — 30 min, sessie, Secure: false",
            "stg_traffic_source_priority — 30 min, Secure: false",
            "stg_last_interaction — 365 dagen (datestring), Secure: false",
            "stg_returning_visitor — 365 dagen (datestring), Secure: false"
          ],
          "tracker_payload_per_pageview": "POST naar /ppms.php met: 64-bit visitor-ID, first-seen timestamp, visit-count, per-pagina UUID (dimension11), 13 custom dimensions, RUM-timing, cookie=1 flag. Tracker version 2.31.0. enableHeartBeatTimer aan (extra engagement-pings)."
        },
        "dnt_test": "DNT: 1 + navigator.doNotTrack='1' produceert identieke 5 cookies en identieke hoofdtracker-payload als zonder DNT. 100% genegeerd. Gemeten.",
        "tw_11_7a_verdict": "Tw 11.7a analytics-uitzondering vereist cumulatief: (a) anonimisering, (b) geen identificatie van individu, (c) geen DNT-negering. Op de gemeten configuratie: setIpTracking expliciet true → (a) niet voldaan; 64-bit visitor-ID 90d persistent + custom dimensions per request → (b) niet voldaan; DNT 100% genegeerd op hoofdtracker → (c) niet voldaan. Geen van drie voorwaarden voldaan. Analytics-uitzondering niet houdbaar.",
        "cross_check_5_naar_7_mei": "Shared ppms.js tracker-bundle byte-level gediffd tussen 5 mei (archief) en 7 mei (live): 7 van 7 privacy-default flags identiek; DNT-logica byte-identiek; alleen minifier-renaming. Platform voegde 4 nieuwe publieke methoden toe in 48 uur, alle voor download-tracking-beheer. Versie-string ongewijzigd op 2.31.0. Rijksoverheid-container heeft GEEN 5-mei-baseline gearchiveerd; alleen 7-mei-meting beschikbaar voor de container zelf. Cross-check is dus uitgevoerd op (a) de shared ppms.js bundle en (b) de Kiesraad-container — niet op deze container apart.",
        "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid",
        "scope_disclaimer": "Strict tenant-separatie: deze NL-024-update betreft uitsluitend de centrale Logius/DPC-tenant (rijksoverheid.nl + ~188 sites op Platform Rijksoverheid Online). Voor de Kiesraad-eigen tenant zie NL-026."
      },
      "last_updated": "2026-05-07",
      "evidence_version": "live-trace-2026-05-07",
      "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid",
      "related_findings": [
        "NL-026"
      ],
      "vendor_locatie_original_2026_05_05": "Wrocław, Polen (Piwik PRO Cloud — draait op AWS/GCP, valt onder CLOUD Act)",
      "corrections_log": [
        {
          "datum": "2026-05-07",
          "wijziging": "Live-trace evidence 5-7 mei 2026 toegevoegd. Geografie gecorrigeerd: Microsoft Azure West Europe (Amsterdam) — niet AWS/GCP (NL-024) of Polen (NL-026); geverifieerd via DNS+ServiceTag+WHOIS. Cookie-persistentie genuanceerd. Consent Manager-status van 'afwezig' naar 'geladen maar uitgeschakeld' bijgesteld (NL-026). Cross-check 5↔7 mei: configuratie stabiel op de shared bundle en de Kiesraad-container; rijksoverheid-container heeft geen 5-mei-baseline. Tw 11.7a-verdict op gemeten configuratie: niet houdbaar op beide tenants.",
          "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid"
        }
      ]
    },
    {
      "id": "NL-025",
      "naam": "Douane × Adobe + Piwik (gecombineerde stack)",
      "organisatie": "Belastingdienst / Douane",
      "domein": "overdedouane.nl",
      "sector": "overheid",
      "vendors": [
        "adobe",
        "piwik"
      ],
      "vendor_locatie": "Californië, VS (Adobe) + Polen (Piwik)",
      "vendor_type": "Adobe Analytics + Piwik PRO (parallelle dual-stack)",
      "samenvatting": "overdedouane.nl draait op Platform Rijksoverheid Online (Piwik PRO via CNAME) ÉN deelt de Belastingdienst-Adobe-stack. Bezoekers krijgen daarom parallelle tracking via twee afzonderlijke vendors op één bezoek: Piwik PRO in Polen plus Adobe Analytics in Californië. Bevestigt dat de Belastingdienst-Adobe-koppeling (NL-001) actief blijft per 5 mei 2026. Dual-stack tracking is een aanvullend AVG-art.-28-vraagstuk: twee verwerkers, twee verwerkersovereenkomsten, twee DPIA-pijlers — beide vereist en beide moeilijk publiek aantoonbaar.",
      "wat_lekt": "Bezoekgedrag in twee parallelle data-stromen (Adobe USA + Piwik EU) · sessie-identifiers in beide systemen · mogelijk cross-vendor profielmatch via gedeelde first-party context",
      "wetsartikel": "Tw art. 11.7a · AVG art. 5(1)(a) · AVG art. 6 · AVG art. 28 (twee verwerkers — twee verplichtingen) · AVG art. 44 (doorgifte VS — Adobe deel)",
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-05",
      "rapport": null,
      "bewijs_scan": "/ranking/#overdedouane.nl",
      "bron_tekst": "BeforeYouMick scan v3.3.2, 5 mei 2026",
      "bewijs_pending": false,
      "tag_eerste": false
    },
    {
      "id": "NL-026",
      "naam": "Kiesraad × Piwik PRO (eigen tenant, consent-mechanisme actief uitgezet)",
      "organisatie": "Kiesraad",
      "domein": "kiesraad.nl",
      "sector": "overheid",
      "subsector": "democratische infrastructuur",
      "vendors": [
        "piwik"
      ],
      "vendor_locatie": "Microsoft Azure West Europe (Amsterdam, NL) — Piwik PRO Cloud-deployment. Verwerker: Piwik PRO Sp. z o.o., Wrocław (KRS 0000615871). Sub-processor: Microsoft (US-parent — CLOUD Act in beeld). [Geverifieerd 7 mei 2026; eerdere framing zie vendor_locatie_original_2026_05_05]",
      "vendor_type": "Web-analytics + tag manager (commercieel SaaS, fork van open-source Matomo)",
      "samenvatting": "De website van de Kiesraad — autoriteit voor verkiezingsuitslagen — gebruikt Piwik PRO via een eigen tenant (75718efd-442f-4b9e-990f-e1094f4b8150), gerouteerd via het gedeelde CNAME-cloak endpoint statistiek.rijksoverheid.nl. Vijf tracking-cookies worden bij eerste bezoek gezet zonder voorafgaande toestemming, geen cookie-banner aanwezig. In alle drie BYOM-scanmodes (noop/refuse/accept) blijven cookies staan — er is noch refuse- noch accept-knop. De eigen cookie-pagina spreekt zichzelf tegen: bovenaan claim 'Geen trackingcookies', verderop een cookie 'stg_returning_visitor' met expliciete beschrijving 'meet of de bezoeker de site al eerder heeft bezocht, 365 dagen bewaard'. Code-niveau onderzoek (5 mei 2026) toont aan dat de afwezigheid van consent geen platform-default is maar een actieve configuratiekeuze: container-script bevat hardcoded 'consentSettings.consent_enabled = false' en 'respectVisitorsPrivacy = false' voor de Kiesraad-tenant. Piwik PRO biedt consent-laag aanwezig in product (276 mentions in container, ppms_cm_* templates) maar de Kiesraad heeft deze uitgezet. Piwik PRO promoot deze modus expliciet als feature in eigen marketing (piwik.pro/blog/first-party-analytics-without-consent-digital-omnibus).",
      "wat_lekt": "Persistent visitor-ID (_pk_id, 13 mnd retentie) · IP-adres · useragent · paginabezoeken · scroll-events 25/50/75/100% · schermresolutie · first-visit en current-visit Unix-timestamps · stg_returning_visitor (datetime, 365 dagen) · stg_last_interaction (datetime) · stg_traffic_source_priority · alle interactie binnen sessie",
      "wetsartikel": "Telecommunicatiewet art. 11.7a (toestemmingsvereiste niet-functionele cookies) · AVG art. 5(1)(a) (transparantie) · AVG art. 7(3) (intrekken net zo makkelijk als geven) · AVG art. 13 (informatieplicht) · AVG art. 28 (verwerkersovereenkomst — onbekend of correct geregeld voor Piwik PRO Cloud op US-infrastructuur)",
      "severity": "ernstig",
      "status": "bewezen",
      "datum": "2026-05-05",
      "datum_eerste_observatie": "2026-05-05T22:29:55+02:00",
      "tag_eerste": true,
      "tenant_uuid": "75718efd-442f-4b9e-990f-e1094f4b8150",
      "tenant_relatie": "eigen Piwik PRO instance — NIET de gedeelde rijksoverheid centrale tenant uit NL-024. Eigen contract, eigen verantwoordelijkheid Kiesraad-bestuur.",
      "endpoint": "statistiek.rijksoverheid.nl/ppms.php (CNAME-cloak naar rijksoverheid.piwik.pro)",
      "bron_tekst": "Tip via lezer + onafhankelijke verificatie BeforeYouMick scan v3.3.2 + drie HAR-exports + code-niveau forensisch onderzoek + runtime sandbox-test (5 mei 2026)",
      "bewijs_scan": "/ranking/#kiesraad.nl",
      "bewijs_har": [
        {
          "bestand": "2026-05-05_kiesraad-nl_session1.har",
          "sessie": "kort, ~30s",
          "requests_totaal": 39,
          "piwik_posts": 11,
          "consent_banner_loadevents": 0
        },
        {
          "bestand": "2026-05-05_kiesraad-nl_session2-extended.har",
          "sessie": "uitgebreid, ~60s+ met scrolling",
          "requests_totaal": 206,
          "piwik_posts": 69,
          "consent_banner_loadevents": 0,
          "extra": "scroll-events 25/50/75/100% afzonderlijk gerapporteerd. Visitor-ID 261f591f4b70f535 + first-visit Unix-timestamp 1778012997 consistent over alle 69 events"
        },
        {
          "bestand": "2026-05-05_kiesraad-nl_firefox-etp-blocked.har",
          "sessie": "Firefox met Enhanced Tracking Protection actief",
          "observatie": "Mozilla Disconnect-lijst blokkeert /ppms.php met NS_ERROR_TRACKING_URI / NS_ERROR_BLOCKED_BY_CLASSIFIER — onafhankelijke browser-vendor classificeert het endpoint als tracker"
        }
      ],
      "bewijs_byom": {
        "scanner_versie": "v3.3.2",
        "scan_datum": "2026-05-05T22:46:15+02:00",
        "bevindingen": 3,
        "kritiek": 1,
        "ernstig": 2,
        "tracking_cookies_gedetecteerd": 5,
        "modes_getest": [
          "noop",
          "refuse",
          "accept"
        ],
        "consent_flow_aanwezig": false,
        "cookies_per_mode_identiek": true,
        "details": "Tw art. 11.7a — 5 tracking cookies gezet vóór toestemming, geen cookiebanner gedetecteerd. AVG art. 28 + Tw 11.7a — externe tracker geladen vóór consent. AVG art. 5(1)(a) + 13 — CNAME-cloaking statistiek.rijksoverheid.nl → rijksoverheid.piwik.pro. In alle modes blijven cookies staan: er is geen refuse- noch accept-knop omdat geen banner aanwezig is."
      },
      "bewijs_code_analyse": {
        "datum": "2026-05-05",
        "werkmap": "/home/mick/Documents/BeforeYouMick/research/2026-05-05_pro_consent/",
        "rapport": "consent-verification.md",
        "verificatie_paden": 3,
        "laag_1_tracker_library": {
          "bestand": "ppms.js (statistiek.rijksoverheid.nl)",
          "bevinding": "Alle 10 Matomo-consent-functies (requireConsent, setConsentGiven, hasConsent, forgetConsentGiven, hasRememberedConsent, requireCookieConsent, setConsentMandatory, etc.) verwijderd uit Piwik PRO build. 0 voorkomens van 'consent' in 67 KB tracker-bestand."
        },
        "laag_2_container": {
          "bestand": "containers/75718efd-442f-4b9e-990f-e1094f4b8150.js",
          "bevinding": "Piwik PRO consent-laag (ppms_cm_* templates, 276 mentions) IS in product aanwezig. Voor de Kiesraad-tenant hardcoded uitgezet: 'consentSettings': {'consent_enabled': false}. Piwik-tracker-tag: 'respectVisitorsPrivacy': false. Code-pad regel 8722 activeert allowAllVariablesCookies()."
        },
        "laag_3_runtime_sandbox": {
          "test": "ppms.js geladen in headless browser, _paq.push consent-functies aangeroepen",
          "resultaat": "Object.keys(Matomo.getAsyncTracker()).filter(k => /consent/i.test(k)) → []. Aanroepen leveren 'method requireConsent was not found in _paq variable'. Stilzwijgend genegeerd."
        },
        "vendor_marketing": {
          "bron": "piwik.pro/blog/first-party-analytics-without-consent-digital-omnibus",
          "citaat_kern": "organizations might process analytics data without a cookie banner or prior consent",
          "implicatie": "De geconfigureerde modus is geen vergissing en geen platform-default — het is een door de vendor expliciet ondersteunde, gemarkete feature."
        }
      },
      "cookie_pagina_contradicties": [
        "Bovenliggende claim 'Geen trackingcookies' tegenover detail-omschrijving 'stg_returning_visitor — Cookie meet of de bezoeker de site al eerder heeft bezocht, blijft 365 dagen bewaard'",
        "Documentatie 'Waarde van cookie is Ja of Nee' tegenover feitelijke value GMT-datetime-string ('Tue, 05 May 2026 20:40:08 GMT')",
        "Claim 'Geen toestemming nodig' tegenover Tw art. 11.7a-vereiste voor niet-functionele cookies",
        "_pk_id-cookie 13 maanden bewaard — niet vermeld in cookie-pagina",
        "Scroll-events 25/50/75/100% naar Piwik gerapporteerd — niet vermeld in 'wat wordt vastgelegd'-lijst",
        "Documentatie noemt scroll-events niet, terwijl HAR aantoont dat ze structureel meegestuurd worden in /ppms.php POSTs als e_c=built-in page scroll, e_a=25%/50%/75%/100%"
      ],
      "kernfeit": "De cookie-pagina van de Kiesraad claimt 'geen trackingcookies, geen toestemming nodig'. Code-niveau onderzoek toont dat de Kiesraad-tenant configuratie het consent-mechanisme dat Piwik PRO aanbiedt actief heeft uitgezet (consent_enabled: false), DNT-respect heeft uitgezet (respectVisitorsPrivacy: false), en dat Piwik PRO deze modus zelf in marketing aanduidt als 'analytics without consent'. De claim correspondeert exact met de configuratie — beide ontkennen de toestemmingsvereiste die Tw art. 11.7a stelt.",
      "bijzondere_context": "Kiesraad is de autoriteit voor verkiezingsuitslagen. Persistent tracking op democratische infrastructuur valt onder verhoogde publieke-belang-toetsing. De eigen tenant maakt dit een Kiesraad-bestuur-verantwoordelijkheid, niet een platform-Logius/DPC-verantwoordelijkheid (anders dan NL-024).",
      "verschil_met_nl024": "NL-024 documenteert 188 overheidssites op Platform Rijksoverheid Online die de gedeelde centrale Piwik-tenant (zie NL-024) gebruiken — gedeelde verantwoordelijkheid Logius/DPC. Kiesraad zit NIET in die 188. Eigen tenant (75718efd-...), eigen instance, eigen consent-policy, eigen cookie-pagina-claims, eigen bestuurs-verantwoordelijkheid.",
      "publieke_reproduceerbaarheid": [
        "Open kiesraad.nl in incognito browser, open DevTools → Storage → Cookies. 5 cookies zichtbaar voor www.kiesraad.nl",
        "Open Network tab, filter op 'ppms'. Geen consent-banner request. Direct POSTs naar /ppms.php",
        "Open Firefox met Enhanced Tracking Protection 'Strict'. Bekijk Network tab op kiesraad.nl. ppms.php requests tonen NS_ERROR_TRACKING_URI",
        "Vergelijk met cookie-pagina kiesraad.nl/service/cookies — claims 'geen trackingcookies'",
        "Verifieer in browser-console: typeof Matomo.getAsyncTracker().requireConsent → 'undefined'"
      ],
      "update_2026_05_07": {
        "datum": "2026-05-07",
        "samenvatting_kort": "Live-trace 7 mei 2026 op kiesraad.nl bevestigt configuratie stabiel tussen 5 en 7 mei. Geografie gecorrigeerd: Microsoft Azure West Europe (Amsterdam), niet Polen. Cookie-persistentie genuanceerd: tracker-default 393d, container-override 90d via session_cookie_id-mode, plus twee sevenTag stg_-cookies op 365d exact. Eerdere 'Matomo-namen ontbreken in tracker'-framing vervangen door 'Consent Manager geladen maar consent_enabled:false; privacy-templates.json HTTP 404'. Tw 11.7a-analytics-uitzondering cumulatief niet houdbaar; drie technische mitigaties tov NL-024 verkleinen voetafdruk maar herstellen uitzondering niet.",
        "geografie_correctie": "Hosting: Microsoft Azure West Europe (Amsterdam, NL). Geverifieerd via DNS-resolutie van statistiek.rijksoverheid.nl en rijksoverheid.piwik.pro (beide CNAME-aliasen, identieke A/AAAA-records 57.153.166.203 + 2603:1020:201:e::1d8); IP-prefix-match in officiele Microsoft Azure ServiceTags JSON (change-number 399, dated 2026-05-04) tegen tag AzureCloud.westeurope; WHOIS RIPE inetnum 57.153.0.0/16 mnt-by: MICROSOFT-MAINT; ARIN OrgName: Microsoft Corporation. Verwerker: Piwik PRO Sp. z o.o., Wrocław (KRS 0000615871). Sub-processor: Microsoft (US-parent → CLOUD Act in beeld onafhankelijk van waar de bytes liggen).",
        "hardcoded_container_config": [
          "consent_enabled: false (consent-gating uit)",
          "user_mode_enabled: false (geen consent-formulier getoond)",
          "respectVisitorsPrivacy: false op de hoofdtracker-tag",
          "_paq.push(['setIpTracking', true]) hardcoded in tag-bootstrap",
          "privacy-templates.json + privacy-widgets.json: HTTP 404 — form-tekst nooit geuploadet",
          "Consent Manager-code (60 CM-symbolen) wel in container-bundle, functioneel uitgeschakeld"
        ],
        "live_trace_meting": {
          "datum": "2026-05-07",
          "doel_url": "https://www.kiesraad.nl/",
          "container_id": "75718efd-442f-4b9e-990f-e1094f4b8150",
          "methodologie": "Playwright + Firefox 148 (headless), nl-NL locale, default profile, twee scenarios per target (clean + DNT)",
          "cookies_eerste_bezoek": [
            "_pk_id.75718efd-….4f6d — 90 dagen, 64-bit visitor-ID, Secure: TRUE",
            "_pk_ses.75718efd-….4f6d — 30 min, sessie, Secure: TRUE",
            "stg_traffic_source_priority — 30 min, Secure: TRUE",
            "stg_last_interaction — 365 dagen (datestring), Secure: TRUE",
            "stg_returning_visitor — 365 dagen (datestring), Secure: TRUE"
          ],
          "tracker_payload_per_pageview": "POST naar /ppms.php (op statistiek.rijksoverheid.nl, gedeelde host) met: 64-bit visitor-ID, first-seen timestamp, visit-count, GEEN per-pagina UUID (dimension11 = URL-pad), 23 custom-dimension-slots waarvan 9 niet-leeg, RUM-timing, cookie=1 flag. Tracker version 2.31.0. GEEN enableHeartBeatTimer in bootstrap."
        },
        "dnt_test": "DNT: 1 + navigator.doNotTrack='1' produceert identieke 5 cookies en identieke hoofdtracker-payload als zonder DNT. 100% genegeerd. Gemeten. OP TAG-NIVEAU: 17 van 28 secundaire tags (interactie-events: clicks, formulieren, banners) hebben respectVisitorsPrivacy: true, dus respecteren DNT. Hoofdtracker valt in de overige 11 die DNT negeren.",
        "tw_11_7a_verdict": "Tw 11.7a analytics-uitzondering vereist cumulatief: (a) anonimisering, (b) geen identificatie van individu, (c) geen DNT-negering. Op de gemeten configuratie: setIpTracking expliciet true → (a) niet voldaan; 64-bit visitor-ID 90d persistent + custom dimensions per request → (b) niet voldaan; DNT 100% genegeerd op hoofdtracker → (c) niet voldaan. Geen van drie voorwaarden voldaan. Analytics-uitzondering niet houdbaar.",
        "cross_check_5_naar_7_mei": "Shared ppms.js tracker-bundle byte-level gediffd tussen 5 mei (archief) en 7 mei (live): 7 van 7 privacy-default flags identiek; DNT-logica byte-identiek; alleen minifier-renaming. Platform voegde 4 nieuwe publieke methoden toe in 48 uur, alle voor download-tracking-beheer. Versie-string ongewijzigd op 2.31.0. Kiesraad-container byte-level gediffd: geen privacy-relevante wijzigingen. Container-config (consentSettings) identiek, tag-set identiek (28 tags), respectVisitorsPrivacy-distributie identiek (11 false / 17 true). Twee tag-bodies hadden defensieve _paq||[]-init toegevoegd (Piwik PRO platform template-content, niet Kiesraad-actie).",
        "drie_technische_mitigaties": {
          "items": [
            "Cookies dragen Secure-flag (via ?use_secure_cookies bundle-param) — NL-024 doet dit niet",
            "17 van 28 tags respecteren DNT op tag-niveau — NL-024 doet dit niet",
            "Geen per-pagina UUID in tracker-payload (dimension11 = URL-pad) — NL-024 stuurt wel UUID"
          ],
          "disclaimer": "Deze drie mitigaties verkleinen de privacy-voetafdruk maar herstellen de Tw 11.7a-uitzondering NIET: hoofdtracker faalt nog steeds op anonimisering, identificatie, en DNT-respect."
        },
        "publieke_verklaring_kiesraad_tegenstelling": "Cookiepagina kiesraad.nl meldt 'geen trackingcookies' terwijl _pk_id (persistent 64-bit visitor-ID, 90 dagen) bij eerste bezoek wordt gezet. Onhoudbaar op naam (_pk_-prefix is letterlijke Piwik/Matomo tracking-cookie-conventie sinds 2009), conventie en functie.",
        "complaint_status": "AP-klacht ingediend 6 mei 2026, kenmerk 5f22-26c4",
        "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid",
        "scope_disclaimer": "Strict tenant-separatie: deze NL-026-update betreft uitsluitend de Kiesraad-eigen tenant (kiesraad.nl). Het netwerk-endpoint statistiek.rijksoverheid.nl is gedeeld met de centrale Logius/DPC-tenant (zie NL-024), maar dat is een infrastructuur-deling, niet een tenant-deling: de configuraties, contracten, en verantwoordelijkheden zijn gescheiden."
      },
      "last_updated": "2026-05-07",
      "evidence_version": "live-trace-2026-05-07",
      "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid",
      "related_findings": [
        "NL-024"
      ],
      "vendor_locatie_original_2026_05_05": "Wrocław, Polen (Piwik PRO sp. z o.o.) / Piwik PRO Cloud op Amerikaanse hyperscaler-infrastructuur (AWS / GCP, CLOUD Act)",
      "corrections_log": [
        {
          "datum": "2026-05-07",
          "wijziging": "Live-trace evidence 5-7 mei 2026 toegevoegd. Geografie gecorrigeerd: Microsoft Azure West Europe (Amsterdam) — niet AWS/GCP (NL-024) of Polen (NL-026); geverifieerd via DNS+ServiceTag+WHOIS. Cookie-persistentie genuanceerd. Consent Manager-status van 'afwezig' naar 'geladen maar uitgeschakeld' bijgesteld (NL-026). Cross-check 5↔7 mei: configuratie stabiel op de shared bundle en de Kiesraad-container; rijksoverheid-container heeft geen 5-mei-baseline. Tw 11.7a-verdict op gemeten configuratie: niet houdbaar op beide tenants.",
          "evidence_repo": "https://github.com/Apolloccrypt/onderzoek/tree/main/piwik-pro-overheid"
        },
        {
          "datum": "2026-05-07",
          "wijziging": "Strict data-isolation cleanup: NL-024 tenant-UUID-prefix verwijderd uit visible fields tenant_relatie en verschil_met_nl024 (originele tekst bewaard in tenant_relatie_original_2026_05_05 en verschil_met_nl024_original_2026_05_05). Cross-reference blijft via NL-024-ID."
        }
      ],
      "complaint_status": "AP-klacht ingediend 6 mei 2026, kenmerk 5f22-26c4",
      "tenant_relatie_original_2026_05_05": "eigen Piwik PRO instance — NIET de gedeelde rijksoverheid centrale tenant bf9c05f0-c13f-4e22-80c7-e603d39fc616 uit NL-024. Eigen contract, eigen verantwoordelijkheid Kiesraad-bestuur.",
      "verschil_met_nl024_original_2026_05_05": "NL-024 documenteert 188 overheidssites op Platform Rijksoverheid Online die de gedeelde centrale Piwik-tenant (bf9c05f0-...) gebruiken — gedeelde verantwoordelijkheid Logius/DPC. Kiesraad zit NIET in die 188. Eigen tenant (75718efd-...), eigen instance, eigen consent-policy, eigen cookie-pagina-claims, eigen bestuurs-verantwoordelijkheid."
    }
  ]
}
