← getwingman.dev

数据与隐私:收集什么、不收集什么

这一页就是 Wingman 的完整数据清单 —— 什么留在本机、什么会发送、何时处理、是否存储。增减任何字段都会先改这一页。

总览

Wingman 的面板与你的配置数据都在本机:本地服务只绑 127.0.0.1,面板在你自己的浏览器里打开。没有自动遥测;license 会按下述规则自动续期,其余远端流程的触发条件分别列明:

Wingman 读取项目根 .wingman/plan.md 来显示项目计划树。该文件只读、只在本机;完整计划和项目路径不上传,也不进入样本分享、反馈表单或支持邮件。主动配对手机后,仅下文列出的事实经加密同步:目标、当前步骤,以及在手机 App 支持时的顶层里程碑摘要(最多 12 条里程碑的文字与状态、完成数);其余子步骤与验收行不同步——「当前步骤」可能正是某个子步骤的文字,会话标题也可能取自会话所在的步骤。

仅在用户主动运行 wingman protocol install 时,Wingman 才写入 Plan Protocol。项目级目标是 .claude/rules/wingman-plan-protocol.md(Claude Code)或项目根 AGENTS.md(Codex 与 dsh 共用);明确指定 --user 才写用户级 ~/.claude/CLAUDE.md(Claude Code)或 ~/.codex/AGENTS.md(Codex)。dsh 没有用户级指令文件,继续按项目安装。

用户级安装使用独立的 <!-- >>> wingman plan protocol user v1 >>> --> / <!-- <<< wingman plan protocol user <<< --> 受管块,保留块前后的内容。每次改写前将原文件备份到 ~/.wingman/backups/<ts>/,恢复状态只存本机 ~/.wingman/state/。运行对应的 wingman protocol uninstall(用户级加 --user)可撤销:安装后原文件未改时逐字节恢复安装前内容,原先不存在则恢复为不存在;块外后续用户改动会被保留。未知格式、残缺标记或被修改的受管块拒绝写入。

用户级协议一次安装供该 Harness 的所有项目会话读取,要求 Agent 只为多步任务维护 .wingman/plan.md,单轮问答不写。项目根取当前工作目录所在的最近 git 根,没有 git 时用当前目录;当前目录为用户家目录时不创建计划文件。Agent 是否遵守以实际计划文件为准,Wingman 自身仍只读该计划文件。

用户整理任务卡时,Wingman 会在本机写 ~/.wingman/state/task-overlay.json,只保存会话标识、用户自填标题与置顶/隐藏标记;不修改 Agent,不保存原始 prompt、输出或其他会话内容,也不外发。

Codex 钩子有候选实例但探测或投递失败时,会在本机追加 ~/.wingman/state/hook-forward.log,只含时刻、钩子事件名、目标端口与失败原因;不含载荷、工作目录、记录路径或指令文本,也不外发。没有候选实例时不写日志;单份上限 256 KB,超过后轮转为 hook-forward.log.1,仅保留一份旧日志;卸载 Codex hook 时两份均删除。

Wingman 记住曾有会话的项目时,会在本机写 ~/.wingman/state/projects.json,只保存项目根路径、最近见到时刻、出现过的工具与是否有计划文件;不保存计划内容或会话内容,也不外发。没有会话的项目,有计划文件或最近 14 天内有过会话才显示;你也可以选择「忘记这个项目」移除本机记忆,不删除项目或工具文件。写入前会保留备份;从 v1 首次迁移写入时另保留一次原文件备份。

你在「控制」中选择回跳应用时,Wingman 会在本机写 ~/.wingman/state/settings.json,只保存格式版本与用户选择的应用 bundlePath;覆盖前备份原文件,不保存会话内容,也不外发。

原始卡号与 CVC 只由 Stripe 托管的 Checkout 处理。Wingman Worker 会短暂收到 Stripe 返回的完整 Checkout Session / Subscription 对象,但代码只读取邮箱、订阅 ID、Price ID、订阅状态与当前周期结束时间;其他返回字段不使用,上述响应也不在 Wingman 服务端存储。License 服务不建立 Wingman 用户档案;Stripe 保留其自身的付款与订阅记录。站主可能用 Stripe 记录的邮箱联系你:试用或订阅相关的必要通知(到期、账单、安全),以及偶尔的产品更新与社群邀请;回信说一声即可退订,之后不再发送。签名后的 license.json 含邮箱、订阅 ID、plan、签发时间与到期时间,由你下载并保存在本机。配置文件内容、会话内容、路径永远不会被自动上传;0.4.2 起也没有任何自动统计(沿革见下节)。

