L'header Sec-GPC è ormai ovunque: rilevamento lato server per l'analytics
Global Privacy Control viaggia come header di richiesta Sec-GPC su ogni richiesta. Ecco come leggerlo all'edge e rispettarlo in una pipeline di analytics senza cookie.
Global Privacy Control (GPC) viene spesso discusso come segnale giuridico, ma per chi sviluppa è prima di tutto un header HTTP. Ogni richiesta proveniente da un browser o da un'estensione con GPC abilitato porta con sé Sec-GPC: 1, e la stessa preferenza è esposta al JavaScript del client come navigator.globalPrivacyControl. Se esegui analytics all'edge, l'header è il punto di integrazione più pulito: puoi agire su di esso prima che venga eseguita qualsiasi logica di misurazione, senza distribuire un solo byte di codice di tracciamento.
Che aspetto ha realmente il segnale
La specifica GPC definisce un campo header di richiesta, Sec-GPC, il cui unico valore significativo è 1, a indicare che la persona non acconsente alla vendita o alla condivisione dei propri dati personali. L'assenza dell'header significa che non è stata espressa alcuna preferenza: esplicitamente non equivale a uno 0 positivo. La specifica definisce anche una risorsa well-known in /.well-known/gpc.json che un sito pubblica per dichiarare di onorare il segnale.
Poiché Sec-GPC usa il prefisso Sec-, è un nome di header proibito: non può essere impostato né sovrascritto da fetch() o XMLHttpRequest, il che lo rende più difficile da falsificare dagli script di pagina rispetto a un header personalizzato. Viene inviato sia nelle navigazioni sia nelle richieste di sottorisorse, quindi un worker all'edge lo vede già al primissimo accesso.
Leggerlo all'edge di Cloudflare
Su un Cloudflare Worker il controllo è una sola riga, ed è eseguito prima che tu decida se registrare qualcosa:
export default {
async fetch(request) {
const gpc = request.headers.get('Sec-GPC') === '1';
// gpc === true -> la persona ha rifiutato vendita/condivisione
// registra di conseguenza solo segnali aggregati e sicuri per la privacy
return handle(request, { gpc });
}
};
Per Monoid questo si allinea direttamente al modo in cui il prodotto già funziona. Monoid non memorizza cookie né localStorage e non deriva alcuna impronta digitale, quindi non esiste in primo luogo alcun profilo cross-site da sopprimere. GPC è un'opposizione giuridica alla vendita e condivisione di dati personali, un comportamento in cui un design privacy-first e senza cookie non si impegna mai. Rilevare Sec-GPC diventa perciò una misura di difesa in profondità e una traccia verificabile del fatto che la preferenza è stata osservata, più che un interruttore che cambia quali dati lasciano il browser.
Perché conta giuridicamente, in breve
L'applicabilità di GPC non è teorica. L'accordo del 2022 tra il Procuratore Generale della California e Sephora ha chiarito che il CCPA impone alle imprese di trattare GPC come una valida opposizione alla vendita, e i regolamenti del California Privacy Rights Act richiedono di onorare i segnali di preferenza di opt-out. Il Colorado e altri regimi statali statunitensi hanno adottato requisiti comparabili sui meccanismi universali di opt-out. Leggere l'header lato server ti dà un punto deterministico e registrato in cui avviene la conformità: molto più robusto che affidarsi a un tag manager per far scattare una regola.
Pubblicare la risorsa well-known
Se onori GPC, dichiaralo. Servi /.well-known/gpc.json con un piccolo documento:
{ "gpc": true, "lastUpdate": "2026-07-19" }
È un file statico che puoi restituire da una route all'edge con Content-Type: application/json. Segnala a browser, estensioni e revisori che la preferenza è rispettata, e non costa nulla mantenerlo.
Indicazioni pratiche per le pipeline di analytics
- Controlla l'header prima della misurazione, non dopo. Agire all'edge significa che la decisione è presa prima di qualsiasi elaborazione a valle.
- Non trattare l'assenza come consenso. Nessun header
Sec-GPCsignifica semplicemente nessuna preferenza; combinalo con la tua base giuridica esistente. - Tieni una traccia di audit minima. Registrare che una richiesta portava
Sec-GPC: 1— senza collegarlo a un identificatore — dimostra buona fede senza creare un profilo. - Per il gating preferisci l'header all'API JS. La proprietà
navigator.globalPrivacyControlè utile per l'interfaccia client, ma l'header ti permette di decidere prima che il codice venga eseguito.
La lezione più ampia è che i segnali di privacy sono sempre più fatti del livello di trasporto, non stranezze applicative. Sec-GPC si affianca a DNT (deprecato), all'header Permissions-Policy e a Referrer-Policy tra le cose che un sistema di analytics dovrebbe leggere invece di ignorare. Per un prodotto senza cookie il cambiamento è piccolo proprio perché l'architettura minimizza già i dati, che è il senso stesso di costruire in questo modo.
Comments
Loading comments…