跳转到主要内容
请在浏览器端应用隐私控制,避免敏感值离开用户设备。先使用默认遮罩模式,检查实际记录结果后再按需放行内容。

隐私安全默认值

使用这些默认值时:
  • URL 查询参数和 Fragment 会被移除;
  • 用户、账户和上下文数据中名为 password、secret、token、authorization、cookie、api_key 以及信用卡字段的键会被递归脱敏;
  • 操作名称是 Click <结构化选择器>,选择器不带 ID、测试 ID 或 class。只有设置 defaultPrivacyLevel: 'allow' 时,才会用元素文本为操作命名;
  • 会话回放中的 DOM 文本会被遮罩;
  • 所有 Input 和 contenteditable 值始终会被遮罩,即使页面可见文本已被允许。
按字段名脱敏只是安全兜底,不是数据分类系统。不要向用户或自定义上下文对象添加凭据、支付数据、健康数据或不必要的个人信息。

屏蔽或遮罩 DOM 内容

SDK 无需应用编写额外的 Recorder 代码,就能识别以下隐私属性:
也可以按需替换默认选择器:
对秘密信息或大型敏感组件使用屏蔽;对布局仍有分析价值的文本使用遮罩;对没有排障价值的高频变化元素使用忽略。

谨慎允许页面可见文本

只有标记完所有敏感区域后,才可设置 defaultPrivacyLevel: 'allow'。Input 值仍会被遮罩,配置的 maskTextSelector 和 contenteditable 元素也会继续被遮罩。

控制 URL 与网络采集

除非应用能保证查询参数中不含标识符或秘密,否则请保持 trackUrlQueryString: false。在采集前排除敏感路由或网络接口:
allowedTracingUrls 只控制哪些 Origin 可以提供链路上下文,不会启用请求或响应 Body 采集;SDK 只记录耗时和清洗后的 URL 元数据。

在接入时去掉敏感文本

SDK 是第一道防线,服务端是第二道。应用会在任何内容写入前,把它选定的几类敏感文本从每个事件里去掉,不论事件由哪个 SDK 或客户端发来。在 RUM → 应用 里打开应用,开关 敏感数据 里的各类。新建的应用全部开启。 去掉文本的位置:事件所在和来自的地址(view.url、view.referrer、resource.url 和错误的地址),错误的消息、堆栈和它的成因,视图和被点击对象的名称,请求的 GraphQL 操作名、负载和变量,请求与响应的头,以及 context 对象。夹在文本里的地址按地址处理,堆栈在地址之后给出的位置(:10:5)保留。user 和 account 是应用有意发送的关于人的信息,保持原样。 去掉文本发生在事件被拆成行之前,所以由它派生的内容也由保留下来的部分派生:含邮箱的地址的 view.url_path 和 view.url_path_group,以及错误所属的 issue。只在邮箱或数字上不同的错误会成为同一个 issue。
各类别是形状加校验,不是对数据的分类。看起来像电话号码的数字,比如以 13 开头的 11 位订单号,会被当成电话去掉;写在自由文本里的姓名和住址则识别不出来。某一类去掉了排查所需的内容时,关掉它,并在 SDK 一侧让敏感值不进入事件。
改动只对之后到达的事件生效,之前已经存储的内容不变。会话回放分段不做这样的处理:它们的文本由 SDK 按上面的隐私级别遮盖。

上线前检查

1

记录一个受控测试会话

使用非生产测试数据走完登录、结算、个人资料、搜索和错误流程。
2

检查每种事件数据

检查会话元数据、操作名称、URL、错误堆栈、自定义上下文和 DOM 回放。
3

添加选择器和排除规则

屏蔽敏感子树,并排除不需要采集的路由。
4

界面变化后重新检查

把隐私选择器作为生产配置;页面结构发生变化时必须重新测试。

会话回放

定义隐私边界后再配置 DOM 记录。
最后修改于 2026年10月26日