Skip to content

匿名遥测(隐私说明)

Principles Disciple 内置一个自愿参与的匿名产品遥测通道,帮助维护者了解 PD 是否真的在被使用、新版本是否健康。它只遵循一条原则:

收集信号,不收集用户。

默认关闭

除非你明确开启,遥测始终关闭。未获得你的同意前,PD 发出的遥测网络请求为 0

收集什么(完整清单)

如果你选择参与,PD 每个工作区每天只发送一个小快照,内容仅有:

  • PD 版本号
  • 粗粒度宿主类型(openclaw / codex / other)
  • 当天日期(UTC)
  • 一个无法与任何其他日期、任何其他工作区关联的单日匿名 ID
  • 六个"是/否"产品里程碑:PD 已初始化 · 观察到 Pain 证据 · 存在原则 · 发生过激活 · 观察到 presence 回执 · 观察到 effect 回执。当某个本地数据源暂时无法评估时,该里程碑会报告为**"不可用"(unknown)**——绝不会被报告成"没有"。
  • 一个"是/否"可靠性信号(初始化是否失败),同样支持"不可用"状态

度量单位是工作区(workspace):你机器上的每个工作区独立发送自己的每日快照,且只来自该工作区的持久事实。同意按机器授予一次,可随时撤回。

永不收集什么

  • ❌ 对话、Prompt、Agent 回复
  • ❌ 原则内容或 Pain 内容
  • ❌ 源代码、文件名、文件路径、仓库名
  • ❌ 工具参数或输出、日志、堆栈、错误信息
  • ❌ 用户名、邮箱、主机名、设备指纹、位置
  • ❌ 任何精确计数(原则数、Pain 数、回执数、会话数)
  • ❌ 任何跨天或跨工作区持久的标识符

匿名 ID 的工作方式

开启遥测时,PD 会生成一个永不离开你机器的随机密钥。每天、每个工作区由 HMAC(密钥, 工作区作用域, 日期) 派生一个单日 ID。服务端收到后还会再做一次 HMAC,因此连收集方也无法判断两天——或两个工作区——来自同一台机器。不存在安装 ID、用户 ID、持久工作区 ID,也无法从收集到的数据重建你的活动时间线。

控制方式(CLI)

bash
pd telemetry status    # 同意状态、门控、资格、最近导出状态
pd telemetry preview   # 显示将被发送的确切载荷——不会发送任何内容
pd telemetry enable --confirm    # 参与遥测
pd telemetry disable --confirm   # 退出并删除本地匿名身份
pd telemetry reset --confirm     # 轮换匿名身份

pd telemetry preview 会打印确切的外发载荷并附 "Preview only. Nothing was sent." 提示——参与之前可以先检查到底什么会离开你的机器。

企业 / CI 强制关闭

设置环境变量 PD_TELEMETRY_DISABLED=1。它的优先级高于任何本地设置。此外 CI、测试和开发环境会被自动抑制——它们永远不会发送产品遥测。

保留期限与传输元数据

PD 执行 90 天遥测保留策略:超过保留窗口的记录由定时清理任务删除,写入时的清理作为额外保障。(删除按策略周期执行,不承诺精确到秒。)

传输防滥用说明:Cloudflare 提供交付请求所需的来源网络信息。PD 的收集端可能会临时使用来源 IP 派生一个带密钥的、短时效的防滥用令牌(约一小时过期的限流键)。原始 IP 不会存入产品遥测、不会写入产品数据库、不会出现在日志或响应中,防滥用令牌会自动过期。 不会读取 User-Agent 或其他请求头。

你应当知道的局限

遥测是自愿参与的,因此数字只代表提交了匿名快照的参与工作区——绝不是全体 PD 用户,也不是任何经过验证的计数。里程碑取值是保守的观察结果而非断言:"观察到 effect 回执"表示某次治理机制影响了某次执行,不代表你的 Agent 永久改善了。