La cabecera HTTP problemática que Chrome envía a Google

La cabecera HTTP x-client-data es enviada sistemáticamente por Chrome a los dominios Google y Doubleclick, aunque rechaces las cookies

Publicado por Pixel de Tracking el 8 de enero de 2020

Chrome y la privacidad

Chrome es un navegador excelente, pero no es el mejor defensor de tu privacidad.

A diferencia de Firefox, que ha implementado una protección reforzada contra el rastreo que bloquea la mayoría de los rastreadores, o de Safari, que mejora su bloqueo de rastreadores mediante la función Intelligent Tracking Prevention, Chrome no hace mucho. Aunque Chrome bloqueará algunas cookies a partir de la versión 80 (explicaciones sobre el atributo SameSite de las cookies y cómo Chrome cambiará la manera de tratarlas aquí), a los anunciantes les bastará con marcar sus cookies con el atributo SameSite=None para que nada cambie.

Al realizar mis pruebas para el artículo sobre la desanonimización de los datos de navegación recogidos por Doubleclick, me di cuenta de otro problema: Chrome enviaba sistemáticamente a Google y a Doubleclick la misma cabecera HTTP personalizada, llamada x-client-data.

La prueba

Vamos a observar esta cabecera personalizada enviada por Chrome únicamente a los dominios Doubleclick (servicio publicitario de Google) y Google. Veamos primero Doubleclick, servicio utilizado por lemonde.fr.

  • Desactiva tu adblocker
  • Borra las cookies en Chrome (Configuración > Configuración avanzada > Borrar datos de navegación), así quedarás desconectado de tu cuenta Google
  • Luego ve a lemonde.fr
  • Abre la consola de Chrome (⌘+Option+J en Mac, Ctrl, Shift y J en PC)
  • Ve a la pestaña "Network" y filtra los resultados por doubleclick
  • Haz scroll en la página (lemonde.fr considera que hacer scroll equivale a aceptar las cookies y luego activa el tracking publicitario)
  • En la pestaña "Network" de la consola, haz clic en una petición dirigida a doubleclick y mira los "Request headers"

x-client-data doubleclick

Verás aparecer una cabecera propia de Chrome, enviada al dominio Doubleclick: x-client-data.

La segunda etapa de la prueba es la siguiente:

  • Ve a google.com
  • Abre la consola de Chrome (⌘+Option+J en Mac, Ctrl, Shift y J en PC)
  • Ve a la pestaña "Network" y filtra los resultados por google.fr
  • Recarga la página y luego, en la pestaña "Network" de la consola, haz clic en una petición dirigida a Google y mira los "Request headers"

x-client-data google

Sigues viendo la misma cabecera: x-client-data, rellenada con el mismo valor. A través de Chrome, Google puede así rastrearte en todos los dominios que utilizan servicios de Google o Doubleclick (una buena parte de la web), aunque bloquees las cookies.

¿Cuál es el objetivo de la cabecera x-client-data?

Tras este descubrimiento, intenté saber más en la web. Resulta que esta cabecera ha recibido muy poca publicidad, ningún artículo en francés y solo 2 artículos en inglés:

Vincent Toubiana señala el whitepaper de Chrome como única fuente de información procedente de Google; estas son, por tanto, las informaciones oficiales sobre esta cabecera:

Queremos crear funcionalidades que los usuarios desean, por lo que un subconjunto de usuarios puede obtener una vista previa de nuevas funcionalidades que se están probando antes de su lanzamiento al público general. Una lista de pruebas de campo actualmente activas en tu instalación de Chrome será incluida en todas las solicitudes enviadas a Google. Esta cabecera Chrome-Variations (X-Client-Data) no contendrá ninguna información personalmente identificable y solo describirá el estado de la propia instalación de Chrome, incluidas las variaciones activas, así como experimentos del lado del servidor que puedan afectar a la instalación.

Las variaciones activas para una instalación determinada se determinan mediante un número semilla seleccionado aleatoriamente en la primera ejecución. Si las estadísticas de uso y los informes de fallos están desactivados, este número se elige entre 0 y 7999 (13 bits de entropía). Si quieres restablecer tu semilla de variaciones, ejecuta Chrome con el indicador de línea de comandos “--reset-variation-state”. Los experimentos pueden limitarse además por país (determinado por tu dirección IP), sistema operativo, versión de Chrome y otros parámetros.

Así que esta cabecera se envía efectivamente en todas las solicitudes hacia Google, se utiliza en A/B testing, pero también para estadísticas de uso de Chrome. Una vez más, tendrás que confiar en Google cuando afirma que no utiliza tu cabecera para rastrearte mejor.

¿Puedes escapar de ella?

De forma bastante sencilla, puedes no usar Chrome y optar por un navegador más respetuoso con la privacidad, como Firefox, Safari o Brave. Si usas Chrome, esta cabecera no se envía cuando estás en modo Incógnito; también puedes desactivar el envío de estadísticas de uso e informes de errores a Chrome para reducir la entropía de la cabecera.