Privacy Policy

Last updated: September 13, 2026

What stays on your device

Your expenses, income, budgets, recurring rules, and receipt photos are stored locally on your device using Apple's SwiftData framework, shared only with the Kopijka widget via an App Group so your widgets can show the same data. We don't operate a server that stores your financial records.

iCloud sync (optional, off by default)

If you turn on "Sync across devices" in Settings, your records sync between your own devices through your personal iCloud account, using Apple's CloudKit. This includes the receipt photos attached to your expenses, which count against your iCloud storage. We have no access to any of it — it lives in your private iCloud database, governed by your Apple account and Apple's privacy policy. The setting takes effect next time you open the app.

Receipt scanning

When you scan a receipt, the photo is sent to Google's Firebase AI (Gemini) to read the place, date, items, and total. We don't keep a copy of the image on any server of ours; Google's handling of it is governed by the Firebase AI Logic terms and Google's privacy policy. The photo you attach to the expense afterward is stored as described above.

Daily advice

The daily tip is generated by sending a summary of this month's spending — the places you shopped and the names of items — to Google's Firebase AI (Gemini). Amounts you have recorded are included in that summary. If you would rather this did not leave your device, remove the Daily advice card from your home screen and no summary is sent.

Voice commands

Voice input is transcribed using Apple's Speech framework, which may process audio on-device or on Apple's servers depending on your device and settings — this is governed by Apple's own privacy policy, not ours. We don't store audio recordings.

Analytics

We use Firebase Analytics to understand feature usage — which screens are opened, whether a record was added — so we can improve the app. It records event names, not the contents of your records: no amounts, no places, no items. Firebase assigns a random identifier to your app installation, which is not your name, your Apple ID, or your device's advertising identifier, and we do not link it to you. If you tell us why you cancelled a subscription, what you type is sent with that event. You can see everything collected in the app's privacy manifest, included with every App Store submission.

Subscriptions and purchases

Subscription purchases are handled entirely by Apple through StoreKit. We don't see or store your payment details — Apple manages billing, renewals, and cancellations through your Apple ID account settings.

What we don't do

We don't sell your data, we don't show ads, and we don't track you across other apps or websites — the app asks for no tracking permission and uses no advertising identifier. In the interest of being exact: Google's analytics library bundles an ad-conversion measurement component, which we neither configure nor use. We don't share your financial records with anyone; the only things that ever leave your device are described above.

Your data, your control

Deleting the app removes its local data from your device. If you've enabled iCloud sync, you can also delete synced data from iCloud in your device's Settings app under your Apple ID > iCloud > Manage Storage. To request help with data deletion, contact us below.

Children's privacy

Kopijka is not directed at children under 13, and we don't knowingly collect data from children.

Changes to this policy

If this policy changes in a way that affects how your data is handled, we'll update the "Last updated" date above and, where required, notify you in the app.

Contact

Questions about this policy? Email support@oleksi.dev.