The questions people actually ask.
Short, honest answers. Where something is a limitation, it is written as one.
The basics
Do I need an account?
No. There is no AuraSpend account, no sign-in, and no server that holds your data. Install it and it works. A Google account is only needed for Drive backup, and only for that.
Is it really free?
Yes. There are no ads, no trackers, no accounts, no paywall and no in-app purchase. Every feature is in every build, and the source is open under the AGPL-3.0, so the claim is checkable rather than promised.
Does it work without internet?
Yes. Parsing, categorisation, budgets, goals and insights all run on the device. Day-to-day use needs no connection at all. The only things that ever touch the network are the optional model download and a Drive backup you start yourself.
Which Android versions?
Android 11 (API 30) and later, on arm64-v8a and armeabi-v7a devices. ChromeOS is deliberately unsupported. The interface is in English and Hindi.
Your bank and your messages
Does it connect to my bank?
No. It never asks for a card number, a customer ID, a net banking password or an OTP, and it cannot send an SMS. It reads the same message you already read, using read-only access to your inbox.
Which banks are supported?
53 senders have a parser written for their exact format — banks, cards, wallets, payment apps, a couple of mutual funds and EPFO. Everything else falls back to a general engine that reads the amount, the direction and the merchant from the body. Most Indian banks are covered; if yours is not, the transaction is still read, just with less detail.
What happens to my messages?
They are read on your phone. Before anything is stored, phone numbers, UPI references, UTRs, folio ids and hash-like tokens are masked out — the amount, the date and the bank's own card mask survive, so the app still works. The messages are never uploaded anywhere, and a Drive backup you start masks them again on the way in.
Will it save a transaction without asking?
No. A parsed transaction goes into a review queue and reaches your ledger only when you swipe it there — and you can undo that in one tap. Messages AuraSpend cannot read are kept in a separate list with their raw text, never dropped, and every message it skips stays listed in Smart Add with a “Classify again” button.
What is the 22 MB model, and do I need it?
It is optional, and the app is fully functional without it. It is a small sentence encoder — not a chatbot and not a text generator — that runs on your phone and refines which category a transaction lands in. It downloads only after you tap to consent, its file is verified against a pinned SHA-256 digest before it is used, and the parsing layer on its own already scores 97.6 % exact on the test corpus. The app says as much on the screen where you would enable it.
Your data
Is my database encrypted?
Yes, with SQLCipher. The passphrase is derived from a non-exportable key in the Android Keystore and is never written to disk, to a log, or into a backup. There is no fallback to plain text: if the key is unavailable, the app refuses to open the database rather than opening it in the clear.
Can I lock the app?
Yes. Settings → Appearance has an optional four-digit PIN, stored only as a salted PBKDF2 hash, and a biometric shortcut where the hardware supports it. It locks on a cold start and again after a minute in the background. There is deliberately no back door: “forgot PIN” wipes the data.
Can I get my data out?
Yes, in two ways. Settings → Data exports every transaction to a CSV file you choose, and imports one back — with duplicate checking, so a file you bring in does not double your history. Google Drive backup writes a single JSON snapshot of every table into your own Drive, and restore brings it back on another phone.
Does Android back up my data for me?
No. The database, the preferences and the model directory are excluded from both cloud backup and device-to-device transfer. A backup is something you start deliberately, not something that happens to you.
Does it convert currency?
No. You can pick one of 30 currencies to change how money is displayed, and the app says so on the picker. There is no exchange rate, no conversion and no network lookup — a rupee amount stays a rupee amount.
Can I delete everything?
Yes. Settings → Data → Delete all data wipes every table, re-seeds the default categories and forgets the SMS scan position so a fresh scan can pick the inbox up again. Uninstalling the app also removes the encrypted database and its write-ahead log.
The app itself
What if my bank is not supported?
The general engine still reads the amount, the direction and a merchant name from the body, and the transaction is categorised from a curated list of about 270 known merchants. Anything it cannot place is queued for you to categorise once, and your correction is remembered for next time.
Does it work without the SMS permission?
Yes. Quick Add, CSV import, budgets, goals and insights all work without it. You lose automatic tracking, and you can still paste a message into Smart Add by hand.
How does it decide what a category should be?
Three layers, in order: the bank parser for that sender, a curated merchant-to-category map, and — only if you turn it on — the on-device encoder. A correction you make in the app is remembered and applied to future messages, and your correction always wins over an automatic one.
What is new in each release?
Everything is written down, including the reasoning. The changelog on this site mirrors the canonical CHANGELOG.md in the repository, and every significant decision is recorded as an architecture decision record.
Can I contribute?
Yes. The project is AGPL-3.0-or-later with a CLA, so contributions are assigned to a single copyright holder and the whole project can be relicensed coherently. Read the contributing guide first — the classification pipeline in particular has a specific way of adding a bank parser, and the reason is worth knowing before you write one.
Something not answered here? Open an issue — or read the privacy policy in full.