SDK 接入

隐私、安全与采集边界

了解 SDK 默认采集与明确不采集的内容,以及接入方对自定义事件、错误和合规配置的责任。

TraceVista 遵循数据最小化原则:默认只采集分析页面体验所需的技术信息,不读取输入值、Cookie 或页面正文。但接入方仍需要根据业务地区、用户群体和适用法律完成自己的隐私评估与告知。

默认采集

  • 页面 URL、路径、标题和来源
  • 随机访客、会话和页面访问标识
  • 视口、屏幕、语言、时区和部分网络能力
  • 浏览器 Performance API 提供的性能时长
  • JavaScript、Promise、资源和接口错误信息
  • 点击元素的标签、ID 和最多两个 class
  • SDK 版本与导航类型

默认不采集

  • 输入框和表单的输入值
  • 密码
  • Cookie
  • 登录 Token 和请求授权头
  • 页面正文或完整 DOM
  • 点击元素的文本内容

SDK 的监控请求使用 credentials: 'omit',不会主动携带目标站点 Cookie。

自定义数据的责任边界

track() 的事件数据和 captureError() 的附加信息由接入方代码决定。请建立字段白名单,不要直接传递完整用户对象、表单、请求头或后端响应。

// 推荐:只上报分析所需的非敏感分类
window.TraceVista.track('checkout_failed', {
    payment_method: 'card',
    reason_code: 'issuer_declined'
})

// 不推荐:直接传递表单、Token 或完整接口响应
window.TraceVista.track('checkout_failed', formState)

建议的上线检查

  • 在隐私政策或 Cookie/SDK 清单中说明真实用户监控用途
  • 根据适用规则决定是否需要获得用户同意后再初始化 SDK
  • 对 URL 查询参数进行设计,避免把邮箱、手机号或 Token 放进 URL
  • 审查自定义事件和错误附加字段
  • 限制后台数据访问权限并定期清理无用监控网站
  • 为测试和生产环境使用不同监控网站

用户同意

如果你的同意管理平台要求先获得用户授权,请在授权通过后再加载或初始化 SDK:

if (consent.analytics) {
    window.TraceVista.init({
        projectKey: 'mk_your_project_key'
    })
}

用户撤回同意后,应阻止后续页面继续加载或初始化 SDK。撤回同意不会自动删除此前已经提交的数据或浏览器本地生成的访客标识;如需删除历史数据,请按你的隐私流程在服务端处理。