为限制每条订阅最多 3 台设备,签发端在 Cloudflare KV 保存订阅号、设备指纹哈希、可选设备名、首次登记时刻与最近续期时刻,续期时确认订阅失效即删除;设备记录不含邮箱与 IP。每日自动续期和手动刷新发送设备指纹哈希,不发送设备名。设备名(主机短名)只在显式激活时发送,即导入 license 或点击「激活本机」时与指纹哈希一起发送。本机计算的指纹不在本机额外落盘;续期返回的签名 license 含设备绑定字段。带设备绑定的凭证每次有效期不超过 30 天,也不超过订阅周期结束。解绑后保留被吊销的设备指纹哈希,防止自动续期重新登记;只有在那台机器上重新导入 license 或点击「激活本机」,且仍有名额时,才移除吊销标记并恢复激活。

解绑请求会发送本机设备指纹哈希,用于核对当前 license 的设备绑定,不发送设备名。

匿名使用统计 —— 已拆除(0.4.2 起)

现状

0.4.2 起,Wingman 不发送任何自动统计。曾经的「第一层」(2026-08-26 至 2026-08-29,随 0.3.0–0.4.0 发布)会自动发送一份白名单字段;如实记录:那些数据在服务端从未被存储(统计引擎一直未启用,收到即弃)。旧版本升级到 0.4.2 即彻底停发。

将来如果恢复统计,只会以默认关闭的 opt-in 形式出现,并在生效前把字段全量公示在本页。

未配对手机时,Wingman 产品不会自动附加

License 的设备指纹哈希用于上述自动续期与解绑鉴权;设备名只在显式激活时发送。这些授权字段不属于已拆除的使用统计。

NEVER
  • 任何配置文件内容、prompt、会话内容
  • 任何文件路径、项目名、用户名
  • 任何用于使用统计的用户 ID、设备 ID、指纹或随机安装标识
  • IP 地址 —— Wingman 自有产品服务端不记录、不存储请求来源 IP;用户打开第三方表单或发送邮件时,Tally、Resend、Cloudflare 或 Gmail 可能按各自政策处理连接或邮件头信息
主动配对 · 端到端加密

手机配对

点「配对手机」前不向中转发出任何请求。点击后 Mac 向中转登记一个随机配对标识与发布 token,并每 5 秒查询是否已扫码;二维码关闭后停止查询。扫码前不上传任何任务内容;取消或 24 小时未扫码自动删除。仅试用/订阅可配对;授权到期后暂停同步与查询,仍可查看和解除已有配对。不做账号。一部手机同一时间只配一台 Mac,一台 Mac 可配多部手机。二维码传递设备密钥,密钥不发给中转。

快照只含项目名与目标、当前步骤、会话标题、四态状态、等待事由与时刻、最近活动时刻,以及每个会话所属工具(Claude Code / Codex / dsh)、每个项目的工具集合、项目最近活动时刻、会话的工作树显示名(非完整路径)、不含路径的项目/会话标识、工具接线状态和快照时刻;手机 App 声明支持时,另含每个项目的计划摘要:未放弃的顶层里程碑的完成数与总数,以及最多 12 条里程碑的文字(不超过 80 个字符,本机路径照样替换)、状态与是否含当前步骤。不上传 prompt 正文、工具输出、license 或用量,快照里也没有完整路径字段;上述文字里出现的项目路径与主目录路径会替换为 [path],你自己写进目标、计划或标题里的其它路径文字会原样同步。等待、回合结束及等待满 60 秒提醒的标题为「项目名 · 工具名」,另含事由、会话标识和通知种类。

Mac 用 HKDF-SHA256 派生密钥、AES-256-GCM 加密快照与通知,中转只见密文;手机在本机解密。中转还处理随机配对标识、发布/订阅 token、版本号、通知种类,以及手机主动提供的设备名称和推送 token,不持有解密密钥。

~/.wingman/state/mobile.json 只保存格式版本、配对标识、中转地址、可选设备名称、配对、订阅确认与最近同步时刻;密钥与发布 token 只存 macOS 钥匙串。钥匙串读取失败时显示钥匙串不可用并暂停发送,保留配对状态,60 秒后重试。

中转只保留最新一份密文快照和未投递通知,24 小时无上传自动清除,通知在 24 小时内有限重试。解除配对立即停止上传并删除中转中的配对、快照与待投递通知,同时删除 Mac 配对记录与钥匙串项;手机解除也删除该配对的数据。

若中转删除失败,Mac 保持停止上传并提示重试;~/.wingman/state/mobile-revocations/ 保存不含密钥的撤销标记,配对记录与钥匙串保留到删除成功,重启不会恢复上传。

若钥匙串中的发布 token 已丢失,Mac 只能移除本地配对记录并停止发送;中转数据在 24 小时无上传后自动清除。

~/.wingman/state/mobile-deliveries/ 只保存已发送通知的去重 hash 与格式版本,避免重启后重复提醒,不含通知正文或密钥;解除配对时删除。

内容样本(仅逐次主动分享)

是什么

