免费开源 · 已公开发行

Sin Clean

安全与隐私

本页的五条声明来自产品内的隐私说明原文,每条都配一个可验证事实,并给出你可以自己做的验证方法。凡是没有事实依据的承诺,本页不写。

五条隐私声明与可验证事实

声明一:不上传任何数据。可验证事实:除你主动点按「检查更新…」(获取更新清单)与确认后的「下载并安装」(下载更新包)两处,且仅连接 blacstar7.github.io 外,应用进程没有网络套接字;网络接口调用只存在于更新下载实现文件。

声明二:扫描是只读的。可验证事实:扫描前后目录集合与文件元数据(占用块数、inode、链接数、容量、纳秒修改时间)零变化;源码中没有写入或删除调用。

声明三:唯一的处理动作是把您选中的项目移入系统废纸篓。可验证事实:整个工程只有一个系统废纸篓调用点,面向用户文件没有任何永久删除入口。

声明四:数据只保存在本机,并且可以随时清除。可验证事实:系统健康趋势保存在应用自身的 Application Support 目录,设置页可以清空,清空后采样点数为 0。

声明五:不含遥测、崩溃上报或第三方分析。可验证事实:工程中不存在任何遥测、崩溃上报或第三方分析 SDK 的引用;除手动更新外没有任何网络端点。

如何自行验证

进程级实测:在不点按「检查更新」的状态下,先取得运行中应用的进程号,然后在终端执行 `lsof -a -p <进程号> -i`,输出应为空。

源码检索:在源码中检索网络接口名(URLSession、URLRequest、dataTask、URLComponents)以及遥测、崩溃上报、第三方分析的依赖与接口名。网络接口命中应只存在于更新下载实现文件;遥测类检索命中应为 0。

只读性验证:对比扫描前后同一目录的文件清单与 `stat` 结果,或在源码中检索写入与删除接口名。

唯一处理动作验证:在源码中检索废纸篓与永久删除接口名,核对调用点数量与归属,应只有一个废纸篓调用点。

本地数据验证:打开「设置」查看存储位置与当前采样点数,点击「清空趋势数据」后确认点数归零。

这几种验证都需要你自己操作,本页只说明方法,不代替验证;产品内的「查看隐私说明」可以逐条展开同样的事实与验证方法。

网络行为清单

走网络的只有两条,都由你主动触发,且只连 blacstar7.github.io。

网络行为清单 数据表

网络行为清单(表格较宽时可横向滚动)
行为用途触发条件
检查更新获取本频道清单 manifest.json(含版本、大小与 Ed25519 签名)你在关于页点按「检查更新…」
下载更新下载更新包 ZIP检查发现新版本后,你点按「下载并安装」并再次确认
  • 没有后台检查:检查更新完全由点按触发,应用不做任何后台自动检查,也没有静默重试。
  • 更新请求只允许 HTTPS、host 白名单唯一,拒绝任何 HTTP 重定向(含同域),空闲超时 30 秒且不重试。
  • 更新请求使用 ephemeral 会话并关闭 URL 缓存与 cookie 存储,网络访问不在本机留存缓存或 cookie。
  • 官网域名不参与更新托管、不做跳转,更新链在 GitHub Pages(blacstar7.github.io)同源闭环。
  • 没有遥测、没有崩溃上报、没有第三方分析、没有静默更新,也不上传任何数据。

注意

因此本页不使用任何把联网范围说成零或把一个已实现的动作说成不存在的绝对表述:本构建确实包含两处由你触发的联网动作,凡是会被这两处动作证伪的说法都不写。

权限说明(两项,都是可选)

权限一:完全磁盘访问在应用内称为「读取受保护目录」;通知权限在应用内称为「发送提醒」。应用启动与首次使用都不申请权限。

权限说明(两项,都是可选) 数据表

权限说明(两项,都是可选)(表格较宽时可横向滚动)
权限为什么需要用来做什么不做会怎样何时申请如何撤销
完全磁盘访问(应用内名「读取受保护目录」)某些目录(如邮件、信息等受保护位置)默认不允许任何应用读取。只用于把这些目录的容量统计进空间分析,让统计更接近真实占用。不授权也能正常使用;受保护目录不计入统计,界面会明确标注有几个目录未统计。在扫描结果中出现不可读目录、且你主动点击「了解如何授权」时。应用内提供直通系统设置的深链,指向隐私与安全的全磁盘访问面板。
通知(应用内名「发送提醒」)系统健康提醒需要在合适的时候通知你。只用于在磁盘紧张、持续高负载、内存压力或电量偏低时提醒你。不授权也能正常使用;提醒不会弹出,但证据卡与趋势仍然照常更新。在设置中开启任一提醒类别、且系统尚未授权时。应用内提供直通系统设置的深链,指向通知面板。

补充事实:判断完全磁盘访问是否已授权的探针只对固定系统受保护路径 /Library/Application Support/com.apple.TCC 做只读可读性探测,只判断可读性,不读取任何内容。

