When your bank notifies a card payment or a direct debit, Xtracto reads that alert and turns it into a movement. Nothing to type, no bank to connect, no credentials handed to anyone.
Almost every expense app asks you to trust its privacy promise. Xtracto does not ask you to trust it: it declares no internet permission. That is not a policy, it is a technical limitation you can verify yourself on the file that gets installed:
$ aapt2 dump permissions xtracto.apk
package: app.xtracto
uses-permission: name='app.xtracto.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'
That is all. That single permission is internal to Android's own libraries and grants access to
nothing. There is no INTERNET: even if the app wanted to send your
data to a server, the operating system would stop it. No servers, no analytics, no ads, no
sign-up, no login.
You do not have to take this page's word for it, or know how to read code: the claim that matters —that the app cannot connect to the internet— can be checked against the very file Google Play installs on your phone, in a minute, with official Android tools.
# 1. Find where the app is installed on your phone adb shell pm path app.xtracto # 2. Pull that file to your computer adb pull /data/app/.../base.apk xtracto.apk # 3. Ask the file itself what permissions it requests aapt2 dump permissions xtracto.apk
If android.permission.INTERNET showed up in that list, the app could send your data
somewhere and everything on this page would be a lie. It does not show up.
On the Google Play listing, under Data safety, Google publishes what the app declares about what it collects and shares — and checks that declaration against its own analysis. And under Settings → Apps → Xtracto → Permissions, your own phone shows you the real list, with no middleman.
By hand, in Android's settings, and you can revoke it whenever you want. It is the only thing the app needs, and without it nothing is recorded at all.
Xtracto reads that alert as it arrives and extracts the amount, merchant, card and date. If two apps announce the same payment, it is recorded once.
Monthly total, per-card breakdown compared against last month, and the full history with search. Nothing to type.
This is the most sensitive permission the app asks for and it deserves an honest explanation. With it, Android lets Xtracto see the notifications that appear on your phone. Xtracto only looks at those from a fixed list of finance applications, which you can review inside the app under Settings. It reads and stores nothing from the rest: your messages, your email and your social networks are discarded untouched.
And because the app cannot reach the internet, what it reads has nowhere to go. It stays on your phone, in a database only it can open.
Xtracto currently understands the alert formats of a specific set of banks. If yours uses another one, the app will tell you: it stores the alert without interpreting it, and you can send us the format without sending us your data. Before anything is shared, the app replaces amounts, dates, merchants and numbers with placeholders and shows you exactly what will go out:
A direct debit of 41,52 EUR from FUNDACION EJEMPLO
has been charged to your account 1234/**56789
↓
A direct debit of <amount> EUR from <merchant>
has been charged to your account <account>
The template alone is enough to add your bank. The app does not do the sending either: it hands the text to the system share sheet and you choose which app sends it, with one last chance to review it.
Get it on Google Play Privacy policy
Xtracto is not a banking app. It does not connect to your bank, cannot read your real balance and cannot move money. It only reads the alerts your bank already sends you.