面板里有两个分享入口:CONTEXT 区的「分享配置样本」(当前 harness 的扫描结果 JSON)、实况区的「分享事件样本」(当前事件流)。分享样本帮助 Wingman 适配更多真实环境 —— 这是它唯一的用途。

流程(铁律)

传输与存储

反馈与支持

当前状态

Tally Free 私密表单与 Resend Free 支持邮件路径已用合成内容完成外部配置验收。Tally 已启用 2FA,并关闭 integration、webhook、submission notification 与 partial submissions;支持邮箱已验证收件、通知、support 身份回复与失败恢复。产品入口只在对应代码部署后出现,且不会在页面加载、应用启动或后台事件中联系表单服务。

私密 Bug / Feature 反馈

支持邮件

根域 MX 让 Resend 在 SMTP 层接收发往任意 @getwingman.dev 地址的邮件,并非只在 SMTP 层接收 support。隔离的 Cloudflare support-mail Worker 验证 Resend 签名后只处理精确的 support@getwingman.dev。Worker 在内存中瞬时接收 Resend Receiving API 返回的完整邮件记录(包括地址、headers、HTML、纯文本、raw 下载地址元数据与附件元数据),代码只使用发件人、主题、纯文本正文与是否存在附件;不会请求 raw 或附件下载地址。随后 Worker 经 Resend 通知 Gmail;其他收件地址不通知、不建 Issue,但其接收记录仍受 Resend 留存政策约束。Resend 处理原始来信、Worker 发往 Gmail 的通知,以及站主通过 Resend SMTP 发出的 support 回复;Gmail 保存通知与回复副本。附件不会自动转发,Worker 不把邮件内容写入数据库、样本 KV 或敏感日志。请勿发送密钥、完整 license 或其他不必要的敏感内容。

提交之后:人工分诊、工作空间与 AI 辅助

反馈提交后由维护者人工分诊,没有自动管线:没有程序会自动读取反馈库、自动调用 AI 或自动发送用户内容。分诊时维护者可能使用两种工具,它们是不同的环节,分别说明:

最小化原则:优先使用经人工检查的必要摘要,能用摘要就不用全文;反馈内容只用于理解和修复问题,不作为营销引用;本次修订也不构成对历史反馈的追溯授权。

隐私或删除请求

想知道自己的反馈是否被记录、要求更正或删除,写信到 support@getwingman.dev,注明提交的大致时间与反馈标题。维护者会在表单、邮件、工作空间与开发条目里查找并处理;各服务商的备份与留存周期见下表,本页不承诺即时的物理删除。

处理者、留存与删除

已验证边界

2026-08-31 已完成 Tally 合成提交、单图限制、删除并立即 Empty trash、文件不可再访问,以及 Resend 域名、签名 webhook、外部邮箱收信/回信、失败恢复和附件不自动转发验收。每次发布仍须按实际账号套餐和服务商政策复核本页;处理者、字段或留存变化必须先更新数据声明。

变更记录

只记对用户数据有影响的变化;文案整理不记。

变更记录(7 条)
  • 2026-09-19 —— 手机快照将可包含项目计划摘要(顶层里程碑的文字与状态,最多 12 条,以及完成数),仅发给声明支持的手机 App;中转另保存手机声明的能力标签。完整计划与验收行仍不上传;子步骤里只有作为「当前步骤」显示的那一条会同步(此前已是如此)。本说明先于功能上线。
  • 2026-09-12 —— 手机快照增加项目工具集合、项目最近活动时刻与工作树显示名;均在主动扫码配对后端到端加密同步,不上传完整路径。新增 Codex 钩子投递本机元数据日志,只含时刻、事件名、端口与原因,256 KB 轮转,卸载 hook 时删除。
  • 2026-09-09 —— 新增手机配对:主动登记、端到端加密同步与推送;仅试用/订阅可配对,披露上传字段、中转与 APNs 处理者、24 小时保留和解除删除边界。
  • 2026-09-09 —— 新增一条邮箱用途:站主可能用 Stripe 记录的邮箱联系试用/订阅用户(必要通知,以及偶尔的产品更新与社群邀请),回信即可退订。客户端采集、样本、表单与邮件配置均未变。
  • 2026-09-07 —— 页面改名为「数据与隐私」;补充反馈提交后的人工分诊、维护者工作空间与 AI 辅助处理的边界、最小化原则与隐私/删除请求方式。客户端采集、样本、表单与邮件配置均未变。
  • 2026-08-29 —— 拆除匿名统计:0.4.2 起客户端停止发送自动统计(此前那些数据在服务端本就未被存储);产品数据口径改为「仅主动分享样本」,license 激活/刷新时必要的账单验证字段(邮箱与订阅 ID)单独列明。
  • 2026-08-26 —— 原「零遥测」承诺调整为双层模型(仓库 FREEZE.md 同步记录了这次解冻);在此之前的版本不发送任何数据。

本页是数据口径的单一事实源:任何字段增减、时机变化,都会先更新本页再发版。