共享存储空间概览

允许无限量的跨网站存储空间写入权限,以及可保护隐私的读取权限。

实现状态

本文档概述了未分区的跨网站存储的提案:Shared Storage API。

  • Shared Storage API 现已正式发布
  • 提供现场演示,测试也是如此:
    • 网址选择输出门控可在 Chrome M105 及更高版本中用于本地测试。
    • 从 Chrome M107 及更高版本中,私有汇总输出关口可用于本地测试。
    • 使用 Private Aggregation API 进行衡量的功能现已正式发布。
  • Chrome 平台状态
建议 状态
针对内容选择功能的事件级报告 (selectURL()) 至少可继续使用到 2026 年
针对每个网站设定预算
说明
在 M119 中提供
允许从响应标头写入
说明
GitHub 问题
在 M124 中提供。可在 M119-M123 中手动启用
不公开汇总贡献超时
说明
在 M119 中提供
使用开发者工具调试共享存储空间 Worklet
部分
在 M120 中提供
将共享存储空间的存储空间上限更新为 5MB
说明
在 M124 中提供

我们为什么需要此 API?

为了防止跨网站用户跟踪,浏览器会 分区 所有形式的存储(Cookie、localStorage、缓存等)。不过,有一种 依赖于未分区存储的合法用例的数量, 这一切都离不开新 Web API 的帮助。例如,内容制作者 广告客户可能希望衡量不同网站的覆盖面,而不依赖跨网站标识符。

借助 Shared Storage API,网站可以存储和访问未分区 跨网站数据。必须在安全环境中读取这些数据, 泄漏。

您可以通过以下两种方式使用共享存储空间数据:

适用对象

有很多不同类型的公司都可以通过使用 Shared Storage API。例如:

  • 广告技术平台可以衡量广告系列覆盖面、设置频次上限和轮播广告素材,所有这些目前都依赖于第三方 Cookie。
  • 付款服务机构可以确定用户是否为现有客户,从而量身定制结账体验。
  • 网络安全公司可以构建自定义逻辑来标记可疑或危险的行为。

贵公司是否正在寻找尚未实现的跨网站存储解决方案 如何解决?分享您的用例

使用场景

Shared Storage API 可支持多种应用场景,取代了 第三方 Cookie 的现有使用方式。其中包括:

使用场景 说明 输出门
轮播广告素材 您可以存储广告素材 ID、观看次数和用户互动等数据,以便确定在不同网站上的呈现效果这样,您就可以平衡观看次数,避免特定内容过度饱和,从而避免负面用户体验。 网址选择
进行 A/B 测试 您可以将用户分配到实验组,然后将该组存储在共享存储空间中,以供跨网站访问。 网址选择
为已知客户定制用户体验 您可以根据用户的注册状态或其他用户状态分享自定义内容和号召性用语。 网址选择
防滥用缓解措施 反滥用、反欺诈和网络安全组织通常使用专有技术检测恶意用户,无论是自动机器人还是试图造成伤害的真人。在这里,可以测试许多不同的策略,无论是使用网址选择输出门来对用户可信度评分进行编码,还是使用不公开聚合输出门来构建数据集以进行异常值检测。 网址选择、Private Aggregation API
衡量覆盖的唯一身份用户数 许多内容制作者和广告客户经常想知道有多少唯一身份用户观看了他们的内容。您可以使用共享存储空间报告用户首次看到您的广告、嵌入的视频、发布内容,还可以防止在其他网站上重复统计同一用户,从而为您提供大致的唯一身份用户覆盖面汇总报告(含噪声)。 Private Aggregation API
衡量用户受众特征 内容制作者通常希望了解其观众的受众特征。您可以使用共享存储空间,在您掌握的情境(例如您的第一方网站)中记录用户受众特征数据,并使用汇总报告在许多其他网站(例如嵌入式内容)中生成有关这些数据的报告。 Private Aggregation API
衡量 K+ 频次覆盖面 有时也称为“有效频次”通常须达到最低观看次数要求,用户才能识别或回想特定内容(通常在观看广告的情况下)。您可以使用共享存储空间生成关于至少浏览过某段内容 K 次的唯一身份用户的报告。 Private Aggregation API

此方案旨在创建一个通用 API,支持许多 可能的使用场景。这样便于进一步实验和更改 能够与网络生态系统一同成长

共享存储空间的工作原理是什么?

借助共享存储空间,您可以根据跨网站数据、 而不会分享用户信息(如浏览器历史记录或其他个人信息) 或将数据泄露到您自己的服务器上。

您可以随时向共享存储空间写入数据,就像本地存储或编入索引的其他 JavaScript 存储 API 一样。与其他存储 API 不同,您只能在安全环境(称为共享存储 Worklet)中读取共享存储空间值。

Worklet 是您添加业务逻辑的地方。在 Worklet 中, 被允许读取和处理共享存储空间中的值,但您无法 直接向 Worklet 调用方返回确切值。为了提取有用的 一组“门”可用。有两个 关口可用,但未来可能会添加更多关口。

可用的 Shared Storage API 输出门控如下:

  • 跨网站网址选择:您可以运行 Worklet 脚本,根据存储的数据从提供的列表中选择一个网址,然后在围栏框架中呈现该内容。
  • 使用 Private Aggregation API 进行噪声汇总:您可以运行 Worklet,以便通过 Private Aggregation API 发送跨网站数据,并返回摘要报告

试用 Shared Storage API

用于网址选择输出门和不公开汇总输出的 Shared Storage API 关口可供测试可在 Chrome 中测试内容选择 Canary/Dev/Beta M105+ 和 Private Aggregation API 可在以下位置进行测试: Chrome M107+ Canary 版和开发版。可以通过启用 chrome://settings/adPrivacy 下的所有广告隐私权 API 来测试该 API。

使用演示版

我们提供演示版,您可以在 GitHub 上查看相关代码。

本演示从广告主、广告技术平台、 内容分销商或其他第三方服务商 来自不同发布商的。在演示中 一方的代码将同时在发布商 A发布商 B 网站上运行, 应用场景。访问发布商的页面,查看数据如何在 跨网站上下文。

此演示包含内容选择和不公开汇总的用例。

对于内容选择演示 轮播广告素材 自定义已知客户的使用体验,以及 可以使用运行 A/B 测试的用例。

对于不公开汇总演示,您可以预览 衡量覆盖的唯一身份用户数衡量 K+ 频次覆盖面,以及 衡量用户受众特征

使用开发者工具调试共享存储空间 Worklet

要检查从您当前浏览的页面启动的共享存储空间 Worklet,您可以访问“来源”标签,然后添加“Shared Storage Worklet / Script First Statement”事件监听器断点。此断点会在启动时暂停初始模块脚本执行或短期有效的 Worklet。

通过添加事件级监听器来调试共享存储空间 Worklet。
可以向共享存储空间 Worklet 添加断点。

此外,chrome://inspect/#shared-storage-worklets 页面会显示所有页面中所有活跃的共享存储空间 Worklet。

互动和分享反馈

共享存储空间提案正在积极讨论,可能会发生变化 。如果您试用此 API 并有反馈意见,我们非常期待收到您的反馈意见。