Wipecraft 隐私说明
本页为译文,以英文版本为准。(The English version applies.)
页面:wipecraft.app/privacy/zh-Hans · 适用于:macOS 版 Wipecraft 1.x · 最后更新:2026-10-29
Wipecraft 读取你的磁盘,以显示哪些内容占用了空间。Wipecraft 不会把它读取的任何内容发送到任何地方。它与其他程序联系的唯一途径,是你自己连接的编程智能体,且通过你 Mac 上的本地连接进行(参见“命令行工具和 Claude Code 插件”和“编程智能体(MCP)”)。本页列出了 App 发起的每一个网络请求、每个请求携带的内容,以及如何移除 Wipecraft 存储的所有内容。
简要说明
- 无需账户。没有遥测。不收集使用情况分析数据。
- Wipecraft 不会把任何文件名、路径或扫描结果发送到任何地方。你连接的编程智能体是唯一的例外,且由你决定:它会在你的 Mac 上从 Wipecraft 接收扫描结果。
- App 只为两件事发起网络请求:你的许可证和更新检查。
- 另有一项可选检查通过你自己的 GitHub CLI(
gh)进行,仅在你已安装并登录gh时进行。它默认开启,你可以在“设置”中关闭它。参见第 6 节。 - 崩溃报告默认关闭。如果你开启它,只有在 App 崩溃时才会发送到 Sentry(欧盟区域),且不含文件名或路径。参见第 5 节。
- 你连接的编程智能体可以通过你 Mac 上的本地连接读取扫描结果(标题、路径和大小)。除非你在 “设置 > 智能体”中开启,否则它们无法进行清理。由云服务支持的智能体可能会把收到的内容发送给其提供方,受该提供方的条款约束。参见下文“编程智能体(MCP)”。
wipecraft命令行工具和 Claude Code 插件自身不发起任何网络请求。唯一可能经由它们发出的请求是第 6 节中可选的gh检查,且仅在 App 中的相应设置开启时发生。
哪些内容会离开你的 Mac,以及何时离开
1. 激活许可证
| 何时 | 你输入许可证密钥并选择“激活”时。 |
|---|---|
| 发送至 | Polar,api.polar.sh(我们的付款和许可证服务商)。 |
| 发送内容 | 许可证密钥、我们在 Polar 的卖家 ID(组织 ID),以及此次激活的标签:你的 Mac 名称,即“系统设置 > 通用 > 共享”中设置的名称。如果名称为空,标签为“Wipecraft”。Polar 会将该标签与激活记录一起存储,便于你区分 2 次激活。与任何网络请求一样,它也会向 Polar 显示你的 IP 地址和用户代理。 |
| 返回内容 | 密钥是否有效,以及一个激活 ID,Wipecraft 会将其保存在你的钥匙串中。 |
| 需要你主动选择 | 是。在你激活密钥之前不会发送任何内容。 |
2. 检查许可证
| 何时 | 每次 Wipecraft 打开时检查一次,仅当此 Mac 上有已激活的许可证时进行。 |
|---|---|
| 发送至 | Polar,api.polar.sh。 |
| 发送内容 | 许可证密钥、我们在 Polar 的卖家 ID(组织 ID)和激活 ID。与任何网络请求一样,它也会向 Polar 显示你的 IP 地址和用户代理。 |
| 返回内容 | 许可证是否仍然有效,或是否已退款或被撤销。 |
| 需要你主动选择 | 是。只有在你激活许可证之后才会进行。如果检查失败(例如离线),一切照常工作。 |
3. 从 Mac 上移除许可证
| 何时 | 你在“设置 > 许可证”中选择“从此 Mac 移除”时。此外,当你在此 Mac 上激活另一个密钥时,旧的激活会被释放。如果释放失败(例如离线),Wipecraft 会在下次打开时重试。 |
|---|---|
| 发送至 | Polar,api.polar.sh。 |
| 发送内容 | 许可证密钥、我们在 Polar 的卖家 ID(组织 ID)和激活 ID。与任何网络请求一样,它也会向 Polar 显示你的 IP 地址和用户代理。 |
| 需要你主动选择 | 是。 |
4. 检查更新
| 何时 | 你选择“检查更新…”时。只有在你允许的情况下才会自动检查:更新程序(Sparkle)会询问一次是否自动检查。 |
|---|---|
| 发送至 | 位于 updates.blitzcortex.com 的更新源。 |
| 发送内容 | 一个获取更新源的标准网络请求。与任何网络请求一样,它会显示你的 IP 地址,以及包含 App 名称和版本的用户代理。Sparkle 的系统概况功能已关闭,因此不会附加任何硬件或系统信息。 |
| 返回内容 | 可用版本的列表。如果你安装其中一个版本,更新文件会从更新源列出的地址下载,并在安装前校验其签名。 |
| 需要你主动选择 | 手动检查:是。自动检查:仅当你对更新程序的询问回答“是”时。 |
5. 崩溃报告(默认关闭)
| 何时 | 仅当你在“设置 > 隐私”中开启“发送崩溃报告”时。它默认关闭,在你开启之前不会发送、加载或启动任何内容。关闭后即停止。 |
|---|---|
| 发送至 | Sentry(sentry.io),其欧盟数据区域(德国)。 |
| 发送内容 | App 崩溃时:崩溃类型和消息、堆栈跟踪、App 版本和构建号、macOS 版本、设备型号和架构、可用内存和磁盘空间,以及 App 的安装路径(其中你的用户名被替换为“_”)。在任何内容离开你的 Mac 之前,消息、异常文本、标签和附加数据中的每个文件路径都会被替换为“<path>”;堆栈帧和二进制文件路径中的用户名会被移除。与任何网络请求一样,它会显示你的 IP 地址。 |
| 不发送的内容 | 文件名、文件夹名、扫描结果、许可证密钥、Mac 名称、使用情况或会话数据、breadcrumb、性能或 App 无响应数据、MetricKit 数据。SDK 中的“发送默认个人数据”(sendDefaultPii)已关闭。 |
| 需要你主动选择 | 是。在你开启之前保持关闭;“设置”中显示“发送不含文件名或路径的崩溃详细信息。默认关闭。” |
6. GitHub 合并检查(你自己的 gh 登录)
| 何时 | 扫描期间,针对提交不在主分支或远程仓库上的 worktree,且仅当其仓库的 origin 位于 github.com 上时进行。在你移除这样的 worktree 之前,会再运行一次同样的检查;如果不再找到已合并的 pull request,则不会移除任何内容。 |
|---|---|
| 前提条件 | GitHub CLI(gh)安装在 /opt/homebrew/bin 或 /usr/local/bin 中,你已用它登录 github.com,并且“设置 > 隐私”中的“在 GitHub 上检查已合并的 pull request”已开启(默认:开启)。只要缺少其中任何一项,就不会发出任何查询,也不会显示任何内容。 |
| 发送至 | GitHub,由 gh 使用你自己的登录发送。Wipecraft 本身不发送任何内容,也不持有任何 GitHub 令牌。 |
| 发送内容 | Wipecraft 通过你自己的 gh 登录向 GitHub 查询的是分支名称和提交 ID;除此之外没有任何内容离开此 Mac。实际上,gh 会发送仓库名称(owner/name,取自 origin)和分支名称,Wipecraft 在你的 Mac 上将 worktree 的提交 ID 与返回结果进行比较。会运行两个只读命令:gh auth status --hostname github.com 和 gh pr list --state merged。不会在 GitHub 上创建、更改或发布任何内容。 |
| 返回内容 | 该分支已合并 pull request 的编号和 head 提交 ID。Wipecraft 只用它们来识别经过 squash 合并的分支,使其 worktree 不会因“提交不在主分支或远程仓库上”而被锁定。其他所有锁定保持不变。 |
| 限制 | 每次调用在 5 秒后停止。超时或出错均视为“未合并”,不显示任何内容。 |
| 需要你主动选择 | 默认开启。可在“设置 > 隐私”中关闭;关闭后,gh 永远不会运行。 |
购买
购买时,你在浏览器中使用 Polar 的结账页面,而不是在 App 中。Polar 是交易的法定销售方(merchant of record):它负责付款、税费和退款。我们通过 Polar 收到你的电子邮件地址和订单详情,以便向你发送许可证并处理退款。结账过程适用 Polar 自己的隐私政策。
命令行工具和 Claude Code 插件
wipecraft 命令是 App 内的一个普通程序(Contents/Helpers)。它以你自己的权限运行,不运行管理员命令,自身也不发起任何网络请求。
- 读取的内容。 与 App 相同的文件夹和只读工具命令。它还会从 App 的偏好设置中读取 App 的设置(扫描选项和两个智能体开关),且只读取不写入。scan 或 status 不创建任何文件,也不更改任何文件。
- 许可证。
wipecraft clean(无论是否带--apply)会从钥匙串读取你的许可证。macOS 可能会请你允许此操作。如果你拒绝,该命令会按没有已激活许可证的情况处理。扫描不会读取它。 - 写入的内容。 仅当你运行
wipecraft clean --apply或wipecraft quarantine restore时:与 App 相同的隔离区、归档和删除日志文件,以及下文所述的锁定文件。 对应 App 会重新创建的缓存、日志和临时文件会不经过隔离区而被直接移除。这类项目只在删除日志中留下一条记录,无法恢复。对 worktree 运行clean --apply时,会先把被忽略且不属于构建产物的文件移到隔离区,然后运行git worktree remove;文件夹中的构建产物会被删除,而不是移到隔离区。 - GitHub 检查。 scan、status 或 clean 遵循 App 中第 6 节所述检查的设置。
--no-github可在单次运行中关闭它。
Claude Code 插件是可选的,Wipecraft 不会安装它。安装后,Claude Code 会运行两个调用 wipecraft 的脚本:
- 会话开始时(SessionStart),如果脚本有一份不超过 24 小时的摘要,它会在会话中输出一行,例如 “可释放 30 GB(模拟器 21 GB,Worktree 9 GB)”。这一行包含一个总计和不超过三个来源名称及其大小,不含路径。它不会等待扫描。如果摘要已超过一小时,它会在后台以低优先级启动
wipecraft status --brief --no-github --min-reclaimable 1GB,并将一行结果保存到~/Library/Caches/wipecraft/session-brief.txt;如果$XDG_CACHE_HOME被设为绝对路径,则保存到$XDG_CACHE_HOME/wipecraft/。刷新期间,旁边会有一个名为refresh.lock的文件夹。--no-github意味着此脚本从不调用gh。 - 会话结束时(SessionEnd),如果位于某个链接的 git worktree 中,脚本会运行
wipecraft scan --json --source worktrees,在你的 Mac 上用jq或python3读取结果,并在终端中输出一行关于该 worktree 的信息。在主仓库中它不运行任何内容。 - 整理会话结束后的 worktree 默认关闭,除非你在“设置 > 智能体”中开启“Claude Code 会话结束后整理已完成的 worktree”。脚本通过
wipecraft config get claudeAutoTidy读取该开关。开启后,一个后台任务会在短暂延迟后运行wipecraft clean <worktree id> --apply,经过与该命令相同的检查。 - 除上述缓存文件夹外,这些脚本自身不写入任何内容。整理任务中的
wipecraft clean只写入“Wipecraft 在你的 Mac 上存储的内容”中列出的位置。如果wipecraft不在你的 PATH 中,脚本不做任何事。 - 会话结束时的扫描遵循 App 的 GitHub 设置,因此当该设置开启时,
gh可能会在此运行。
插件的两个命令通过 Claude Code 运行 wipecraft。/wipecraft:status 运行 wipecraft scan --json;Claude 读取结果(其中包括文件夹路径),这些结果会作为你对话的一部分发送给 Claude 的提供方。会话开始时输出的那一行也以同样方式进入会话。/wipecraft:tidy 先显示试运行结果,只有在你于对话中回答同意后才运行 --apply。
编程智能体(MCP)
wipecraft mcp 是一个命令,Claude Code、Codex 和 Cursor 等编程智能体可以在你的 Mac 上启动它。它与 Wipecraft 的 Contents/Helpers 文件夹中的命令行工具是同一个程序。
- 它只通过标准输入和输出与启动它的智能体通信。它的源代码不包含网络连接,也不包含监听端口,因此它自身不发起任何网络请求。(如果可选的
gh检查已开启,它运行的扫描可能会启动gh,如第 6 节所述。) - 它默认只读。智能体可以查询可释放的内容、列出和解释项目,以及查看隔离区中的内容。这些请求不会更改任何内容,也不会创建任何文件或文件夹。
- 清理需要两个条件:在“设置 > 智能体”中开启“允许智能体通过 MCP 清理”(默认:关闭),以及有效的许可证。对于智能体指定的每个 ID,清理执行与
wipecraft clean --apply相同的操作:对应 App 会重新创建的缓存、日志和临时文件会被直接移除且无法恢复,其他文件移到隔离区并保留 7 天,会话历史记录进入归档,已完成的 worktree 在其被忽略且不属于构建产物的文件移到隔离区之后,通过git worktree remove移除。工具说明会告诉智能体哪些项目无法恢复。标为“不可撤销”的操作会被拒绝。 clean_items每次调用时都会从钥匙串读取你的许可证,即使智能体只请求计划(apply: false)也是如此,因此 macOS 可能会在智能体启动的进程中请求权限。只读工具从不读取许可证。- 智能体启动的扫描遵循你的扫描设置,包括第 6 节中可选的 GitHub 检查。
- 你连接的智能体会通过这条本地连接接收扫描结果(标题、路径和大小)。Wipecraft 本身不向任何网络发送任何内容。由云服务支持的智能体(例如 Claude Code、Codex 或 Cursor)可能会把收到的内容发送给其提供方。这由你决定,并受该智能体自己的隐私条款约束,而不是本页。
Wipecraft 从不发送的内容
Wipecraft 不会把以下任何内容发送到任何地方。你连接的编程智能体会通过上文所述的本地连接接收扫描结果(标题、路径、大小);该智能体接下来如何处理,由你决定,并受其自身条款约束。
- 文件名和路径。
- 扫描结果:找到的内容、大小、日期、安全标签。
- 删除日志、隔离区和归档列表,以及监控历史。
- Wipecraft 测量、移动或归档的任何内容本身。
- 你的完全磁盘访问权限设置和其他偏好设置。
“监控”发出的通知是本地 macOS 通知,不经过任何服务器。
本地日志
- 删除日志。 Wipecraft 执行的每项操作都会记录在你的 Mac 上:时间、哪个项目、其标题、其大小、操作类型(隔离、归档、直接移除或工具命令),以及是否不可撤销。它从不发送到任何地方。在“设置”中选择“导出删除日志…” 可将其保存为 CSV 文件,位置由你选择。
- macOS 系统日志。 当监控检查失败时,Wipecraft 会将错误类型和代码写入 macOS 统一日志,不含文件名或路径。该日志与其他所有 App 的日志一样,保留在你的 Mac 上。
Wipecraft 在你的 Mac 上存储的内容
| 内容 | 位置 | 包含 |
|---|---|---|
| App 数据文件夹 | ~/Library/Application Support/Wipecraft/ | 下列文件。 |
| 隔离区列表 | …/Wipecraft/quarantine-manifest.json | 每个已隔离项目的原始位置,以便恢复。 |
| 归档列表和归档 | …/Wipecraft/archive-manifest.json、…/Wipecraft/Archives/ | 你归档的压缩会话历史记录,以及它们的来源位置。 |
| 删除日志 | …/Wipecraft/deletions.jsonl | 时间、项目、标题、大小、操作类型,以及是否不可撤销。可在“设置”中导出为 CSV。被直接移除的项目只会留下这一条记录。 |
| 监控历史 | …/Wipecraft/growth.jsonl、…/Wipecraft/alert-ledger.json | 每日检查得到的大小,以及哪些提醒已经发出。 |
| 操作锁 | …/Wipecraft/store-operation.lock | 一个锁定文件。它让 App 和 wipecraft 命令在移动文件时轮流进行。在第一次移动内容时创建。 |
| 插件摘要 | ~/Library/Caches/wipecraft/session-brief.txt,以及刷新期间的 refresh.lock 文件夹(如果 $XDG_CACHE_HOME 被设为绝对路径,则位于 $XDG_CACHE_HOME/wipecraft/ 下) | Claude Code 插件生成的一行内容:可释放的总量,以及不超过三个来源名称及其大小。仅在你安装了插件时存在。 |
| 隔离区文件夹 | 启动磁盘上的 ~/.Wipecraft-Quarantine/,以及你清理过的其他磁盘根目录下的 .Wipecraft-Quarantine | 你移除的文件中,对应 App 不会重新创建的部分,保留 7 天。 |
| 许可证 | 钥匙串项目 com.blitzcortex.wipecraft.license | 你的许可证密钥和激活信息。 |
| 偏好设置 | ~/Library/Preferences/com.blitzcortex.wipecraft.plist | 监控、开发者模式等设置。 |
| 更新程序数据 | ~/Library/Caches/com.blitzcortex.wipecraft/ | 更新下载内容(如有)。 |
| 网络存储 | ~/Library/HTTPStorages/com.blitzcortex.wipecraft/ | 由 macOS 为 App 的网络请求(许可证请求)创建。 |
| 窗口状态 | ~/Library/Saved Application State/com.blitzcortex.wipecraft.savedState/ | 由 macOS 为恢复窗口而创建。 |
如何移除所有内容
- 先处理隔离区和归档。 恢复你想保留的所有内容。归档中保存着你已归档的会话历史记录;一旦删除 Archives 文件夹,它们就无法找回。
- 释放许可证激活。 在“设置 > 许可证”中选择“从此 Mac 移除”。这会释放你 2 次激活中的一次。
- 关闭“登录时启动”(在“设置”中,如果你开启过)。如果你安装了 Claude Code 插件,请在 Claude Code 中移除它,并移除你为 Claude Code、Codex 或 Cursor 添加的 MCP 条目。如果你在
/usr/local/bin中创建过wipecraft链接,请删除它。 - 退出 Wipecraft:通过它的菜单,或通过菜单栏图标。
- 删除 App:从“应用程序”文件夹中删除。
- 删除其数据:
~/Library/Application Support/Wipecraft/~/.Wipecraft-Quarantine/,以及其他磁盘上的.Wipecraft-Quarantine。这些文件夹是隐藏的。在访达中按 Command-Shift-句点键即可显示它们。~/Library/Caches/com.blitzcortex.wipecraft/~/Library/Caches/wipecraft/(插件摘要,如果你使用过插件)~/Library/HTTPStorages/com.blitzcortex.wipecraft/~/Library/Saved Application State/com.blitzcortex.wipecraft.savedState/- 偏好设置:在“终端”中运行
defaults delete com.blitzcortex.wipecraft - 钥匙串项目
com.blitzcortex.wipecraft.license,在“钥匙串访问”中删除。
- 可选: 在“系统设置 > 隐私与安全性 > 完全磁盘访问权限”中移除 Wipecraft。
如需删除你的购买数据和激活标签,请写信到下方地址。
你的权利
你可以询问我们持有哪些关于你的个人数据,并要求我们更正或删除这些数据。我们持有的个人数据:
- 你的购买详情(电子邮件地址和订单详情),保存在 Polar;
- 你的许可证激活记录,保存在 Polar,包括其标签:你激活的 Mac 的名称,其中常常包含人名。
我们不在更新服务器上保留请求日志。托管更新文件的 Cloudflare 会按照其自身的隐私政策处理这些请求。
请写信到下方地址。你也可以向法国数据保护机构(CNIL)提出投诉。
联系方式
BlitzCortex — Berkay Turk EI,SIREN 103 051 652