Codewhale 文档
版本事实最新发布 v0.9.12 · 2026年9月5日本站文档描述的是已发布的 v0.9.12。更新日志 →

安全与信任

这一页说明 Codewhale 如何处理你的代码、命令和数据——按实际实现来写,而不是按意图来写。每一条都取自仓库中的文档,事实门禁会在每次构建时核对。

你的数据去了哪里

本地 Runtime
Runtime、工作区状态和审计日志都留在你的机器上。
托管提供商
你选择的托管提供商会收到本轮推理所需的上下文。中间没有强制经过 Codewhale 的中继。
本地推理
回环地址的本地模型路由(vLLM、Ollama、SGLang)可以让推理完全留在本机。
账户
本地 Runtime 不需要账户。
Plan 模式
Plan 是只读的。

审批不是沙箱

审批姿态——Ask、Auto-Review、Full Access——决定一条被提议的命令在执行前是否先展示给你。某一层的批准从来不是全局放行:后面的层仍然可以要求审查或阻止调用,而且批准也不等于操作系统级的沙箱授权。完整的模型工具调用流水线有九个有序的层,从有效配置、钩子、类型化权限规则、仓库法则、人工审批,直到执行沙箱。

各平台的 OS 沙箱

这里只描述已接入命令执行路径的行为,Codewhale 会报告它实际选用的机制。

macOS — Seatbelt
sandbox-exec 的运行时探测成功时自动启用。报告为 macos-seatbelt
Linux — bubblewrap
需显式启用:prefer_bwrap = true 且 /usr/bin/bwrap 可执行。报告为 linux-bwrap
没有 bwrap 的 Linux
默认没有 OS 包装层。报告为 none
Windows
当前实现没有 OS 包装层。报告为 none
外部服务
sandbox_backend = "opensandbox" 会把执行路由到兼容 OpenSandbox 的服务。

仓库中还有一个 seccomp 模块和一份未来的 Windows 辅助程序契约。两者都没有接入子命令启动,所以 Codewhale 不会宣传它们:只存在于源码中的沙箱代码不能证明某条命令受到了限制。

遥测,精确到每一项

Codewhale 0.9.12 默认统计匿名使用量,并在首次启动时告知你;早先的 0.9.11 版本会先询问。关闭是会被后续版本保留的选择,在早先的自愿开启政策下记录的关闭也始终有效。显示告知绝不会代你记录任何同意;处理方为 Codewhale 和 PostHog。

永远不收集
对话、代码、prompt、文件、文件/仓库/分支名、模型内容、凭据,以及任何逐轮或逐工具的时间线。
开启时发送
版本与平台类别、会话时长与结果、功能与错误计数、封闭枚举,以及一个每 90 天轮换的随机安装 id。
端点
https://telemetry.codewhale.net/v1/telemetry——第一方 Cloudflare Worker,源码在仓库的 telemetry-ingest/ 目录下。
第一方存储
没有 IP、国家或地理位置列。不记录请求日志。保留期固定为三个月。
PostHog
可选转发需要运营方单独配置,并验证出口不会转发客户端 IP。PostHog 保留期由项目另行设置;源码支持不代表该处理方已启用。
自己审计
设置 telemetry_endpoint = "":批次会追加写入你机器上的 $CODEWHALE_HOME/telemetry/dryrun.jsonl,与服务器本应收到的内容逐字节一致,且不会构造任何 HTTP 客户端。
关闭
codewhale config set telemetry falseCODEWHALE_TELEMETRY=0

本地审计日志

敏感事件——凭证、审批和提权事件——会尽力追加写入 $CODEWHALE_HOME/audit.log。写入失败会被记录而不是隐藏。提供商的 token 与缓存用量在可用时会在本地显示。

报告安全漏洞

安全报告请通过邮件发给维护者,而不是提交公开 issue。请附上页眉中的版本号,如有复现步骤也请一并提供。

源文档:docs/SANDBOX.md、docs/AUTHORIZATION_ORDER.md、docs/TELEMETRY.md、docs/public-surface-facts.json · 修改时请同步更新 docs-map.ts。