每个自托管的 Kodus 实例每天向Documentation Index
Fetch the complete documentation index at: https://docs.kodus.io/llms.txt
Use this file to discover all available pages before exploring further.
https://telemetry.kodus.io 发送
一次匿名心跳。负载仅包含聚合计数器和运行时元数据 — 永远不包含
代码、身份信息或任何可以追溯到您或您的用户的内容。
本页准确记录了发送的内容、原因、存储位置以及如何关闭它。
我们发送的内容
每个 UTC 日一次POST /v1/heartbeat,约 700 字节。负载示例
(为清晰起见,UUID 已编辑):
400 拒绝。
我们永远不会发送的内容
按照设计,schema 不能包含:- 用户邮箱、姓名、OAuth 令牌、API 密钥
- 仓库名称、分支名称、PR 标题、提交消息、代码内容
- 任何客户标识字符串(组织 slug、工作区名称、自定义域名)
- IP 地址(receiver 仅出于滥用检测目的,使用每日轮换的 salt 对源 IP 进行哈希,从不持久化原始 IP)
- 任何自由文本字段
我们为什么收集这些
匿名心跳让我们能够回答其他方式无法回答的关于自托管用户的问题:- 哪些版本的 Kodus 仍在使用,新版本被采用的速度有多快
- 运维人员如何部署(Docker / Kubernetes / bare metal),以便我们优先 支持人们实际使用的平台
- Kody Rules 等功能是否触达自托管用户
- 流量信号(整个集群审查的 PR、连接的仓库)用于容量规划决策
检查您的实例将发送什么
在任何心跳离开您的实例之前,您可以输出每日 cron 将构建的精确负载:jq 管道来探索:
禁用遥测
在环境中设置KODUS_TELEMETRY_DISABLED=true。cron 会静默跳过 — 在您
将其改回之前,不会发送任何心跳。
1、true、yes、on。任何其他值
(包括空)都会保持遥测启用。
数据存放位置
- Receiver: 部署在
telemetry.kodus.io的小型 Node.js 服务 (Fastify)。源代码公开: kodustech/kodus-beacon。 - 存储: Neon Postgres,US 区域,静态加密,仅 TLS。两个表 —
telemetry_instances(每个实例一行,last seen + version)和telemetry_heartbeats(每个实例每个 UTC 日一行,负载存储为 JSONB)。 - 保留期: 单条心跳行保留 12 个月。之后,我们将计数器聚合为 历史统计(例如”2026 年 1 月活跃实例 X”)并删除每日行。实例行保留 — 它不携带时间序列,只有最新版本 + last seen 时间戳。
- 访问权限: 仅产品工程团队,通过带有审计的 Neon 个人凭证。数据 从不与第三方共享,也从不用于训练任何 AI 模型。
您可以审计的源代码
两端都是开源的,且足够小,可以从头到尾阅读:- 客户端(在您的实例上运行的部分):cron、收集器和 HTTP 传输位于
libs/telemetry/和apps/worker/src/cron/self-hosted-beacon.cron.ts。 - 服务端(在
telemetry.kodus.io上运行的部分):整个 receiver 是 约 80 行的 Fastify 路由 + 一个 Postgres upsert。参见 kodustech/kodus-beacon。