Last updated: 8/6/2026
Wallet Diary ("the App") is a personal expense-tracking app for iOS, published by Tak Yan. This page explains what data the App collects, how it's stored, and the one situation in which any of it is ever sent to a third party.
Every expense you log — date, item, provider/merchant, cost, currency, category, notes, payment method, and any receipt photo you attach — is stored locally on your device using Apple's SwiftData framework. This data is kept in an App Group container so the Home Screen widget can read it, but it never leaves your device through that mechanism — the widget just reads the same on-device file the app writes to.
The App does not use iCloud sync, does not have a server-side account system, and does not transmit your expense data to the developer of this App under any circumstance. We (the developer) never see, store, or have access to your expense data.
Speaking an expense uses Apple's on-device Speech framework to convert your voice to text — this conversion happens entirely on your device; audio is never recorded to a file, stored, or sent anywhere, including to us or to Apple's servers.
Scanning a receipt photo, when no AI backend is configured (see below), uses Apple's on-device Vision framework to read text off the photo. This also happens entirely on-device.
The App includes an optional feature that uses a large language model to read a full sentence ("120 for a latte at Starbucks") or a receipt photo and fill in the item, provider, cost, and category fields automatically. This feature:
If you enable this feature, that data is sent to the backend server you deployed and control, which forwards it to one of the following third-party AI providers, depending on how you configured that backend:
| Provider | What's sent | Provider's own privacy policy |
|---|---|---|
| Google (Gemini API) | Expense text or receipt photo | Gemini API Additional Terms of Service |
| Anthropic (Claude API) | Expense text or receipt photo | Anthropic Privacy Policy |
Because you control the backend deployment yourself (see
Backend/README.md in the App's source), you also control
which provider is used and can review or delete any logs on your own
hosting/API accounts directly with those providers.
To convert between currencies, the App fetches current exchange rates from open.er-api.com, a free public API. This request does not include any of your personal or financial data — it's a generic request for that day's exchange rates, the same for every user of the App.
Because everything is stored locally on your device, you're always in control of it:
The App is not directed at children under 13, and we do not knowingly collect personal data from children under 13.
If this policy changes, the "Last updated" date at the top of this page will change accordingly. Continued use of the App after a change constitutes acceptance of the updated policy.
Questions about this policy or your data can be sent to myjlchatpt@gmail.com.