Il livello di conformità da cui il web dipende

Assistenti al consenso, browser e autorità di regolamentazione dipendono tutti dai dati che Lei produce. navigator.consent è l’API che rende la Sua infrastruttura di conformità leggibile dalle macchine, trasformando il Suo CMP nella fonte dati autorevole su cui si basa l’ecosistema del consenso.

Più di un banner

Gli utenti vedono il banner. Non vedono cosa c’è dietro: gestione dei vendor tra giurisdizioni diverse, audit trail di livello legale, propagazione del consenso in tempo reale ai responsabili del trattamento a valle, esperienze multilingue che soddisfano il requisito di specificità del GDPR.

La specifica proposta navigator.consent rende questo lavoro visibile al resto dell’ecosistema. Le Sue dichiarazioni sui vendor diventano dati strutturati che gli assistenti al consenso leggono direttamente. Il Suo stato di consenso diventa verificabile by design. Il CMP diventa la fonte autorevole su cui si basa l’intera catena del consenso.

Da resistere allo scraping a fornire dati aperti e strutturati

Oggi, gli assistenti al consenso fanno reverse-engineering del Suo DOM: scraping di pulsanti, ipotesi sulle liste di vendor, iniezione di clic. Ogni aggiornamento del CMP può interrompere ogni estensione. navigator.consent sostituisce questo scraping fragile con un’API strutturata: Lei dichiara i Suoi vendor e le Sue finalità, gli assistenti leggono direttamente i metadati.

1// Check which regulations apply
2const { regulations, jurisdiction } =
3 await navigator.consent.getRegulations();
4// → { regulations: ["gdpr", "eprivacy"], jurisdiction: "FR", … }
5
6// Register your consent interface
7const { registrationId } =
8 await navigator.consent.registerInterface({
9 vendor: "My CMP",
10 versionIdentifier: "2.4.1",
11 regulation: regulations[0] ?? "gdpr",
12 jurisdiction: jurisdiction ?? "EU",
13 });
14
15// Declare processing purposes with their legal basis
16await navigator.consent.registerPurposes([
17 {
18 id: "analytics",
19 name: "Analytics",
20 legalBasis: "legitimate_interest",
21 },
22 {
23 id: "advertising",
24 name: "Advertising",
25 legalBasis: "consent",
26 },
27 {
28 id: "functional",
29 name: "Functional",
30 legalBasis: "legitimate_interest",
31 },
32]);
33
34// Declare vendors and link them to purposes
35await navigator.consent.registerVendors([
36 {
37 id: "google-analytics",
38 name: "Google Analytics",
39 domain: "analytics.google.com",
40 privacyPolicyUrl: "https://…/privacy",
41 purposeIds: ["analytics"],
42 },
43 {
44 id: "hotjar",
45 name: "Hotjar",
46 domain: "hotjar.com",
47 privacyPolicyUrl: "https://…/privacy",
48 purposeIds: ["analytics", "advertising"],
49 },
50]);
51
52// Signal the assistant before showing your banner
53// Empty scope = general prompt; the assistant gets
54// a chance to apply user preferences first
55const snap = await navigator.consent.requestConsent();
56
57// If preferences were applied, skip your UI
58if (Object.values(snap.purposes).some(v => v !== "unset")) {
59 applyConsent(snap);
60} else {
61 showConsentBanner();
62}

Cosa guadagna

Le estensioni smettono di rompere la Sua interfaccia

Niente più ticket di supporto quando Consent-o-matic rilascia un aggiornamento che rompe il Suo banner. Le estensioni interagiscono con metadati strutturati, non con il Suo DOM.

Risparmi CDN su larga scala

Quando un assistente al consenso gestisce il consenso tramite l’API, il Suo intero bundle UI (JS, CSS, font, immagini) non ha bisogno di essere caricato. Su larga scala, questo è misurabile.

Verificabile by design

Ogni modifica delle preferenze viene registrata con provenance e timestamp. Le prove di conformità sono integrate nel protocollo, non aggiunte a posteriori.

Lei definisce la verità di riferimento

Gli assistenti al consenso dipendono dalle Sue dichiarazioni di vendor e finalità. L’ecosistema legge da Lei, non aggira Lei.

Un’integrazione, ogni assistente

Una singola integrazione API sostituisce N workaround specifici per estensione. Ogni assistente al consenso attuale e futuro utilizza lo stesso canale.

Contesto normativo integrato

Niente più geolocalizzazione IP da mantenere per indovinare quale quadro normativo si applichi. Il browser fornisce il contesto normativo direttamente tramite getRegulations(). Un componente mobile in meno che può mettere a rischio Lei e i Suoi clienti.

Cosa non cambia

navigator.consent è un livello di trasporto. Non sostituisce le Sue responsabilità legali, di conformità o di UX.

La Sua interfaccia di consenso

Lei presenta le informazioni sul consenso e raccoglie le scelte tramite la Sua interfaccia. L’API coordina, non impone una UX.

I Suoi obblighi di conformità

Lei rimane il sistema di registrazione per le prove di consenso. L’API aggiunge un canale di coordinamento, non un sostituto.

Il Suo ambito e la Sua persistenza

Lei definisce l’ambito del consenso (origin, dominio, eTLD+1) e la policy di persistenza. Il browser non sovrascrive questa impostazione.

Le Sue relazioni con i vendor

Modello di registrazione aperto. Nessuna lista di autorizzazione, nessun gate di attestazione, nessun intermediario tra Lei e i Suoi vendor.

Metodi lato CMP

Tutti questi metodi vengono eseguiti nel contesto DOM. Gli script nel contesto estensione non possono invocarli. Il browser impone questo confine.

Inizi l’integrazione

Specifica

La specifica completa dell’API con tipi, metodi e comportamento.

Legga l’RFC

JSON Schemas

Definizioni di payload leggibili dalle macchine per tutti i tipi dell’API.

Consulti gli schemi

Shim e demo

Un polyfill funzionante per la sperimentazione locale.

Provi lo shim