API общего хранилища позволяет веб-сайтам хранить и получать доступ к данным, которые не изолированы основным сайтом. Это обеспечивает и упрощает сценарии использования между сайтами, соблюдая при этом конфиденциальность пользователей.
Хотя Chrome использует разделение хранилища и переходит к новому интерфейсу, расширяющему возможности пользователя в отношении сторонних файлов cookie , существует ряд законных сценариев использования, которые зависят от неразделенного хранилища и которые были бы невозможны без помощи новых веб-API. Например, производитель контента может захотеть измерить охват контента на разных сайтах, не полагаясь на межсайтовые идентификаторы. API общего хранилища решает эту задачу, предоставляя более конфиденциальный механизм для хранения и доступа к неразделенным данным на разных сайтах.
Что такое API общего хранилища?
API Shared Storage — это универсальное хранилище данных, предназначенное для обеспечения конфиденциальности при работе в различных средах. Обладая функциями, аналогичными API localStorage и sessionStorage, Shared Storage представляет собой хранилище типа «ключ-значение», в которое можно записывать данные в любое время. В отличие от других API веб-хранилищ, данные Shared Storage могут совместно использоваться на разных сайтах верхнего уровня; однако чтение данных Shared Storage возможно только из защищенной среды, а вывод — с использованием ограниченных API вывода.

На приведенной выше диаграмме показано, что сайт shoes.example может быть встроен в другие сайты издателей, такие как news.example , и при этом получать доступ к тем же данным.
Функция общего хранилища обеспечивает межсайтовую совместимость, одновременно повышая уровень конфиденциальности пользователей за счет предотвращения отслеживания отдельных посетителей сайта и ограничения доступа к данным. Доступ к данным возможен только в защищенной среде с ограниченными возможностями вывода (рабочие модули).

Shared Storage — это базовая инфраструктура хранения данных для ограниченного числа Output API. Output API — единственный способ использовать данные из Shared Storage. К Output API относятся:
- Выберите URL : выберите URL из предоставленного списка на основе сохраненных данных, а затем отобразите это содержимое в рамке, заключенной в рамку.
- Частная агрегация : Отправляйте данные между сайтами через API частной агрегации для создания сводного отчета .
Зачем нам нужно общее хранилище данных?
API общего хранилища — это гибкий механизм хранения, который веб-разработчики могут использовать в сочетании с API вывода для решения множества задач, включая замену ряда существующих способов использования сторонних файлов cookie. Подробнее о потенциальных вариантах использования API вывода см.: Выбор URL-адреса и частная агрегация .
Ваша компания ищет решения для межсайтового хранения данных, которые еще не были предложены? Вы можете поделиться своим примером использования и создать заявку в репозитории GitHub с открытым исходным кодом Shared Storage .
API для вывода данных и сценарии использования, совместимые с общим хранилищем.
| API вывода | Вариант использования | Описание |
|---|---|---|
| Выберите URL | Поворот рекламных креативов | Вы можете хранить данные, такие как идентификатор креатива, количество просмотров и взаимодействие с пользователями, чтобы определить, какой креатив пользователи видят на разных сайтах. Это позволяет сбалансировать просмотры и избежать перенасыщения определенным контентом, тем самым предотвращая возможное негативное взаимодействие с пользователями. |
| Выберите URL | Проведите A/B-тестирование | A/B-тестирование сравнивает две или более версий конфигурации, чтобы определить, какая из них работает лучше всего. Вы можете назначить пользователя в экспериментальную группу, а затем сохранить эту группу в общем хранилище для доступа между сайтами. |
| Выберите URL | Настройка пользовательского интерфейса для постоянных клиентов | Вы можете делиться пользовательским контентом и призывами к действию в зависимости от статуса регистрации пользователя или других состояний пользователя. |
| Выберите URL , Частная агрегация | Меры по предотвращению злоупотреблений | Организации, занимающиеся борьбой со злоупотреблениями, мошенничеством и веб-безопасностью, часто используют собственные методы для выявления злонамеренных пользователей, будь то автоматизированные боты или реальные люди, пытающиеся причинить вред. В этом случае можно протестировать множество различных стратегий, будь то использование API выбора URL-адреса для кодирования рейтинга доверия пользователя или использование API частной агрегации для создания наборов данных для обнаружения аномалий. |
| Частная агрегация | Измерьте уникальный охват | Многие создатели контента и рекламодатели часто хотят знать, сколько уникальных пользователей просмотрели их контент. Вы можете использовать Shared Storage для составления отчетов о первом просмотре пользователем вашей рекламы, встроенного видео или публикации. Это позволит избежать дублирования подсчета одного и того же пользователя на разных сайтах и позволит создать сводную, но неполную отчетность по приблизительному охвату уникального контента. |
| Частная агрегация | Измерение демографических данных пользователей | Производители контента стремятся понять демографические характеристики своей аудитории. Shared Storage позволяет собирать демографические данные пользователей на вашем собственном сайте и использовать агрегированные отчеты для анализа этой информации на различных других платформах, например, во встроенном контенте. |
| Частная агрегация | Измерение диапазона частот K+ | Иногда это называют «эффективной частотой», и часто существует минимальное количество просмотров, прежде чем пользователь узнает или вспомнит определенный контент (часто в контексте просмотра рекламы). Вы можете использовать Shared Storage для создания отчетов об уникальных пользователях, которые просмотрели контент не менее K раз. |
Как работает общее хранилище данных?
Общее хранилище позволяет принимать обоснованные решения на основе данных, полученных с разных сайтов, без передачи информации о пользователях (например, истории браузера или других личных данных) на сайт, на который вы внедряете контент, и без утечки данных на ваши собственные серверы.
Запись в общее хранилище возможна в любое время, но чтение значений из общего хранилища возможно только в защищенной среде, известной как рабочий модуль (worklet).
В рабочих процессах с общим хранилищем вы добавляете свою бизнес-логику, а затем считываете и обрабатываете значение из общего хранилища, не возвращая напрямую точное значение вызывающему рабочему процессу. Для извлечения информации из рабочего процесса можно использовать либо API частной агрегации, либо API выбора URL-адреса. Дополнительные API вывода могут стать доступны по мере появления новых вариантов использования.
статус API
API общего хранилища находится в стадии общедоступности . Следуйте инструкциям, чтобы зарегистрироваться в «песочнице конфиденциальности» , использовать API или включить его для локальной разработки.
| Proposal | Status |
|---|---|
| Allow writing from response headers Explainer GitHub Issue |
Available in M124. Can be manually enabled in M119-M123 |
| Debugging Shared Storage worklets with DevTools Section |
Available in M120 |
| Update Shared Storage data storage limit to 5MB Explainer |
Available in M124 |
createWorklet() to create cross-origin worklets without an iframe |
Available in M125 |
Allow cross-origin script in addModule(), and align createWorklet() to match the behavior |
Available in M130 |
| Allow Shared Storage worklet to read interest groups Explainer |
Available in M134 |
Custom data origin support in createWorklet()Explainer |
Available in M135 |
| Debugging Shared Storage worklets with DevTools Explainer GitHub issue |
Expected in Q2 2025 |
Привлекайте и делитесь отзывами
Обратите внимание, что предложение API общего хранилища находится в стадии активного обсуждения и разработки и поэтому может быть изменено.
Мы с нетерпением ждем вашего мнения об API общего хранилища.
- Предложение : Рассмотрите подробное предложение .
- Обсуждение : присоединяйтесь к продолжающемуся обсуждению , чтобы задавать вопросы и делиться своими идеями.