Spent Money 不會收集任何資料,你的支出紀錄也絕不會離開你的裝置。
沒有我們的伺服器。沒有帳號系統。沒有雲端同步。
沒有廣告
應用程式裡任何地方都沒有廣告,裡面也沒有廣告網路。從不要求追蹤權限,也從不讀取你裝置的廣告識別碼。
免帳戶
沒有任何東西需要註冊--打開 App 就能開始輸入。
沒有我們自己的分析
沒有分析或遙測 SDK 監視你在應用程式裡的操作,也沒有廣告 SDK,應用程式完全不帶廣告。購買透過 RevenueCat 完成,它看到的是你的訂閱狀態和一個匿名安裝 ID,從不是你的支出。
應用程式什麼時候連網
只有三種情況:透過 RevenueCat 核對你的購買(由它與應用程式商店確認)、在支出使用其他貨幣時取得當天匯率,以及啟動時詢問 App Store 是否有更新版本。匯率請求只帶一個貨幣代碼,版本檢查只帶應用程式自己的識別碼。
不要求執行期權限
從不要求你的相機、通訊錄、位置或麥克風權限--就連震動權限也不例外,而 Android 通常會自動授予震動權限,根本不會提示使用者。
資料外流由你掌控
資料離開手機的唯一途徑,是你自己匯出備份並選擇要送到哪裡。使用 Pro 時,該檔案會以只有你知道的密碼加密。
你的資料究竟存放在哪裡
你輸入的每一個數字,都會寫入你自己裝置上的一個 SQLite 資料庫--僅此而已。
你的手機
SQLite 資料庫
備份檔案——僅當你自己匯出時
如果你刪除了 App,那些資料就會消失--這正是備份與還原功能存在的原因,它不是附加功能,而是純粹本機儲存這個選擇所帶來的直接結果。
App 鎖定
選填的 6 位數 PIN 碼,在啟動時以及每次 App 進入背景時都會要求輸入--它會自動重新鎖定。
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 是否已發佈更新版本(只傳送應用程式自己的識別碼),以及在你儲存非主要貨幣的支出時取得當日匯率。該請求只帶有貨幣代碼,絕不會帶上金額、備註或分類。