Descripción general del almacenamiento compartido

Permite el acceso de escritura ilimitado al almacenamiento entre sitios con acceso de lectura que preserva la privacidad.

Estado de implementación

En este documento, se describe una propuesta para el almacenamiento no particionado entre sitios: la API de Shared Storage.

Propuesta Estado
Informes a nivel del evento para la selección de contenido (selectURL()) Disponible hasta 2026 como mínimo
Presupuesto por sitio
Explicación
Disponible en la versión M119
Permitir la escritura desde encabezados de respuesta
Explicación
Problema de GitHub
Disponible en M124. Se puede habilitar manualmente en las versiones M119-M123
Tiempo de espera de la contribución de agregación privada
Explicación
Disponible en la versión M119
Depura los worklets del almacenamiento compartido con Herramientas para desarrolladores
Sección
Disponible en la versión M120
Actualiza el límite de almacenamiento de datos del almacenamiento compartido a 5 MB
Explicación
Disponible en la versión M124

¿Por qué necesitamos esta API?

Para evitar el seguimiento de usuarios entre sitios, los navegadores particionan todas las formas de almacenamiento (cookies, localStorage, cachés, etcétera). Sin embargo, existen varios casos de uso legítimos que dependen del almacenamiento no particionado, lo que sería imposible sin la ayuda de las nuevas APIs web. Por ejemplo, es posible que un productor de contenido quiera medir el alcance en diferentes sitios sin depender de identificadores entre sitios.

La API de Shared Storage permite que los sitios almacenen y accedan a datos no particionados entre sitios. Estos datos deben leerse en un entorno seguro para evitar filtraciones.

Puedes usar los datos del almacenamiento compartido de dos maneras:

¿A quién está dirigido?

Hay muchos tipos diferentes de empresas que pueden beneficiarse con el uso de la API de Shared Storage. Por ejemplo:

  • Las tecnologías publicitarias podrían medir el alcance de las campañas, establecer limitaciones de frecuencia y rotar creatividades, los cuales actualmente dependen de cookies de terceros.
  • Los proveedores de pagos pueden determinar si un usuario es un cliente existente y personalizar la experiencia de confirmación de la compra.
  • Las empresas de seguridad web pueden crear una lógica personalizada para marcar comportamientos sospechosos o peligrosos.

¿Tu empresa busca soluciones de almacenamiento entre sitios que aún no se abordaron? Comparte tu caso de uso.

Casos de uso

El objetivo de la API de Shared Storage es admitir muchos casos de uso y reemplazar varios usos existentes de cookies de terceros. Esto incluye lo siguiente:

Caso de uso Descripción Puerta de salida
Rotar creatividades de anuncios Puede almacenar datos, como el ID de la creatividad, la cantidad de vistas y las interacciones de los usuarios, para determinar qué creatividades ven los usuarios en diferentes sitios. Esto te permite equilibrar las vistas y evitar la sobresaturación de cierto contenido, lo que puede ayudarte a evitar una experiencia del usuario negativa. Selección de URL
Ejecuta pruebas A/B Puedes asignar un usuario a un grupo experimental y, luego, almacenar ese grupo en el almacenamiento compartido para que se pueda acceder a él desde varios sitios. Selección de URL
Personaliza la experiencia del usuario para clientes conocidos Puedes compartir contenido personalizado y llamados a la acción en función del estado de registro del usuario o de otros estados. Selección de URL
Mitigaciones antiabuso Las organizaciones de seguridad web antiabuso, antifraude y muchas veces usan técnicas patentadas para detectar a los usuarios maliciosos, ya sean bots automatizados o personas reales que intentan causar daño. Es posible probar muchas estrategias diferentes aquí, ya sea usando la puerta de salida de selección de URL para codificar una calificación de confiabilidad de los usuarios o la puerta de salida de agregación privada a fin de compilar conjuntos de datos para la detección de anomalías. Selección de URL, API de Private Aggregation
Cómo medir el alcance único Muchos productores y anunciantes de contenido a menudo desean saber cuántas personas únicas vieron su contenido. Puede utilizar el almacenamiento compartido para generar informes sobre la primera vez que un usuario vio su anuncio, video incorporado o publicación, y evitar el recuento duplicado de ese mismo usuario en un sitio diferente, lo que le brinda un informe agregado y ruidoso de su alcance único aproximado. API de Private Aggregation
Mide los datos demográficos de los usuarios A menudo, los productores de contenido quieren comprender los datos demográficos de su público. Puedes usar el almacenamiento compartido para registrar los datos demográficos de los usuarios en un contexto en el que los tengas, como tu sitio propio, y usar los informes agregados para generar informes sobre ellos en muchos otros sitios, como el contenido incorporado. API de Private Aggregation
Mide el alcance de frecuencia de K+ A veces se describe como "frecuencia efectiva" y suele haber una cantidad mínima de vistas antes de que un usuario reconozca o recuerde cierto contenido (a menudo, en el contexto de vistas de anuncios). Puedes usar el almacenamiento compartido para crear informes de usuarios únicos que vieron un determinado contenido al menos mil veces. API de Private Aggregation

