À partir de Chrome 100, la phase d'évaluation de CHIPS permet d'activer les cookies comme "partitionnés" avec un pot à cookies distinct pour chaque site de premier niveau.
Modifications
- Septembre 2022: consultez les informations actualisées sur la prolongation de la phase d'évaluation jusqu'à Chrome 106.
- Août 2022: suppression de l'exigence
path=/
(voir github.com/privacycg/CHIPS/pull/49). - Juin 2022: à partir de Chrome 104, il n'est plus nécessaire d'omettre l'attribut
Domain
pour définir des cookies avec l'attributPartitioned
. - Mai 2022: à partir de Chrome 103, il n'est plus nécessaire d'envoyer l'en-tête
Accept-CH: Sec-CH-Partitioned-Cookies
pour activer la phase d'évaluation.
Que sont les CHIPS ?
La proposition CHIPS (Cookies With Independent Partitioned State) est une proposition de la Privacy Sandbox qui permet aux développeurs d'activer un cookie pour l'option "partitionnée". avec des boîtes à cookies distinctes 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
Prérequis
Version stable de Chrome 103.
Étapes
Pour vous inscrire à la phase d'évaluation et obtenir un jeton pour vos domaines, accédez à la page d'évaluation de CHIPS.
Incluez l'en-tête
Origin-Trial
avec un jeton valide dans toutes les réponses comportant l'en-têteSet-Cookie
qui incluentPartitioned
:Origin-Trial: <ORIGIN TRIAL TOKEN>
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.
Outils de développement
- Accédez à
chrome://flags/#partitioned-cookies
et définissez le paramètre sur "Activé". - Redémarrez Chromium en cliquant sur le bouton "Relancer" dans l'angle inférieur droit, ou en accédant à chrome://restart.
- 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". - Chargez le site avec l'intégration.
- Ouvrez les outils de développement sur Application > Cookies > yourSite et recherchez la colonne Partition Key (Clé de partitionnement) dans les outils de développement.
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é avecPartitioned.
.
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
- Signalez les problèmes et suivez la discussion sur GitHub.
- Posez des questions et participez à des discussions dans le dépôt de l'assistance pour les développeurs Privacy Sandbox.
- Découvrez différentes façons de donner votre avis sur les propositions de la Privacy Sandbox.