可选的访客元数据
浏览器客户端的 includePii 选项默认为 false。为 false 时,客户端不会添加下列访客字段。只有在你确定自己对这些数据拥有适当的目的、同意或其他法律依据、访问控制和保留期限之后,才应启用它。
import { start } from '@rrweb/browser-client';
start({
publicApiKey: 'public_key_rr_your_key',
includePii: true,
});启用后收集的字段
当前的浏览器客户端和摄取服务会添加以下字段:
visitor:一个随机的浏览器访客标识符,存储在第一方rrweb-browser-client-visitor-idcookie 中。timezone:浏览器解析出的 IANA 时区,无法读取时为unknown。language:浏览器的首选语言,无法读取时为unknown。screenWidth和screenHeight:浏览器报告的物理屏幕尺寸,与 rrweb 的回放视口不同。devicePixelRatio:CSS 像素与设备像素之间的比率。title:附加到 rrweb Meta 事件的文档标题,截断至 500 个字符。referrer:附加到 rrweb Meta 事件的文档 referrer。remoteAddress:当includePii为 true 时,由摄取服务添加的连接方 IP 地址。代理或隐私中继可能使其不精确。
访客 cookie 的设置生命周期为 366 天(约一年),SameSite=Lax,使用当前第一方域名,并在 HTTPS 页面上带有 Secure。浏览器或用户可能会更早移除它。不要将其视为持久身份,也不要将其作为两个人是同一用户的证明。
客户端还会发送操作性元数据,例如页面域名、includePii 状态、录制器版本、入口点和可选的脚本来源。这些诊断信息不受 includePii 开关控制,不应与上述访客字段混淆。
保留名称与合并行为
在浏览器客户端 2.1.0 中,用户提供的 meta 对象中的值会在自动访客字段之后合并。因此,自定义元数据可以在摄取前覆盖 includePii、domain、visitor、timezone、language、screenWidth、screenHeight 和 devicePixelRatio 等保留名称。
因此,当 meta 包含保留键时,includePii: false 并不是安全的保证。例如,即使顶层客户端选项为 false,meta: { includePii: true } 也会让摄取服务添加 remoteAddress。请将这些内置名称视为保留名称,为应用元数据添加前缀(例如 app_user_id),并在将其传递给 start() 或 addMeta() 之前验证元数据键。
摄取服务还会独立于 includePii 派生请求元数据:
- 当浏览器请求中存在
Origin请求头时,ingestOrigin会存储该请求头的值。 - 当浏览器请求中存在
Referer请求头时,ingestReferer会存储该请求头的值。
无论 includePii 如何,这些服务器派生的值都会被存储,并替换同名的客户端提供的值。浏览器可能省略任一请求头。Referrer-Policy 可能省略 Referer 请求头或将其缩减为源(origin);宽松的政策则可能暴露路径或查询字符串。请选择不会在 ingestReferer 中放入敏感数据的政策,并在同意、访问和保留决策中同时考虑这两个字段。
同意、隐私与保留
请告知用户会话捕获和访客元数据的用途。仅在获得应用所需的任何同意之后才启动浏览器客户端,并在同意被撤回时停止捕获。限制可以搜索录制的人员,选择保留期限,并考虑可能涉及访客 ID 或 IP 地址的删除或主体访问请求。
不要仅仅因为元数据可搜索就添加直接标识符。优先使用不透明的应用 ID,并在必要时于受信服务器环境中丰富它。自定义字段参见应用元数据。
元数据不是录制的页面内容
includePii: false 不会从录制的 DOM、文本、输入、canvas、控制台日志、网络负载、自定义事件、用户提供的元数据或上述服务器派生的请求字段中移除个人数据。它只控制浏览器客户端对可选访客字段的自动收集。
请在录制与隐私设置中独立配置屏蔽和脱敏,并在生产环境上线前用有代表性的合成内容测试存储的回放。