<!-- Capcat 文档「托管数据与隐私」的 Markdown 版本（对应页面 https://capcat.ai/cn/guide/privacy.html）。全部文档索引：https://capcat.ai/llms.txt -->

# 托管数据与隐私

本页说明 `capcat.ai` 托管服务的数据处理。自托管版本由部署者自行运营；除非部署者显式接入 Capcat 托管服务，否则不会把数据发送给 Capcat。

## 默认验证

Capcat 使用签名的一次性计算 challenge 和浏览器环境校验来验证每次请求。Widget 不使用广告 Cookie，也不建立跨站广告身份。托管服务仍需处理正常 HTTP 请求数据来提供服务与防止滥用，因此“无广告追踪”不等于“完全不处理安全数据”。这包括验证请求是怎么到达我们的：网络边缘报告的 HTTP 协议与 TLS 参数、往返时延，以及请求带了哪些请求头（只看名字，不看取值）。为识别滥用，这些信息会被归成粗粒度类别（例如“HTTP/2、TLS 1.3、Chrome 形态的请求头”）并按小时计数；不保留 TLS 握手的原始值。

## 可选 Account Defense

Account Defense 默认关闭；只有站点所有者配置和 Capcat operator rollout gate 同时对同一个精确 site 放行后才运行。采集授权写入签名 challenge policy，页面脚本不能自行开启。

启用后，Widget 最多在 page-scoped 的 15 秒窗口内处理 128 个样本，只上传输入 modality、activation、focus/visibility 状态、运动/时间直方图和样本数等有界聚合。原始 pointer 坐标和原始事件序列只存在浏览器内存中，并在 redeem、reset、disconnect 或 timeout 后清理。

托管 Worker 还可能生成粗粒度网络/协议类别和短窗口 velocity。原始 IP 只在请求内用于生成 keyed pseudonym；pseudonym 每日轮换，只保存在 per-site coordinator 中，不会返回给其他客户。Account Defense 不会把原始 IP、完整 UA、原始 behavior payload、token 或 pseudonymous ID 写入小时聚合表或客户 verdict。

## 留存与输出

| 数据 | 运行期留存 | 说明 |
| --- | --- | --- |
| 浏览器内原始样本 | 当前有界采集窗口 | 不以坐标或事件序列形式上传 |
| 绑定 verification token 的 risk metadata | 配置的 token 生命周期（新站 5 分钟；2026 年 11 月之前创建的站点 20 分钟） | 一次性核销或过期后删除 |
| 绑定 verification token 的 token context（解题时间、页面域名、/24 或 /64 网段前缀的 keyed 摘要、网络 ASN、粗粒度浏览器类别与版本） | token 生命周期 | 不返回给浏览器；保留到 token 过期，以便应答重试的校验请求。不含原始 IP 或完整 UA |
| per-site 轮换 network/cohort pseudonym 与 velocity event | 20 分钟 | 每日 key epoch；不提供跨租户查询 |
| 低基数 `risk_hourly` 聚合 | 30 天 | 有界 scheduled cleanup；不含事件或用户标识 |
| 连接与请求头类别的小时计数（粗粒度浏览器类别与版本、协议/TLS 类别、请求头形态摘要、一致性标记） | 35 天 | 按站点、按小时计数，行数有上限；不含 IP、完整 UA、请求头取值或逐请求记录 |

事件级 assessment/feedback 数据集与 ML 训练 cohort 是独立且默认关闭的能力。开始采集前必须有明确批准的 cohort，以及单独的用途、权限、留存和删除约定。普通 Account Defense 流量不会被静默当成 ML 训练标签。

浏览器只拿到 opaque verification token。站点选择 score mode 后，只有通过 secret 鉴权的后端才能收到 versioned `risk_*` verdict，其中包括 `0..100` 风险指数、粗粒度 reason code、model version 和 signal coverage；响应不包含其他租户数据或原始标识。

## 组件角标的来源信息

组件角落的 Capcat 角标链接到 `capcat.ai`，点击时会附带嵌入页面的 origin（例如 `https://example.com`，不含完整 URL 或路径），用于归因。若不希望传递，在 `cap.js` 加载前设置 `window.CAP_DISABLE_WIDGET_REF = true`，链接就不再携带 origin。付费套餐可以完全隐藏角标（见[隐藏角标](https://capcat.ai/cn/guide/widget.md#隐藏角标-付费套餐)）。仅加载组件不会发送任何来源信息。

## 站点所有者的责任与控制

站点所有者应在自己的隐私说明中披露托管验证及已启用的 Account Defense 处理，根据用户和适用地区选择合适的法律基础，并提供当地要求的用户权利入口。behavior、edge、realtime、score exposure 与 managed enforcement 可以分别关闭。关闭 enforcement 不要求删除兼容 reader；在途一次性 token 仍受自身过期时间限制。

具体接入行为见[防护能力](https://capcat.ai/cn/guide/protection.md)和[服务端验证 API](https://capcat.ai/cn/guide/siteverify.md)。
