数据安全
最后更新:2026 年 9 月 21 日 · 面向愿意读细节的用户(Android 与 iOS 客户端)
一、本地优先的架构选择
藏书采用 local-first 架构:所有读写都先落在本机数据库, 不存在「同步到云端」这一步。数据库选用系统内置的 SQLite(Android 与 iOS 都自带), 表结构包含账目、藏书资产、心愿单及其标签、收入记录、自定义字段等子表。
这一选择带来两个直接结果:
- 好处:飞行模式、弱网、地铁隧道里都能正常记账;没有服务器就没有「服务器被拖库」的风险。
- 代价:换手机时数据不会自动跟过来,必须手动导出再导入。多设备实时同步也无法实现。
我们认为对记账这种低频、高隐私的场景,本地化是更合理的取舍。如果你更看重多端同步,本应用可能不适合你。
二、完整的网络行为清单
下表穷举了客户端可能发起的全部网络请求。没有列在这里的请求,就是不存在。
| 功能 | 是否联网 | 传输内容 | 接收方 |
|---|---|---|---|
| 记账 / 藏书 / 心愿 / 趋势 | 否 | — | — |
| 截图 OCR 识别 | 否 | —(识别在本机完成) | — |
| Excel 导出 / 备份 | 否 | —(写入本地文件) | — |
| AI 财务助手 (未配置 API Key) |
否 | —(降级为本机规则分析) | — |
| AI 财务助手 (已配置 API Key) |
是 | 本机统计生成的财务摘要文本 | 你自行填写的 API 服务商 |
| 语音朗读(TTS) | 否 | —(使用系统 TTS 引擎) | — |
验证方法:安装后开启系统自带的流量统计,或使用抓包工具观察。 除 AI 助手外,正常使用一周不应产生任何上行流量。
三、数据存放位置与隔离
本机数据位于应用沙箱内的私有目录。下表是 Android 上的实际路径;iOS 同样存放在应用沙盒的私有目录内(iOS 的容器路径每次安装都会带一个随机 UUID,因此不固定):
| 内容 | 路径(Android) |
|---|---|
| 账目 / 资产 / 心愿数据库 | /data/data/com.cangshu/databases/cangshu.db |
| API Key 与个性化配置 | /data/data/com.cangshu/shared_prefs/ |
系统的应用沙箱机制保证其他普通应用无法读取上述路径。需要说明的是, 在已 root 或越狱的设备上该隔离可被绕过 —— 若你的设备已 root / 越狱,请自行评估风险。
四、API Key 是怎么处理的
如果你决定启用云端 AI 助手:
- Key 由你本人在应用设置页填入,落盘前先经系统密钥库加密,配置文件里只存密文,随应用卸载一并清除。
- 我们不收集、不代理、不中转你的 Key,请求由客户端直连你填写的服务商地址。
- 请求内容为统计摘要文本,例如「本月支出合计、餐饮占比」这类计算结果,而非逐条账目明细。
- 若你使用的是第三方或自建的 OpenAI 兼容接口,其日志留存策略由该服务商决定,请在填入前确认其可信度。
五、备份与迁移
推荐的做法是按以下节奏导出:
- 每月一次:导出 Excel,存到电脑或网盘。
- 换机前:务必先导出完整备份,再在新设备上导入。
- 重要节点:年度整理、报税、大额资产变动后各导出一次。
导出文件为通用 Excel 格式,不加密、不绑定设备,你可以用任何表格软件打开。
六、如何彻底删除你的数据
由于全部数据都在本机,删除方式只有一种,但非常彻底:
- 在系统设置中卸载藏书,系统会删除整个应用私有目录。
- 如果你之前导出过 Excel 文件,请自行删除那些文件 —— 它们不在应用管理范围内。
我们这边没有任何副本需要删除,因为从未有过。
七、安全建议
- 为手机设置锁屏密码或生物识别,这是保护本地数据的第一道防线。
- 不要在人身上长期存放包含完整财务记录的未加密 Excel 文件。
- 若设备已 root 或越狱,请谨慎安装来源不明的应用。
- 定期导出备份,避免设备意外损坏导致数据永久丢失。
八、报告安全问题
如果你发现了安全漏洞,请发邮件至 cangshu@163.com, 并在标题中注明「安全」。我们会优先处理,并在修复后致谢(如你愿意署名)。