Phase d'évaluation des cookies ayant un état partitionné indépendant (CHIPS)

À partir de Chrome 100, la phase d'évaluation de CHIPS permet d'activer les cookies pour un stockage "partitionné", avec un bac à cookies distinct pour chaque site de premier niveau.

Changements

Que sont les CHIPS ?

La proposition de la Privacy Sandbox CHIPS (Cookies Using Independent Partitioned State) permet aux développeurs d'activer un cookie dans un espace de stockage "partitionné", dans des bacs de cookies distincts pour chaque site de premier niveau.

Un cookie tiers partitionné est lié au site de premier niveau où il a été défini initialement et n'est pas accessible depuis d'autres emplacements. L'objectif est de permettre à un service tiers de définir des cookies, mais de ne les lire que dans le contexte du site de premier niveau où ils ont été définis initialement.

À qui s'adresse la phase d'évaluation ?

Cette version est disponible en tant que phase d'évaluation tierce. Elle permet aux fournisseurs de contenu intégré de tester une nouvelle fonctionnalité sur plusieurs sites.

Si un site s'inscrit à l'essai en tant que site propriétaire, le partitionnement des cookies sera également disponible pour tous les fournisseurs de contenu tiers de ce site. Ces fournisseurs tiers doivent également s'attendre à recevoir des en-têtes HTTP supplémentaires, indiquant leur inscription à la phase d'évaluation.

Combien de temps durera l'essai ?

L'essai sera disponible de Chrome 100 à Chrome 105. Consultez le calendrier des versions de Chrome pour connaître les dates de sortie prévues.

S'inscrire à la phase d'évaluation

Conditions préalables

Version stable de Chrome 103.

Étapes

  1. Pour vous inscrire à la phase d'évaluation et obtenir un jeton pour vos domaines, accédez à la page d'évaluation de CHIPS.

  2. Incluez l'en-tête Origin-Trial avec un jeton valide dans toutes les réponses comportant l'en-tête Set-Cookie qui incluent Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. Ajoutez l'attribut Partitioned aux cookies de deux manières:

    • Dans l'en-tête Set-Cookie:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • Dans JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

Exemple

Les sites participant à la phase d'évaluation doivent inclure les en-têtes suivants dans leur réponse:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

Vérifier que tout fonctionne

Inspecter les en-têtes

Si vous avez activé la phase d'évaluation et défini un cookie partitionné, les requêtes ultérieures du client Chrome incluront l'en-tête de requête Sec-CH-Partitioned-Cookies: ?0 jusqu'à la fin de la session en cours.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

Si votre site reçoit le cookie sans cette indication du client, cela signifie que l'activation de la phase d'évaluation a échoué et que le cookie que vous recevez n'est pas partitionné.

Les réponses qui n'incluent pas d'en-tête Set-Cookie avec Partitioned n'auront pas d'incidence sur le statut de participation à la phase d'évaluation d'un site.

Si vous ne répondez pas avec un jeton valide dans l'en-tête Origin-Trial, les cookies partitionnés sur la machine seront convertis en cookies non partitionnés.

Pour en savoir plus, consultez la documentation CHIPS sur chromium.org.

DevTools

  1. Accédez à chrome://flags/#partitioned-cookies et définissez le paramètre sur "Activé".
  2. Redémarrez Chromium en cliquant sur le bouton "Relancer" dans l'angle inférieur droit ou en accédant à chrome://restart.
  3. Accédez à chrome://settings/cookies et assurez-vous que la case d'option est définie sur "Autoriser tous les cookies" ou "Bloquer les cookies tiers en navigation privée".
  4. Chargez le site avec l'intégration.
  5. Ouvrez les outils de développement et accédez à Application > Cookies > votreSite, puis recherchez la colonne Clé de partitionnement dans DevTools.

Informations supplémentaires

Exigences concernant les cookies

  • Les cookies partitionnés doivent être définis avec Secure. (Path=/ n'est plus obligatoire: voir github.com/privacycg/CHIPS/pull/49.)
  • L'attribut SameParty ne peut pas être utilisé avec Partitioned..

Chrome appliquera ces règles aux cookies définis avec l'attribut Partitioned, que le partitionnement des cookies soit activé ou non. Les cookies définis de manière incorrecte seront rejetés.

Si le partitionnement des cookies est désactivé, mais que le cookie est défini avec les attributs appropriés, Chrome ignorera l'attribut Partitioned. Le cookie ainsi généré sera tout de même envoyé dans les requêtes adressées à son hôte sur des sites de premier niveau différents de ceux où il a été défini.

Les cookies partitionnés doivent également inclure l'attribut SameSite=None pour permettre l'envoi de cookies dans un contexte tiers dans les navigateurs qui n'acceptent pas le partitionnement.

JavaScript et service workers

Les frames qui activent la phase d'évaluation ont accès à la lecture et à l'écriture de cookies partitionnés à l'aide d'API JavaScript telles que document.cookie et l'API CookieStore. Les frames qui ne figurent pas dans les scripts de l'essai ne peuvent pas lire ni écrire de cookies partitionnés.

La phase d'évaluation des CHIPS n'est pas compatible avec les service workers.

Interagir et partager des commentaires