一句话:Bitcoffer 不收集任何数据。没有账号、没有遥测、没有云同步、没有第三方 SDK。你的密码库只存在于你的 Mac 上,用你的主密码加密。唯一的网络访问,是你在点「检查更新」时向 GitHub 的四个固定域名发一个 HTTP 请求。
| 不做 | 说明 |
|---|---|
| 没有账号 | 产品里没有注册、没有邮箱、没有用户 ID |
| 没有遥测 | 没有分析 SDK、没有崩溃上报、没有使用计数、没有「匿名」打点 |
| 没有云同步 | 密码库是一个本地文件,Bitcoffer 从不上传它 |
| 没有广告与追踪 | 没有需要你关闭的开关,因为什么都没有收集 |
| 没有第三方网络 SDK | 不链接广告、分析、字体或 CDN 框架 |
| 数据 | 位置 | 保护 |
|---|---|---|
| 密码库(条目、TOTP 密钥、通行密钥元数据) | ~/Library/Containers/top.cygnusyang.coffer/Data/Documents/Bitcoffer/<vault-uuid>/ | Argon2id 派生密钥 + AEAD;主密码从不存储 |
| 诊断日志 | ~/Library/Containers/top.cygnusyang.coffer/Data/Library/Logs/Bitcoffer-diag.log | 本地纯文本,从不自动上传 |
| 剪贴板 | macOS 剪贴板,仅在你复制字段时写入 | 可选:按你设定的超时自动清空 |
| 偏好设置 | 应用容器内的 UserDefaults | 语言、锁屏超时等 |
除非你主动导出或复制,否则这些内容不会离开这台机器。
Bitcoffer 只在你明确要求检查更新时才发起网络请求。没有后台轮询。
| 项目 | 内容 |
|---|---|
| 白名单域名 | api.github.com、github.com、objects.githubusercontent.com、release-assets.githubusercontent.com |
| 发送什么 | 对 …/releases/latest/download/update-manifest.json 的标准 HTTPS GET,加上系统 URL session 的默认请求头(如 User-Agent)。不含密码库数据、不含标识符、除请求路径外不含版本指纹。 |
| 收到什么 | 签名清单(Ed25519)与下载地址;在信任任何内容之前,先用内置于 App 的公钥校验签名 |
| 下载 | Bitcoffer-vX.Y.Z.zip,来自同一白名单;SHA-256 与签名清单比对 |
检查更新失败时,App 照常离线可用,只会把错误报给你。
$BITCOFFER_MCP_UDS),从不走 TCP,从不监听公网端口。~/Library/Logs/DiagnosticReports/ 生成报告,那份文件属于你,只有你选择分享时才会外流。| 操作 | 效果 |
|---|---|
| 删除条目 | 移入库内回收站,可恢复或彻底删除 |
| 删除密码库 | 移除库目录;没有加密备份则不可恢复 |
| 删除 App | 移除二进制;库目录仍然保留,除非你自己删除 |
| 彻底清除 | 删除 App 以及 ~/Library/Containers/top.cygnusyang.coffer/ |
Bitcoffer 完全不收集个人数据,因此也不收集未成年人的数据。它是一个本地工具,不是在线服务:没有账号关系,也没有需要签署的数据处理协议。
信任不该需要你相信一份 markdown 文件:
codesign -d --entitlements - /Applications/Bitcoffer.app
应当只看到 com.apple.security.app-sandbox 与 com.apple.security.network.client,再无其他 network.* 键。nettop 观察,或者干脆断网:除检查更新外,其余功能照常工作。macos/Bitcoffer/Updater/,搜索 URLSession 即可枚举全部调用点。~/Library/Containers/top.cygnusyang.coffer/Data/Library/Logs/Bitcoffer-diag.log 是纯文本,直接读。任何数据处理上的变化都会记录在 CHANGELOG.md 与本文件的 git 历史里。Bitcoffer 没有服务端,因此我们无法在不发布新版本的情况下改变你数据的去向——而每个版本都是签名、可检查的产物。