Privacy Policy

Last updated: October 31, 2026 · ภาษาไทย (the Thai version prevails if the two differ)

In short: your financial data does not leave your iPhone/iPad and your own private Apple iCloud (on Android: your device, plus any backup location you choose — see section 5). We have no server that stores your transactions, balances, or accounts. The only things "sent out" are the images/text you ask the AI to read — slips, card statements, order-history screenshots, and voice-note text (to Anthropic, via a Cloudflare Worker). AI requests carry only a "random ID" used to count quota and prevent overuse; it is not your name, email, or Apple ID and does not say who you are.

1. Who we are

DooSpend is an independent iOS and Android app (indie developer) built by Apiwat Pengjam. Contact: hello@doospend.com

2. Data we keep and where it lives

DataWhere it is keptNotes
Income/expense entries, balances, accounts, categories, budgets, installments, subscriptions On your iPhone/iPad + your own private Apple iCloud We have no server that stores your financial data, and we cannot see it
Books (shared accounts) + the entries in them Apple CKShare → iCloud shared database Only people the book's owner invites by link can see it. The owner can end sharing at any time
Slip photos (when you tap "Snap slip") On your iPhone/iPad + private iCloud Kept until you delete them — Settings → "Image storage" lets you delete them in groups
Images/text sent for the AI to read — slips, card statements, order-history screenshots (Shopee/Lazada/etc.) Sent through a Cloudflare Worker → Anthropic Claude API (US) Sent only when you use that feature, once, to be read; not stored permanently. A random ID is attached for quota counting (not your name/email/Apple ID)
Speech (when you tap "Speak") Converted to text by Apple's SFSpeechRecognizer (Apple may process the audio on Apple's servers) Raw audio is not sent to our proxy or to Anthropic — only the transcribed text is passed to the AI. Audio processing follows Apple's policy
AI usage (number of uses per month) Counted at our proxy (tied to the random ID) + shown on your device Used to check the Free/Pro quota — the same quota applies to every device on the same Apple ID
Pro subscription purchases Apple StoreKit (not through us) Apple handles billing and stores payment information under Apple's own policy

3. Data we do not collect

4. Third-party services we use

4.1 Anthropic Claude (via Cloudflare Worker)

When you use an AI feature, the following images or text are sent through a Cloudflare Worker (our own proxy) to the Anthropic Claude API to read the amount, merchant, and date and to suggest a category: slip images, credit-card statement images/text, order-history screenshots (e.g. Shopee, Lazada, TrueMoney), and voice transcripts. This data may contain financial details (merchant, amount, date) — we send it to the AI only when you ask. The app asks for your consent before sending anything to the AI for the first time (stating clearly what is sent and to whom), and you can turn it off or withdraw consent at any time in Settings › Your data — when it is off, the app sends nothing to the AI.

4.2 Apple iCloud + Apple StoreKit

Data in the CloudKit database is your own private database under your Apple ID. Apple stores it encrypted and does not read it. We have no access to it.

4.3 Sharing books via CKShare

When you invite others to a book, Apple's CKShare API handles permissions and syncing between the participants' iCloud accounts:

5. The Android app

The Android app follows the same principles as iOS (no analytics · no user accounts · we have no server that stores financial data). It differs in where data lives and which system services it uses:

TopicOn Android
Financial data, slip photos, settingsOn the device only (the app's database) · no syncing between devices, and shared books are not available on Android yet
AI reading slips/textSame as section 4.1 — consent is asked before the first send · sent through a Cloudflare Worker to Anthropic · carries a random ID created on the device (not your name/email/Google account) · this ID does not sync between devices, but it comes back if the device restores the app's data from Google's backup
SpeechConverted to text by the Android system speech recognizer (usually Google's, which may process audio on that provider's servers under its own policy) · raw audio is not sent to our proxy or to Anthropic
QR scanning / reading text in imagesDone on the device (Google ML Kit for QR · Tesseract for text) · ML Kit may send usage and performance metrics about the API itself to Google under ML Kit's terms — no images or financial data
Buying ProThrough Google Play Billing · Google handles payment under Google's policy · the app sends the purchase token + the random ID to our proxy to check with Google Play that the purchase is real — no name, email, or card details
Google's backup (Android Backup)If you have Google backup turned on for the device, Android may copy the app's data to your Google Drive so it can be restored when you reinstall or switch phones · Google stores and encrypts it; we cannot access it · you can turn it off in the device settings
Daily auto backup (in the app)Off by default · when on, the app writes a .json backup file once a day to a folder you choose (keeping the latest 3) · the file contains all your financial data (without attached images) and is not encrypted — if you choose a cloud folder (e.g. Google Drive), the file is under that provider's care and policy · we never receive this file
NotificationsCreated on the device, not through a server

6. Deleting data

7. Children

DooSpend is designed for adults (17+ per the App Store rating). The app keeps no separate data about children. If a child uses the app, the data stays on that child's device/iCloud as usual.

8. Changes to this policy

If we change this policy, we will update the date at the top of this page. Significant changes (such as adding a new third party) will also be announced in the app.

9. Privacy contact

Questions or requests about your data — hello@doospend.com