navigator.geolocation
Il browser espone la posizione del dispositivo. I siti la richiedono, gli utenti la approvano. Il browser non decide mai quando la posizione è necessaria.
La normativa chiede ai browser di gestire il consenso. navigator.consent Le consente di soddisfare quest’obbligo senza diventare gatekeeper del consenso. Lei fornisce l’infrastruttura. CMP e assistenti al consenso fanno il resto.
Gli obblighi sul consenso per i browser arrivano da entrambi i lati dell’Atlantico. La questione non è se ma come.
GPC Le offre navigator.globalPrivacyControl, un segnale binario di opt-out. navigator.consent estende lo stesso pattern navigator.* da un segnale binario a un coordinamento granulare del consenso, specifico per finalità, che soddisfa il requisito di specificità del GDPR.
AB 566 (firmato nell’ottobre 2025) richiede a tutti i principali browser di includere la funzionalità Global Privacy Control integrata entro il 1 gennaio 2027.
L’Article 88b(6) richiede ai fornitori di browser non-PMI di offrire mezzi tecnici affinché gli utenti possano dare o rifiutare il consenso tramite segnali leggibili dalle macchine.
Una scheda Consent dedicata nei DevTools, analoga ad Application o Network, darebbe a sviluppatori e autorità di regolamentazione visibilità in tempo reale sullo stato del consenso. Un’opportunità per la differenziazione del browser, non un obbligo.
| registrationId | reg_a1b2c3 |
| provenance | cmp |
| status | Attivo |
| finalità | 3 |
| vendor | 3 |
| Finalità | Base giuridica | Consenso | Impostato da |
|---|---|---|---|
| Analytics | legitimate_interest | granted | privacy_assistant |
| Advertising | consent | denied | user |
| Functional | legitimate_interest | granted | cmp |
| Nome | Dominio | Finalità | Consenso | Impostato da |
|---|---|---|---|---|
| Analytics Co | analytics.example | analytics | granted | privacy_assistant |
| AdNetwork | ads.example | analytics, advertising | denied | user |
| Social Widget | social.example | functional | pending | — |
Ispezioni le registrazioni attive, i cataloghi vendor, le dichiarazioni di finalità e lo stato delle preferenze in tempo reale con attribuzione di provenance. Esegua il debug dei flussi di eventi e individui errori comuni come l’invocazione di metodi riservati alle estensioni dal contesto DOM.
La cronologia di audit fornisce un registro cronologico di ogni modifica del consenso: chi l’ha impostata, quando e cosa è cambiato. Uno strumento di verifica della conformità che avvantaggia l’intero ecosistema.
navigator.consent segue lo stesso design delle Web API che già implementate:
navigator.geolocationIl browser espone la posizione del dispositivo. I siti la richiedono, gli utenti la approvano. Il browser non decide mai quando la posizione è necessaria.
navigator.permissionsIl browser traccia quali permessi sono stati concessi e impone il confine tra concesso e negato. Non sceglie al posto dell’utente.
I siti dichiarano quali origini e risorse sono consentite. Il browser applica queste dichiarazioni. Nessuna interpretazione, solo esecuzione delle policy.
navigator.consent è la stessa cosa: il browser fornisce il namespace, impone i confini dei permessi tra contesto DOM e contesto estensione, deriva la provenance dal contesto di esecuzione e gestisce gli eventi. Non prende decisioni sul consenso.
Il browser impone una separazione netta tra contesto DOM (script della pagina) e contesto estensione (assistenti al consenso). La provenance è derivata dal contesto di esecuzione. I chiamanti non possono falsificarla.
| Capacità | Contesto DOM | Contesto estensione |
|---|---|---|
| Registra interfacce, vendor, finalità | Consentito | Negato |
| Legge metadati vendor/finalità, nascondi/mostra, audit | Negato | Consentito |
| Aggiorna preferenze, revoca, ascolta gli eventi | Consentito | Consentito |
| Lettura del contesto normativo | Consentito | Consentito |
| Modifica del contesto normativo | Negato | Consentito |
Gli aggiornamenti con provenance utente prevalgono sempre. Tra CMP e assistente (quando non esiste un valore con provenance utente), si applica il criterio last-write-wins. Il browser deriva la provenance automaticamente dal contesto di esecuzione del chiamante.
Con le registrazioni CMP che dichiarano quali domini vendor hanno il consenso, il browser ha informazioni sufficienti per applicare la policy dei cookie a livello di rete. I cookie di terze parti da domini senza un segnale di consenso corrispondente potrebbero essere bloccati su Set-Cookie o cancellati alla navigazione, in modo simile a come CSP blocca le fonti di script non autorizzate. I vendor con consenso continuano a funzionare. Il tracciamento senza consenso si ferma al confine.
navigator.consent è un livello di trasporto. Il browser trasporta messaggi, non li interpreta. Questo significa che la responsabilità del browser termina al confine dell’API.
Il CMP presenta l’interfaccia di consenso, non il browser. Nessuna decisione di design, nessuna responsabilità per dark pattern.
L’API è trasporto. Trasporta segnali tra CMP e assistenti al consenso senza interpretarli né sovrascriverli.
Il CMP gestisce gli audit trail, la base giuridica e le prove normative. Il browser non è il sistema di registrazione.
Modello di registrazione aperto. Nessuna lista di autorizzazione, nessun gate di attestazione, nessuna responsabilità di gatekeeping.
La specifica completa.
Definizioni di payload leggibili dalle macchine per tutti i tipi dell’API.
Un polyfill funzionante per la sperimentazione.