La propuesta pretende crear una API de uso general que admita muchos casos de uso futuros posibles. Esto permite seguir experimentando y cambiando, para crecer a la par del ecosistema web.

¿Cómo funciona el almacenamiento compartido?

El almacenamiento compartido te permite tomar decisiones fundamentadas en datos de varios sitios, sin compartir información del usuario (como el historial de navegación o datos personales) con un sitio incorporado ni robar datos a tus propios servidores.

Puedes escribir en el almacenamiento compartido en cualquier momento, como en otras APIs de almacenamiento de JavaScript, como localStorage o indexesDB. A diferencia de las otras APIs de almacenamiento, solo puedes leer los valores de almacenamiento compartido en un entorno seguro, conocido como worklet de almacenamiento compartido.

Los Worklets son el lugar en el que agregas tu lógica empresarial. Dentro del worklet, puedes leer y procesar un valor del almacenamiento compartido, pero no puedes mostrar directamente el valor exacto al llamador del worklet. Para extraer información útil del worklet, hay un conjunto de "puertas" disponible. Hay dos puertas disponibles, pero es posible que se agreguen más en el futuro.

Las puertas de salida disponibles de la API de Shared Storage son las siguientes:

  • Selección de URL entre sitios: Puedes ejecutar una secuencia de comandos de worklet para seleccionar una URL de una lista proporcionada, según los datos almacenados, y, luego, renderizar ese contenido en un marco vallado.
  • Agregación ruidosa con la API de Private Aggregation: Puedes ejecutar un worklet para enviar datos entre sitios a través de la API de Private Aggregation y mostrar un informe de resumen.

Prueba la API de Shared Storage

La API de Shared Storage para la puerta de salida de selección de URL y la puerta de salida de agregación privada están disponibles para pruebas. La selección de contenido se puede probar en Chrome Canary/Dev/Beta M105+, y la API de Private Aggregation está disponible para pruebas en Chrome M107 y versiones posteriores Canary y para desarrolladores. La API se puede probar habilitando todas las APIs de privacidad en los anuncios en chrome://settings/adPrivacy.

Usar la demostración

Hay una demostración disponible y puedes revisar el código en GitHub.

Esta demostración se diseñó desde la perspectiva de un anunciante, tecnología publicitaria, distribuidor de contenido o algún otro servicio de terceros que desea almacenar información en diferentes sitios de publicadores. En la demostración, se ejecutará el código del mismo tercero en los sitios del Publicador A y el Publicador B para cada caso de uso. Visita las páginas del publicador para ver cómo se comparten los datos en un contexto de varios sitios.

La demostración contiene casos de uso para la selección de contenido y la agregación privada.

Para la demostración de selección de contenido, están disponibles los casos de uso Rotar creatividades de anuncios, Personaliza la experiencia de uso para clientes conocidos y Ejecuta pruebas A/B.

Para la demostración de agregación privada, puedes obtener una vista previa de Medir el alcance único y Medir el alcance de frecuencia de K+. Mide los datos demográficos de los usuarios.

Cómo depurar los worklets del almacenamiento compartido con Herramientas para desarrolladores

Para inspeccionar los worklets de almacenamiento compartido iniciados desde la página en la que te encuentras, puedes visitar la pestaña "Fuentes" en el panel de Herramientas para desarrolladores y agregar el punto de interrupción del objeto de escucha de eventos "Worklet de almacenamiento compartido / primera declaración de secuencia de comandos". Este punto de interrupción pausará la ejecución de la secuencia de comandos del módulo inicial o los worklets de corta duración en el inicio.

Depurar un worklet de almacenamiento compartido agregando un objeto de escucha a nivel de evento
Se puede agregar un punto de interrupción a un worklet de almacenamiento compartido.

Además, en la página chrome://inspect/#shared-storage-worklets, se muestran todos los worklets del almacenamiento compartido activos de todas las páginas.

Interactúa y comparte comentarios

La propuesta de almacenamiento compartido se encuentra en debate activo y sujeta a cambios en el futuro. Si pruebas esta API y tienes comentarios, nos encantaría recibirlos.