Siftaway 绝不会碰什么,以及为什么

一个清理工具值不值得信任,看的是它拒绝做什么。这一页是完整的安全模型,按检查的执行顺序写。

1. 默认什么都不能删

大多数清理工具默认「能删」,再用一份危险路径黑名单兜底。黑名单永远列不全,漏掉的那一条就是一次数据丢失。Siftaway 反过来:只有公开规则明确写出的路径才会被处理。

一共 73 条清理规则和 9 条保护规则,全部 82 条连同路径都列在规则页。没有「清理任意文件夹」这个功能。

拒绝永远是整体的。一个目录没通过检查,Siftaway 不会「缩小成只删里面一个子目录」,而是整项不动并告诉你原因。部分执行意味着你以为删了 A、实际动了 B,这比不删更糟。

2. 永不删除清单

这一层无论规则怎么写都不放行。就算规则写错了,甚至规则库被恶意替换,这一层仍然拦得住。

位置为什么不能碰
~/.ssh ~/.gnupg ~/.aws ~/.kube ~/.docker/config.json ~/.local/share/keyrings凭据。删了不是「重新下载」能解决的。
~/Documents ~/Desktop ~/Pictures ~/Movies ~/Music你自己的文件,不是缓存。
~/Library/Keychains钥匙串。
~/Library/Mobile Documents ~/Library/Group ContainersiCloud 会把本地删除同步到云端,这里不存在安全的「只删本地副本」。
~/Library/Mail ~/Library/Messages ~/Library/Safari ~/Library/Accounts ~/Library/Cookies ~/Library/Preferences邮件、信息、登录态、书签、设置。
~/Library/Application Support/MobileSynciPhone 本地备份,往往是唯一副本。
~/.ollama/models ~/.lmstudio/models ~/.cache/huggingface ~/.cache/torch ~/.cache/whisper ~/.cache/tensorflow ~/.cache/wandb模型权重。动辄几十 GB 且下载极慢,「重建代价高」在这里等同于不可替代。
~/.cache/pypoetry/virtualenvs虚拟环境里可能有你手改过的包。
/System /usr /bin /sbin /etc /Library/Keychains /Library/Extensions /Library/LaunchDaemons /Library/LaunchAgents /Applications /Volumes操作系统、已安装的应用,以及其他磁盘。
/usr/local /opt/homebrewHomebrew 的地盘,清理它是 brew cleanup 的事。
家目录本身,以及它的任何一级子目录整体~/Library、~/Downloads 这种粒度太粗,下面混着什么都可能。目标至少要再深一级。

以下情况同样拒绝:相对路径、含 .. 或控制字符、沿途任何一级是符号链接,或者路径里出现 /Keychains/、/.ssh/、/Mobile Documents/、/Photos Library 这类片段(它们出现在「缓存目录」里,通常说明里面装的其实是数据)。

3. 移动之前,全部再查一遍

从扫描到你点下确认,可能已经过去很久。你可能切了分支、重装了依赖,或者在同一个路径挂上了另一块盘。所以每一项都会在最后一刻重新核对:

被跳过的项会连同原因一起报告。不会静默跳过,否则你会以为它已经被删了。

4. 只有一个去向:废纸篓

5. 规则更新不可能悄悄扩大删除范围

收窄类的变更(多一条排除项、删掉一条规则、风险上调)会自动生效。扩大类的变更(新增路径、风险下调、排除项变短)必须由你当面确认:在你开始扫描的那一刻提示,并告诉你它会在你这台 Mac 上多覆盖什么。即使是你批准过的规则,也越不过上面那份永不删除清单。

发现了漏洞?

请写信到 support@siftaway.com。「该保护的路径没有被保护」是这个产品最严重的一类 bug,我们也会这样对待它。