Esplorazione di due sfide affrontate dal team di Chrome nell'implementazione di CHIPS e di come il feedback della community abbia svolto un ruolo chiave nell'evoluzione del design della proposta.
Cookies Having Independent Partitioned State (CHIPS) è una tecnologia di Privacy Sandbox che consente agli sviluppatori di attivare un cookie per lo spazio di archiviazione "partizionato", con cookie jar separati per ogni sito di primo livello.
Esempi di casi d'uso per CHIPS includono tutti gli scenari in cui le risorse secondarie cross-site richiedono un concetto di sessione o stato persistente limitato all'attività di un utente su un singolo sito di primo livello, come widget di chat di terze parti, incorporamenti di mappe, bilanciamento del carico della CDN delle risorse secondarie, provider di CMS headless e altro ancora.
CHIPS è in fase di sviluppo con l'obiettivo di diventare uno standard del web aperto. È in discussione nel PrivacyCG e ha avuto un trial di origine per 7 mesi durante i quali il team di Chrome ha ricevuto feedback utili. Durante lo sviluppo, il team ha collaborato con gli stakeholder principali per esaminare questi feedback, il che ha portato a un design aggiornato che serve meglio l'ecosistema web.
Esploriamo due sfide che il team di Chrome ha dovuto affrontare nell'implementare CHIPS e in che modo il feedback della community ha svolto un ruolo chiave nell'evoluzione del design della proposta.
Rimozione del prefisso host e nessun requisito Domain
Per incoraggiare buone pratiche di sicurezza, il progetto CHIPS richiede che i cookie vengano impostati e inviati solo tramite protocolli sicuri e che i cookie partizionati debbano essere impostati con Secure
.
Oltre a questi requisiti, la proposta iniziale non consentiva l'attributo Domain
per i cookie suddivisi. L'omissione di Domain
nei cookie ne impediva la condivisione tra diversi sottodomini di terze parti all'interno di una partizione.
Durante la prova dell'origine, il team di Chrome ha ricevuto feedback da partner e altri stakeholder che hanno segnalato che il requisito di assenza di dominio rendeva difficile per i siti con sottodomini implementare CHIPS. Ad esempio, sarebbe più difficile per shop.example.com
e pay.example.com
condividere i cookie jar partizionati. In altri casi, ha reso difficili i flussi di autenticazione nei contesti incorporati.
Il team di Chrome ha valutato questo feedback e ha concluso che la rimozione del requisito di assenza di dominio non creerebbe problemi di privacy, ma migliorerebbe l'usabilità. In risposta, il team di prodotto CHIPS ha aperto una discussione su GitHub, invitando a fornire ulteriori feedback sulla rimozione di questo requisito. Diverse aziende che stavano testando CHIPS hanno risposto e commentato pubblicamente l'importanza di questa modifica per il loro caso d'uso.
Chrome ha inoltrato il feedback al Privacy Community Group del W3C e ha presentato la proposta aggiornata. Firefox ed Edge hanno approvato la modifica e Safari non ha sollevato dubbi. Il giorno successivo, il team di Chrome ha aggiornato Blink-Dev e ha presentato il piano per rimuovere il requisito nel repository GitHub di CHIPS.
Il team CHIPS ha inizialmente proposto questo requisito per garantire che i siti non ricevano cookie cross-site da sottodomini dannosi o compromessi e per ridurre la possibilità di utilizzare i cookie di dominio come canale per la fuga di dati tra sottodomini.
Sebbene questo abbia fornito ulteriori vantaggi in termini di sicurezza, Tableau ha sottolineato che presentava delle sfide per l'adozione di CHIPS perché alcune architetture di applicazioni attuali si basano sulla condivisione dei cookie tra i sottodomini.
Dopo che Chrome ha apportato questa modifica, Tableau, la società che gestisce la piattaforma di analisi visiva ora di proprietà di Salesforce, ha comunicato quanto segue:
Questa rimozione della modifica del nome rende il requisito molto più in linea con le modifiche precedenti per l'aggiunta dell'attributo "SameSite=None" e quindi una quantità più "nota". Apprezziamo che Google abbia ascoltato il feedback, esaminato le implicazioni e apportato la modifica per facilitare le transizioni. Lee Graber, Software Engineering Architect, Tableau
Grazie a questo processo, CHIPS è stato semplificato per gli stakeholder, preservando al contempo la privacy degli utenti.
Passaggio da un limite di cookie statico a uno dinamico
L'altra sfida nell'implementazione di CHIPS era il limite di cookie statici.
Per evitare un'impronta di memoria elevata per i cookie, il progetto iniziale proponeva un limite numerico di 10 cookie per sito e partizione.
Akamai ha condiviso un feedback pubblico secondo cui il limite proposto per i cookie suddivisi potrebbe non essere sufficiente per servizi come le CDN che offrono domini di primo livello per ospitare i contenuti dei propri clienti (ad esempio customer.cdn.xyz). Ad esempio, customer1.cdn.xyz e customer2.cdn.xyz potrebbero entrambi pubblicare contenuti di terze parti e impostare ciascuno diversi cookie. Se più siti dei clienti come questo sono incorporati in un altro sito web, potrebbero raggiungere il limite di 10 cookie per partizione.
Il team di Chrome ha ricevuto feedback simili in altri forum, durante riunioni con i partner e discussioni del W3C, quindi ha preso in considerazione i modi migliori per risolvere il problema rappresentato dal limite di cookie in questi casi d'uso.

Dopo aver valutato come incorporare i feedback della community, Chrome ha presentato un'idea aggiornata al TPAC 2022, suggerendo di passare da un limite statico di 10 cookie a un limite _dinamico_ di 10 KB in base alla memoria. L'analisi ha dimostrato che questa modifica dovrebbe coprire il 99% dei casi d'uso sul web e rispettare i principi della privacy che Chrome stava cercando di raggiungere (limitando le informazioni condivise sugli utenti tra siti) mantenendo al contempo gli utilizzi principali.
Altri fornitori di browser si sono espressi dichiarando di essere d'accordo con la soluzione aggiornata, il che è stato importante per garantire che CHIPS mantenga il supporto tra browser nel PrivacyCG.
Di conseguenza, Chrome ha adottato il nuovo limite e ha incorporato la soluzione nel design di CHIPS.
Collaborazione con il settore
Abbiamo ascoltato molti partner durante lo sviluppo di CHIPS e la collaborazione è stata fondamentale per migliorare la privacy sul web.
Akamai intrattiene una relazione di collaborazione su diversi fronti con altri leader del settore come Google. Il feedback che abbiamo fornito nel caso del programma CHIPS potrebbe sembrare un dettaglio minore, ma la modifica contribuirà in modo significativo a garantire un impatto negativo minimo sui casi d'uso positivi, raggiungendo al contempo l'obiettivo finale. Le nostre rispettive organizzazioni si impegnano a rendere internet più veloce e più sicuro a modo loro e l'intera rete ne beneficia quando collaboriamo. Martin Meyer, Senior Architect di Akamai Technologies
CHIPS ha dimostrato che il feedback dell'ecosistema è essenziale per migliorare le tecnologie in Privacy Sandbox. Le conversazioni web aperte su GitHub, le riunioni del W3C e il continuo coinvolgimento del team di Chrome hanno contribuito direttamente alle modifiche che ora sono state implementate in Chrome stabile. Il team di Chrome è ansioso di ricevere questo feedback su una serie di proposte e questo fa una grande differenza per il modo in cui le tecnologie vengono sviluppate e implementate sul web.