Sec-Fetch-User: ?1 (non è CORS, non è il banner)
Data Pubblicazione: 02/10/2026 | | Sicurezza

Sec-Fetch-User: ?1 (non è CORS, non è il banner)

Sec-Fetch-User è un header di richiesta. Il browser lo scrive solo se c’è un’attivazione dell’utente, valore sempre ?1. Non è CORS. Non è il banner cookie.

Il banner cookie non scrive l’header Sec-Fetch-User. È un header di richiesta: il browser lo mette da solo, con il prefisso Sec-, e solo se c’è un’attivazione dell’utente. Il valore, scrive MDN, è sempre ?1. Se la richiesta non parte da un click (o da un’altra user activation), l’header non c’è: non vale ?0. Non è CORS. Non è il consenso al marketing.

In breve: fetch metadata request header, solo verso URL potenzialmente fidati (HTTPS). Forbidden request header: il prefisso Sec- lo rende non impostabile dagli script. Valore unico ?1. Assente se non c’è user activation. Completa la famiglia con Dest, Mode e Site. Verifica del 2 ottobre 2026 su MDN (header, ultima modifica 28 settembre 2026). Disponibilità limitata: MDN non lo marca Baseline.

Cosa trovi in questo articolo

  1. Cosa è Sec-Fetch-User (e cosa non è CORS)

  2. Solo ?1: se manca, non è un no

  3. Dest, Mode, Site: non il banner

  4. Errori da evitare

  5. In sintesi

Cosa è Sec-Fetch-User (e cosa non è CORS)

MDN, sulla pagina dell’header Sec-Fetch-User, parte da un fatto: è inviato per le richieste iniziate da una user activation. Un server può usarlo per capire se una navigazione da un documento, un iframe e così via è partita dall’utente. Incluso solo nelle richieste verso URL potenzialmente fidati.

Non è CORS. CORS, Access-Control-Allow-Origin, è un header di risposta. Sec-Fetch-User è un header di richiesta: lo scrive il browser, prima. Non è Sec-Fetch-Dest: Dest dice dove finisce la risorsa. Non è Sec-Fetch-Mode: Mode dice come è partita. Non è Sec-Fetch-Site. Non è il banner cookie. Cinque mestieri, un popup.

MDN, glossario fetch metadata request header: questi header (prefisso Sec-) sono forbidden request header. Non si modificano da JavaScript. Servono a una policy di isolamento delle risorse. Si verifica in Network, sulla richiesta, non sul testo della privacy policy. Questo pezzo sta nel cluster Sicurezza, accanto a Dest, Mode e Site.

Solo ?1: se manca, non è un no

MDN, sintassi. Header di richiesta. Una sola direttiva: il valore sarà sempre ?1. Quando la richiesta è innescata da qualcosa di diverso da una user activation, la specifica chiede ai browser di omettere l’header del tutto. Non è CORS-safelisted. Non esiste, in pagina MDN, un token ?0.

Cosa vedi in Network (MDN)Cosa significa, secondo MDN
Sec-Fetch-User: ?1la richiesta è partita da una user activation
header assentenessuna user activation: il browser lo omette, non scrive un no
?0non è un valore in scheda MDN

Esempio MDN: l’utente clicca un link verso un’altra pagina stessa origine. Gli header della richiesta diventano Sec-Fetch-Dest: document, Sec-Fetch-Mode: navigate, Sec-Fetch-Site: same-origin, Sec-Fetch-User: ?1. Quattro header, un click. Un fetch() da script, senza gesto, non porta questo header: Dest in quel caso è empty, Mode non è navigate, User non c’è. Lo spec è Fetch Metadata Request Headers. Lo mette il browser. Il banner non lo scrive.

Dest, Mode, Site: non il banner

MDN, stessa famiglia. Sec-Fetch-Dest dice dove finisce: document, image, script, empty. Sec-Fetch-Mode dice come è partita: navigate, cors, no-cors. Sec-Fetch-Site dice da dove: same-origin, same-site, cross-site, none. User dice se c’è stato un gesto. Quattro header, una richiesta. Non è CSP. Non è HSTS. Non è Clear-Site-Data. Non è CORP.

MDN, in testa alla pagina: disponibilità limitata, non Baseline, perché non funziona in alcuni browser molto usati. Data di modifica della pagina Sec-Fetch-User: 28 settembre 2026. Rilettura: 2 ottobre 2026. Si verifica in Network, sugli header della richiesta, non sul testo «Accetta tutti». Un server che tratta l’assenza dell’header come «non è un utente» sta leggendo un vuoto, non un token.

Errori da evitare

  • Impostare Sec-Fetch-User da JavaScript o in un tag meta: MDN, forbidden request header.

  • Aspettarsi ?0 quando non c’è un click: MDN, l’header si omette.

  • Trattarlo come Sec-Fetch-Mode: User dice se c’è stato un gesto, Mode dice come è partita.

  • Usarlo come sostituto di CORS: uno è richiesta, l’altro è risposta.

  • Verificare l’effetto sulla privacy policy invece che in Network, sulla richiesta.

  • Darlo per Baseline: MDN, 2 ottobre 2026, lo marca limited availability.

In sintesi

Sec-Fetch-User è un header di richiesta, in HTTPS, scritto dal browser. Vale sempre ?1 se c’è user activation. Se non c’è, manca. Non si imposta da JavaScript. Non è CORS. Non è Dest. Non è Mode. Non è Site. Non è il banner. Si verifica in Network. MDN, 2 ottobre 2026.

Domande frequenti

MDN: un fetch metadata request header. È inviato per le richieste iniziate da una user activation. Il valore è sempre ?1. È un header di richiesta, in contesto sicuro. Non è CORS, non è Sec-Fetch-Dest, non è il banner cookie.
No. MDN: è un forbidden request header, prefisso Sec-. Gli script in pagina non lo modificano. Lo scrive il browser.
In scheda MDN quel token non c’è. Il valore, se l’header è presente, è sempre ?1. Se non c’è user activation, la specifica chiede di omettere l’header, non di scrivere un no.
No. User dice se c’è stato un gesto dell’utente. Mode dice come è partita (navigate, no-cors, cors…). Dest dice dove finisce. Site dice da dove. Stessa famiglia, quattro mestieri.
MDN, 2 ottobre 2026: disponibilità limitata, non Baseline, perché non funziona in alcuni browser molto usati. Si verifica in Network, non sulla privacy policy. Ultima modifica della pagina: 28 settembre 2026.

Potrebbe interessarti anche...