kira
last updated 20 october 2026
baca dalam bahasa melayu

privacy policy

the short version: kira is local-first. if you just log expenses, your log stays on your phone. it only leaves if you sign in to kira pro and turn on sync, or use smart match.

this policy covers the kira app (iOS and Android) and this website, jomkira.app. kira is an INTRVL product by blnkformat ("we"). questions: hello@jomkira.app.

if youwhat leaves your phone
just log (free)nothing you log. only a request for public exchange rates.
sign in and sync (pro)your email, plus your log, so it can sync to your other devices. on iOS and Android, a pseudonymous id goes to our purchase provider to check for kira pro.
use smart match (pro)the text of an entry kira doesn't recognise, and your home currency, to pick its category.

1. what stays on your device

everything you log (descriptions, amounts, currencies, categories, dates), your recurring expenses, your settings, and the categories kira has learned from your fixes are stored on your device. if you don't sign in, none of it is sent to us. we can't see it, and we can't recover it if you lose your phone, so use settings → backup & restore → export backup now and then.

2. what leaves your device, and when

exchange rates (everyone). to convert between currencies, the app downloads a public rate table a few times a day from jsDelivr, a public CDN. the request contains nothing you've logged. like any web request, it reveals your IP address to the CDN.

signing in (kira pro). if you sign in with Google or Apple, we receive your email address and an account id from that provider, plus your name and profile picture link if the provider shares them. our auth provider also logs the IP address of sign-ins for security. we use all of this only to run your account.

cloud sync (kira pro, can be paused in settings). your entries, recurring expenses, currency settings and learned categories are stored in our database so they can sync across your devices. they are protected by access rules so only your account can read them, but they are not end-to-end encrypted: they are stored readable on our database provider's servers.

smart match (kira pro, optional). when kira doesn't recognise an entry, smart match sends the text of that one entry (for example "lunch with team 45") to our server, which asks a third-party AI provider to pick a category. only that line is sent, along with your home currency so amounts are read in the right currency. it is not linked to your name or email when it reaches the AI provider. if sync is on, the result is remembered on your account so the same entry doesn't need to be sent again.

abuse protection. to stop misuse, our server counts requests per account and per IP address for a short time (an hour to a day). these counters don't contain anything you've logged.

purchases (kira pro). payment is handled entirely by the App Store or Google Play. we never see your card details. while you're signed in on the iOS or Android app, our purchase provider, RevenueCat, receives a pseudonymous account id (a random id, not your name or email) with your app version, device and operating system, and IP address, so it can tell us whether your account has bought kira pro. if you buy, it also receives the store's record of the purchase (product, price and currency, store country, transaction id). we then record that your account has pro.

3. what we don't do

4. who processes data for us

we use these services to run kira. each only gets what it needs for its job.

servicewhat forwhat it sees
Supabaseaccounts and cloud sync databaseemail, account id, synced data (pro)
Cloudflareruns our server (smart match, account deletion)requests from the app, IP address
AI providersmart match categorisationthe text of the entry being matched, your home currency
Upstashshort-lived rate-limit countersaccount id, IP address
RevenueCatconfirms kira pro purchasespseudonymous account id, purchase records, app and device info, IP address
Google, Applesign-in, and in-app purchaseswhat you share with them when you sign in or pay
jsDelivrpublic exchange-rate tableIP address
Vercelhosts this website and its demovisitor IP address, demo text

5. where your data is stored

these providers run servers in several countries, so data may be processed outside Malaysia or wherever you live. synced data is stored in our database provider's data centre in Singapore. purchase records are processed by RevenueCat in the United States. smart match entries may be processed by our AI provider outside Malaysia. we only use providers that protect personal data to a standard comparable to Malaysian law, and where EU or UK law applies, we rely on the safeguards those providers offer for international transfers (such as standard contractual clauses).

6. the demo on this website

when you type into the live demo on jomkira.app, the line is sent to our server to be read, and unrecognised lines may be sent to our AI provider. the demo has no accounts. your demo entries are saved only in your own browser. we count demo requests per IP address for up to an hour to prevent abuse.

7. how long we keep it

synced data is kept while you have an account. when you delete it (below), your synced data and your account are removed from our database straight away, and we ask RevenueCat to delete your purchase record. if you signed in with Apple and delete your account from your iPhone, we also ask Apple to revoke kira's sign-in access, which removes kira from Sign in with Apple in your Apple ID settings. if that doesn't happen, you can remove it yourself there. Apple and Google keep their own records of what you bought, under their policies. rate-limit counters expire on their own within a day. data on your device stays until you delete it or uninstall the app.

8. your choices and rights

depending on where you live, you may have extra rights under local law (for example Malaysia's PDPA or the EU/UK GDPR), including the right to complain to your data protection authority.

9. why we're allowed to use it

10. how we protect it

all traffic between the app and our servers is encrypted in transit (HTTPS). synced data is encrypted at rest by our database provider, and database access rules make sure an account can only read its own rows. only the developer can access the production systems. as said above, sync is not end-to-end encrypted, so please don't put things like passwords or card numbers in your entries.

if a data breach puts your information at risk, we will notify Malaysia's Personal Data Protection Commissioner and affected users as the law requires, and tell you what happened and what to do.

11. cookies and the website

jomkira.app uses no tracking or advertising cookies. the demo saves your demo entries in your browser's local storage, which you can clear at any time. we don't sell or share your personal information, including as "selling" or "sharing" are defined under California law.

12. children

kira isn't aimed at children under 13, and we don't knowingly collect data from them. if you think a child has created an account, email us and we'll delete it.

13. changes

if we change this policy, we'll update the date at the top. if a change affects what leaves your device, we'll also tell you in the app before it applies.