跳转到内容
Telemetry
浏览文档
概念与 SQL 模式更新于 2026年7月27日由 Telemetry 编辑团队和产品团队审核阅读约需 2 分钟

让编程智能体使用这篇文档

打开 Claude Code、Codex、Cursor 或其他编码代理的集中提示包,然后将其适应此处介绍的工作流程。

本页内容
  1. 默认排除的数据
  2. 在边界处应用控制
  3. 审查并回应

对事件中的敏感数据进行脱敏

最安全的敏感值是永远不会进入事件管道的敏感值。从显式白名单构建结构化事件,而不是序列化请求、异常、模型响应或数据库对象,然后尝试删除危险键。

默认排除的数据

请勿记录 API 密钥、密码、会话 cookie、授权标头、Webhook 签名、付款详细信息、完整请求正文、数据库连接字符串或原始提示和完成。自由格式文本可以包含个人或机密数据,即使其字段名称看起来无害。

与电子邮件地址相比,更喜欢内部不透明标识符。用受控的 error_type 替换原始异常,并通过适当的访问和保留将完整的堆栈跟踪保留在诊断系统中。使用稳定的路由模板替换包含标识符或查询字符串的 URL。

在边界处应用控制

逐个字段创建事件对象:

const event = {
  route_template: request.routeOptions.url,
  method: request.method,
  status_code: response.statusCode,
  latency_ms: elapsedMs,
  account_id: account.internalId,
};

await telemetry.log("api_request_completed", event);

当需要可重复使用的消毒剂时,请将其视为深度防御。测试嵌套对象、数组、备用大写和意外类型。合同之外的绑定字符串长度和拒绝字段。当原始值具有较小或可猜测的集合时,散列不是匿名化。

审查并回应

为每个大容量活动合同分配一个所有者。在启用生产排放之前检查开发中的样本行。添加新标识符时重新审视保留和访问需求。

如果发现敏感数据,请停止发出路径,识别受影响的表和时间范围,轮换任何暴露的机密,并在适当的情况下使用支持的删除工作流程。然后添加一个回归测试来练习实际的事件构造函数。

阅读 设计事件架构 了解合同实践,阅读 日志API参考 了解摄入形状。

相关产品功能

记录稳定的事件名称、类型明确的字段,以及经过隐私审核的上下文。

内容责任与技术参考

Telemetry 编辑团队负责维护本文;产品团队审核功能行为、示例和适用范围。

查看编辑规范