设置页明确写明两项权限均为可选、只在相关操作时申请、拒绝不影响其他功能。

本地数据清单与清除方式

本地数据清单与清除方式 数据表

本地数据清单与清除方式(表格较宽时可横向滚动)
数据确切路径在应用内如何清除
操作记录(清理+卸载合并)~/Library/Application Support/SinClean/operation-history.json「操作记录」页的「清空历史」(只删本机记录,不动废纸篓)
系统健康趋势~/Library/Application Support/SinClean/system-health/trends.json设置中的「清空趋势数据」(需二次确认,只把趋势文档重写为零采样点)
空间变化记录~/Library/Application Support/SinClean/space-change-history.json设置中的「清除空间变化记录」(需二次确认、不可撤销,确认后从下一次成功扫描重新开始记录)
空间变化盐文件~/Library/Application Support/SinClean/space-change-salt.txt随空间变化记录一并清除
忽略列表~/Library/Application Support/Sin Clean/ignore-rules.json设置中的「清空全部忽略规则」
更新回滚日志~/Library/Application Support/SinClean/update-rollback.log本机追加文本日志,不联网、不上传;如需清理请按路径手动处理
更新暂存~/Library/Caches/SinClean/Updates/<UUID>/(下载文件名固定为 update-package.zip)更新流程结束(成功或失败)都会自动清空该暂存目录
设置项(刷新间隔、扫描范围、性能等)UserDefaults 域 com.sinclean.app可在设置中改回;「恢复默认设置」不会清除忽略列表

注意

注意目录名:忽略列表在带空格的 ~/Library/Application Support/Sin Clean/ 下,其它数据在 ~/Library/Application Support/SinClean/ 下,两者不是同一个目录。

清除的实现口径:应用内的「清空」按空文档重写实现,清除的是数据而不是文件本身;可验证口径是清空前采样点数大于 0、清空后为 0 且不残留任何临时副本。

卸载后的残留核对路径

把应用拖入废纸篓卸载后,可核对的残留共四处。

  • ~/Library/Application Support/SinClean/
  • ~/Library/Application Support/Sin Clean/(目录名带空格)
  • ~/Library/Caches/SinClean/
  • defaults 域 com.sinclean.app(本机偏好设置域,可用系统命令 `defaults read com.sinclean.app` 查看;清理同样由你用系统命令自行完成)

说明:应用内的「清空历史」不会移动或删除废纸篓中的文件;残留核对是文件系统层面的操作,请自行确认后再删除。

注意

删除残留目录与 defaults 域属于系统层面操作,一旦删除不可撤销;请先确认不再需要这些记录。

本页不使用的承诺

产品为隐私文案定了一张禁用词表:任何属于无法验证的绝对承诺的表述,出现即视为声明不成立,本页一律不使用。被列入该表的是六类说法——关于不泄露的、关于把安全性说成绝对的、关于加密等级的、关于百分之百安全的、关于把联网说成零的、关于把匿名说成彻底的。

这里也包括把一个已实现的动作说成不存在的绝对说法:产品首次使用引导第二屏的原文含「不联网」,与本构建已包含两处主动联网动作的事实冲突,因此官网不照搬该绝对表述。

本页的硬规则是:每条声明都必须对应一个可验证事实,并写明如何自行验证;不得出现无法验证的承诺。

政策变更历史

下表日期与条目取自产品随包更新日志(Resources/CHANGELOG.txt)与发行记录;构建 27 为 2026-10-12 的最新公开发行包。

政策变更历史 数据表

政策变更历史(表格较宽时可横向滚动)
日期变更
2026-09-171.0.0-beta.1(构建 7 系):首次使用、权限与隐私页落地,五条可验证隐私声明随包提供。
2026-09-181.0.0-beta.2(构建 8):更新机制离线核心与随包许可证、更新日志随包;当时更新检查尚未包含在当前构建中。
2026-10-011.0.0-beta.2(构建 13):隐私说明与设置页状态提示口径修正。
2026-10-011.0.0-beta.2(构建 19):通知权限生产接线,申请前先说明为什么需要、用来做什么、不做会怎样。
2026-10-021.0.0-beta.2(构建 20):通知授权申请后的状态分流修正,不再一律显示为已拒绝。
2026-10-021.0.0-beta.2(构建 21):空间分析覆盖口径修正,未统计数如实显示。
2026-10-03内部发行包构建 23(internal 频道):签名、公证与票据装订后的内部发行包。该构建的变更要点尚未登记到随包更新日志。
2026-10-121.0.0-beta.2(构建 27):空间分析页左右分栏整体布局焕新(任何窗口大小都能发起扫描,结果容量条自适应窗口宽度);运营方向变更为永久免费+永久开源(MIT 许可),GitHub 开源仓与官网双渠道公开发行。

提示

本页内容与随包隐私说明一致;产品内「查看隐私说明」可逐条展开同样的事实与验证方法。