匿名遥测(隐私说明)
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)
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 永久改善了。