Spent Money 不收集任何信息,你的支出记录也绝不会离开你的设备。

没有我们的服务器。没有账户系统。没有云同步。

无广告

应用里任何地方都没有广告,里面也没有广告网络。从不请求跟踪权限,也从不读取你设备的广告标识符。

无需账户

没有任何东西需要注册--打开应用就能开始记录。

没有我们自己的分析

没有分析或遥测 SDK 监视你在应用里的操作,也没有广告 SDK,应用完全不带广告。购买通过 RevenueCat 完成,它看到的是你的订阅状态和一个匿名安装 ID,从不是你的支出。

应用什么时候联网

只有三种情况:通过 RevenueCat 核对你的购买(由它与应用商店确认)、在支出使用其他货币时获取当天汇率、以及启动时询问 App Store 是否有更新版本。汇率请求只带一个货币代码,版本检查只带应用自己的标识符。

无运行时权限

从不请求你的摄像头、通讯录、位置或麦克风权限--甚至连震动权限也不例外,而 Android 通常会自动授予震动权限,根本不会提示用户。

数据外流由你掌控

数据离开手机的唯一途径,是你自己导出备份并选择把它发往何处。使用 Pro 时,该文件会用只有你知道的密码加密。

你的数据究竟保存在哪里

你输入的每一个数字都会写入你自己设备上的一个 SQLite 数据库--仅此而已。

你的手机

SQLite 数据库

备份文件——仅当你自己导出时

如果你删除了应用,那些数据就会消失--这正是备份与恢复功能存在的原因,它不是附加功能,而是纯本地存储这一选择的直接结果。

应用锁

可选的 6 位数 PIN 码,在应用启动以及每次进入后台时都需要输入--应用会自动重新锁定。

PIN 码从不以明文形式存储,只保存带有独立随机盐值的 scrypt 哈希--故意设计得又慢又占内存,即便有人拿到了数据库,逐个猜测的代价依然很高。

仅支持 PIN 码,因此解锁你的预算数据也不会请求 Face ID / Touch ID 权限。

备份与恢复,由你做主

把所有内容导出为一个由你掌控的 JSON 文件——保存它、发邮件给自己、放到任何你喜欢的地方。Pro 增加了“用密码保护”,拥有 Pro 后该选项默认开启。

在任何设备上恢复这个文件--应用会发现这是加密备份并询问密码。这是手动操作,不是自动云同步--同样是「没有服务器」的选择,始终如一地贯彻。

AES-256-GCM,而不只是一个密码输入框

文件由 scrypt 从你的密码拉伸出的密钥以 AES-256-GCM 封存,每次都使用全新的随机盐值和 nonce。GCM 带完整性校验:密码错误、某个字节被改动或文件被截断,都只会打不开,而不会悄悄把损坏的记录还原进你真正的数据里。

密码只属于你一个人

密钥来自你,永远不来自应用--内置在应用里的密钥只要被提取一次,就能打开所有人的文件。所以这里没有主密码,也没有找回流程:一旦忘记,那个文件就再也打不开了。输入框之所以配有显示切换,正是因为如此--密码只输入一次,从不要求再次确认,能看见它就是唯一的保障。

关于源代码的说明

这是一个个人项目,应用为闭源软件 - 专有软件,© 2026 Samvel Sargsyan,保留所有权利。在这里,隐私优先是一项设计承诺,而不是开源审计保证。真实且可核查的是:你的支出记录只保存在设备本地的数据库中,没有账户来存储它们,也没有我们的服务器可供发送。应用只在三种情况下使用网络:通过 RevenueCat 核对你的购买(由它向应用商店验证,并以一个匿名安装标识保存你的订阅状态),在启动时询问 App Store 是否已发布更新版本(只发送应用自己的标识符),以及在你保存非主要货币的支出时获取当日汇率。该请求只携带货币代码,绝不会带上金额、备注或分类。