Volver al Centro de conocimiento
Huella digital

Validación de privacidad en distintos backends de renderizado

Valida las señales de privacidad de Canvas, WebGL y WebGPU entre renderizado por software, hardware y sesiones headless o headed.

BotBrowser Team

Documentación

Quieres la documentación estructurada de Huella digital?

Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.

BotBrowser permite usar backends documentados de renderizado por software en Linux para WebGL y WebGPU, pero BotBrowser no garantiza el mismo resultado en toda GPU o entorno Linux; cada resultado depende del backend, el modo del navegador, el host y el perfil probados.

El backend de renderizado cambia más que la velocidad de los fotogramas. Canvas, WebGL y WebGPU exponen señales relacionadas con el navegador y los gráficos. Cuando un flujo pasa de una estación de trabajo a un servidor Linux, al renderizado por software o a una sesión headless, esas señales pueden cambiar. WebNN es una interfaz vecina con sus propias cuestiones de disponibilidad y backend, que se tratan en Disponibilidad de WebNN, backends y privacidad.

Compara los resultados visibles de las rutas headed de pantalla y headless de servidor para validar el backend de renderizado.

TL;DR

  • Registra navegador, profile, host, modo de pantalla y backend en una misma matrixRow.
  • Usa un recorrido compatible y anota completionState antes de cambiar una sola entrada.
  • Separa la capacidad de Canvas, WebGL y WebGPU del tiempo de CPU y de la latencia de captura.
  • Pausa o revierte si la capacidad requerida o el resultado visible sale del límite documentado.

Contenido

Define la matriz

Registra la versión de BotBrowser, el profile family, la plataforma objetivo, el sistema anfitrión, el modo del navegador, el servicio de pantalla y el backend. Mantén el flujo de la aplicación fijo y cambia un solo factor cada vez. Compara al menos una sesión headed, una sesión headless y el tipo de host usado en producción.

El profile y la versión principal del navegador forman una unidad. Un resultado de un release no sustituye la validación de otro release.

Compara familias de señales

Canvas, WebGL, WebGPU, la geometría de pantalla y el timing pueden estar relacionados, pero no son el mismo valor. Una propiedad estable no demuestra que toda la identidad gráfica sea coherente. Comprueba primero el resultado visible del flujo y después las familias de señales dentro del perfil seleccionado y los límites de soporte documentados. Cuando una diferencia requiere una inspección más profunda, puede servir la evidencia de ejecución descrita en V8Log Forensics: evidencia de ejecución para validar privacidad.

No publiques scripts de detección, umbrales ni registros internos. Una guía pública debe explicar cómo comparar entornos y cuáles son los límites de soporte.

En una fila, journeyRevision identifica los pasos y el criterio visible de finalización; completionState describe lo que la página mostró y baselineStatus indica si la configuración aceptada cumplía antes ese criterio. backend nombra la ruta gráfica, no el resultado del usuario. Una matrixRow corresponde a una combinación concreta, no a una promesa general. Añade un equipo responsable y la fecha de revisión para que el dato tenga seguimiento.

Clasifica los resultados por separado: “completado” significa que el flujo alcanzó el estado esperado; “capacidad no disponible” significa que falta una operación gráfica necesaria aunque cargue la página; “resultado de aplicación distinto” indica que el flujo terminó pero hubo una diferencia aún no atribuida. Anota qué observación justifica la categoría. Una diferencia no demuestra por sí sola que el navegador sea la causa.

Antes de juzgar un candidato, repite la fila aceptada en el mismo host y fixture. Si ya no cumple el criterio, repara la línea de base primero. Si sí cumple, ejecuta el candidato con la misma secuencia, viewport, estado inicial de almacenamiento y revisión de aplicación, cambiando solo una dimensión relevante. Ante una diferencia, vuelve una vez a la fila aceptada para descartar un fallo transitorio.

La recuperación debe restaurar la combinación completa: pareja navegador/profile, política del host, ruta de pantalla, política de ruta y almacenamiento y backend. Reponer solo el binario anterior puede no recuperar el estado si cambiaron bibliotecas del host o el servicio de pantalla. La afirmación pública debe nombrar plataforma, release, modo, backend y recorrido cubiertos, además de las áreas que no se evaluaron.

Una captura puede mostrar recorte o controles ausentes, pero no demuestra por sí sola que una API gráfica estuviera disponible ni que la señal de privacidad cumpliera la política. Si WebGPU es opcional, evalúa la alternativa de reserva declarada. Si es obligatorio, la fila no cumple aunque el resto de la página funcione. Una diferencia visual con interacción completada debe juzgarse según el requisito de la página, no como fallo automático de privacidad.

Registra el renderizado por software

Los servidores Linux pueden usar renderizado por software por falta de GPU, por el entorno de contenedor o para mantener una ruta reproducible. Registra el backend, el servicio de pantalla, las bibliotecas y el modo del navegador. Acepta por separado la consistencia de privacidad y el coste operativo. El renderizado por software y sus capacidades de reserva se explican en Renderizado WebGL por software, capacidades y privacidad. Para una comparación medida de los backends de software en Linux, consulta Mesa llvmpipe vs SwiftShader para Chromium en Linux.

Si falta una capacidad necesaria para el flujo, detén esa fila y selecciona un backend compatible. No cambies el límite de privacidad con un flag sin una nueva revisión. Qué puede hacer una página cuando se pierde un dispositivo WebGPU durante la sesión se explica en Recuperarse de la pérdida de dispositivo WebGPU.

Lecturas relacionadas.

Canvas Fingerprinting, WebGL Fingerprinting y WebGPU Fingerprinting describen las familias de señales. Evaluar la consistencia multiplataforma cubre la matriz de hosts y objetivos.

Fuentes

Conclusión práctica

  • Empareja la versión del navegador con el profile family.
  • Registra host, objetivo, modo, pantalla y backend.
  • Usa un flujo real, no solo una página vacía.
  • Revisa Canvas, WebGL, WebGPU, pantalla y timing como una familia.
  • Mantén probes, umbrales, registros y evidencia de clientes en registros controlados.

Mantén una matrixRow por entorno compatible, repite el mismo journeyRevision y separa el estado visible de la capacidad gráfica y del rendimiento. Promueve un backend solo cuando el par navegador/profile, host, modo de pantalla y operación requerida permanecen dentro del límite documentado; de lo contrario conserva la fila aceptada y el paquete de reversión.

#Privacidad Del Navegador#Canvas#WebGL#WebGPU#Renderizado#Validación Del Navegador

Este artículo forma parte de la guía: ¿Qué es la huella digital del navegador?

Ejecuta la misma comprobación en BotBrowser

Carga un perfil, mantén dentro del navegador las señales que acabas de leer y confirma el resultado en tu propia máquina antes del despliegue.