这一页只讲能验证的事

我们看不到你的账本。
不是承诺,是因为没有能看到它的那一侧。

没有存你账本的服务器,没有账号,没有埋点,页面里没有任何第三方请求。下面逐条写清:数据落在哪个位置、什么情况下会有内容离开你的设备、以及每一处开关打开意味着什么。

一、账本到底存在哪

  • 网页版:存在这台浏览器自己的本机存储里(同源隔离,别的网站读不到它)。清缓存、换浏览器、换设备、用无痕窗口,都会让它不在——这台设备上的这一份就是全部。
  • 安卓版:存在你手机 App 私目录里的本机数据库,随系统备份策略走;我们这一侧没有副本。
  • 备份文件:你主动导出的 JSON/CSV 落在你选的位置(下载目录、聊天收藏、网盘都算),那时它是你的文件,不是我们的数据。

金额的判定、分类的口径、周期与阈值、红绿灯档位,全部是确定性代码在你设备上算出来的;没有任何一步依赖我们的服务端——因为不存在这样一个服务端。

二、我们收集什么:一份都没有

没有账号体系,所以没有邮箱、手机号、昵称可收;没有统计脚本,所以没有访问分析、漏斗、留存;没有广告位,所以没有标识符与画像。站点是纯静态文件,我们这一侧没有能接收数据的接口。

这条同时是产品的限制,不是夸奖:正因为没有服务端,我们不能"帮你找回删掉的账"、不能跨设备自动同步、也不能告诉你"上一版很多人遇到过某个问题"——问题只能你告诉我们,或者从公开的仓库反馈里看到。

三、什么情况下会有内容离开你的设备

  • 你打开这个网站、下载这个安装包。请求发到托管方(GitHub Pages 与原始文件域名、或 Cloudflare Pages 那一侧)。托管方会按它自己的策略记录标准访问日志(IP、时间、请求的路径)——这一份日志不在我们手里,也在你手机上看不见。页面上没有第三方资源,所以不会有"顺手向别的域名发一次请求"。
  • 你主动点"检查更新"或在 App 里下载新版。App 去读清单文件、按清单地址取安装包与分块。同上:这条路上托管方看得到一次文件请求,看不到你账本里的任何内容。
  • 你在网页版打开语音输入。识别用的是浏览器自带的语音服务——那句话会被交给浏览器的语音识别处理,具体走谁的服务由你的浏览器决定。默认是关的,不点麦克风一个字都不听。
  • 你在安卓版里开启云端 AI 相关能力。见下一节:只有那一刻,与当前这一笔相关的一句话才会被送去处理。不开就一次都不发。

四、语音与 AI 两个开关各自意味着什么

安卓版的离线语音识别用的是装在设备上的模型。模型文件是一次性下载的资产,识别本身在设备上完成;不联网也能听你说话并出字。这条路上没有"录音上传"。

智能归类/洞察润色/问账这一类要模型能力的,在安卓版里是可选的。它的口径是:需要总授权,你在设置里明确打开才会用;调用只带上与当前这笔相关的一句话,不带整本账;每一次外发都记进审计入口可以回看;不想用了随时整体关掉。云端不可达时它会安静地退回本机能力,不会拿你的账去赌一条网络。

网页版目前没有这套云端能力(上面那张对照表里如实写着),所以也不存在"网页版偷偷发数据"这件事。

五、下载与更新这条路上,谁能看到什么

站点、更新清单、安装包、分块全在同一个公开仓库里;推一次就是把这几样同时上线。这个仓库是公开的:任何拿到安装包的人都能读到一个新版本号的包,包本身不含你的数据、也不含任何密钥。请不要把仓库地址、备用更新地址发到不需要收到的地方。

如果你要手动填备用更新地址(App 内 设置 → 关于与更新),填的是目录地址、结尾带斜杠;怎么填、当前地址是什么,下载那一页有一行可以直接复制,这里不重复抄一份——抄一份就会有第二处需要维护的口径。

六、第三方清单:页面里是零

本站三页(官网、下载、隐私)与网页版都不引入外部字体、CDN、图标库、图片地址、地图、支付、客服组件与统计脚本。这不是"我们要求他们别记录",而是页面里没有指向它们的地址可请求。

这条由发布脚本盯住:会发起网络请求的写法(外链资源、远程模块、动态导入、对外 fetch、WebSocket、SSE、XHR、信标上报、CSS 外链)与绝对路径一起被逐条拦,写法不合规就不出包。所以"零外链"不是一个我们每次自觉维持的口号,而是一个不满足就发不出去的状态。

七、备份、迁移与彻底删除

  • 备份:网页版在"我的"里导出 JSON,或复制备份内容粘进你自己的收藏;安卓版支持导出与本机自动备份。建议至少留一份在设备之外——只有本机那一份,等于没有备份。
  • 迁移:导出的文件在网页版与安卓版之间互通,原样导入即可接上。
  • 彻底删除:网页版——清除这一站的浏览数据(或直接删导出的旧备份文件);安卓版——在应用里清空数据,或卸载应用,随之你的账本从这台设备上消失。因为服务器上没有副本,你删掉的那一份就是最后一份:不需要、也没法向我们提"删除请求"。

反馈渠道:项目源码与发布链都在一个公开仓库里,仓库地址显示在 下载与安装 那一页(那一行可直接复制,我们不把它做成外链,免得页面上出现任何指向第三方地址的请求)。

八、这一页怎么算"最新版"

这一页与站点其他文件一起发布:站点换了,你刷新拿到的就是新的,不需要装任何东西、也不会掉数据。本页不放"上次更新于"这种手工维护的日期——它写过一次就等着和线上不一致。

口径变更时我们以同样方式生效:改这一页、走同一条发布链、上线即可见。若某次变更会真正改变数据的处理方式,我们会同时改 App 内的说明文案,而不是只动网页。