navigator.geolocation
De browser stelt de apparaatlocatie beschikbaar. Sites vragen het aan, gebruikers keuren het goed. De browser beslist nooit wanneer locatie nodig is.
Regelgeving vraagt browsers om toestemming af te handelen. navigator.consent laat u aan die verplichting voldoen zonder toestemmingspoortwachters te worden. U levert de leidingen. CMPs en toestemmingsassistenten doen de rest.
Toestemmingsverplichtingen voor browsers komen van beide zijden van de Atlantische Oceaan. De vraag is niet of maar hoe.
GPC biedt u navigator.globalPrivacyControl, een binair opt-outsignaal. navigator.consent breidt hetzelfde navigator.*-patroon uit van een binair signaal naar gedetailleerde, doelspecifieke toestemmingscoördinatie die voldoet aan de specificiteitseis van de AVG.
AB 566 (ondertekend oktober 2025) vereist dat alle grote browsers ingebouwde Global Privacy Control-functionaliteit bevatten vóór 1 januari 2027.
Artikel 88b(6) vereist dat niet-MKB-browserleveranciers technische middelen bieden waarmee gebruikers toestemming kunnen geven of weigeren via machineleesbare signalen.
Een speciaal Consent-tabblad in DevTools, vergelijkbaar met Application of Network, zou ontwikkelaars en toezichthouders realtime inzicht geven in de toestemmingsstatus. Een kans voor browserdifferentiatie, geen verplichting.
| registrationId | reg_a1b2c3 |
| provenance | cmp |
| status | Actief |
| doelen | 3 |
| leveranciers | 3 |
| Doel | Rechtsgrondslag | Toestemming | Ingesteld door |
|---|---|---|---|
| Analytics | legitimate_interest | granted | privacy_assistant |
| Advertising | consent | denied | user |
| Functional | legitimate_interest | granted | cmp |
| Naam | Domein | Doelen | Toestemming | Ingesteld door |
|---|---|---|---|---|
| Analytics Co | analytics.example | analytics | granted | privacy_assistant |
| AdNetwork | ads.example | analytics, advertising | denied | user |
| Social Widget | social.example | functional | pending | — |
Inspecteer actieve registraties, leverancierscatalogi, doeldeclaraties en de realtime voorkeursstatus met provenance-toewijzing. Debug eventstromen en detecteer veelvoorkomende fouten zoals het aanroepen van extensie-only methoden vanuit DOM-context.
De audittijdlijn biedt een chronologisch logboek van elke toestemmingswijziging: wie het heeft ingesteld, wanneer en wat er is veranderd. Een instrument voor complianceverificatie dat het hele ecosysteem ten goede komt.
navigator.consent volgt hetzelfde ontwerp als Web-API’s die u al levert:
navigator.geolocationDe browser stelt de apparaatlocatie beschikbaar. Sites vragen het aan, gebruikers keuren het goed. De browser beslist nooit wanneer locatie nodig is.
navigator.permissionsDe browser houdt bij welke machtigingen zijn verleend en handhaaft de grens tussen verleend en geweigerd. De browser kiest niet voor de gebruiker.
Sites declareren welke origins en bronnen zijn toegestaan. De browser handhaaft die declaraties. Geen interpretatie, alleen beleidsuitvoering.
navigator.consent is hetzelfde soort ding: de browser biedt de namespace, handhaaft machtigingsgrenzen tussen DOM- en extensiecontexten, leidt provenance af uit de runtime-context, en verstuurt events. De browser neemt geen toestemmingsbeslissingen.
De browser handhaaft een strikte scheiding tussen DOM-context (paginascripts) en extensiecontext (toestemmingsassistenten). Provenance wordt afgeleid uit de runtime-context. Aanroepers kunnen dit niet vervalsen.
| Mogelijkheid | DOM-context | Extensiecontext |
|---|---|---|
| Interfaces, leveranciers, doelen registreren | Toegestaan | Geweigerd |
| Leveranciers-/doelmetadata lezen, verbergen/tonen, audit | Geweigerd | Toegestaan |
| Voorkeuren bijwerken, intrekken, naar events luisteren | Toegestaan | Toegestaan |
| Reguleringscontext lezen | Toegestaan | Toegestaan |
| Reguleringscontext overschrijven | Geweigerd | Toegestaan |
Updates met user-provenance winnen altijd. Tussen CMP en assistent (wanneer er geen user-provenance-waarde bestaat) geldt last-write-wins. De browser leidt provenance automatisch af uit de executiecontext van de aanroeper.
Doordat CMP-registraties declareren welke leveranciersdomeinen toestemming hebben, beschikt de browser over voldoende informatie om cookiebeleid op netwerkniveau te handhaven. Third-party cookies van domeinen zonder een overeenkomstig toestemmingssignaal kunnen worden geblokkeerd bij Set-Cookie of gewist bij navigatie, vergelijkbaar met hoe CSP ongeautoriseerde scriptbronnen blokkeert. Leveranciers met toestemming blijven werken. Tracking zonder toestemming stopt bij de grens.
navigator.consent is een transportlaag. De browser draagt berichten over, maar interpreteert ze niet. Dit betekent dat de verantwoordelijkheid van de browser eindigt bij de API-grens.
Het CMP presenteert de toestemmingsinterface, niet de browser. Geen ontwerpbeslissingen, geen aansprakelijkheid voor dark patterns.
De API is transport. Het draagt signalen over tussen CMPs en toestemmingsassistenten zonder ze te interpreteren of te overschrijven.
Het CMP beheert audit trails, rechtsgrondslag en regelgevingsbewijs. De browser is niet het systeem van registratie.
Open registratiemodel. Geen toelatingslijsten, geen attestatiepoorten, geen poortwachtersverantwoordelijkheid.
De volledige specificatie.
Machineleesbare payloaddefinities voor alle API-types.
Een werkende polyfill om mee te experimenteren.