mTagger Back to site
Last updated 2 September 2026

Terms of Service — mTagger

Please read these terms before using mTagger. Installing or using the app means you accept them. If you do not accept them, do not use the app — and if you have already installed it, uninstall it.

They are written to be read. Where a section says something that limits your rights or ours, it says so plainly rather than burying it.

1. Who provides mTagger

mTagger is provided by Roy Thande, an individual developer based in Kenya ("we", "us", "our"). There is no company behind it and no support desk. Contact: roy.thande@gmail.com, or an issue on the project's public repository.

2. What mTagger is

mTagger reads the M-Pesa transaction messages Safaricom already sends to your phone, works out what each payment was, sorts it into a category, and adds the results up so you can see where your money went.

Everything it produces is stored on your device. There is no account, no sign-in, and no server of ours holding a copy of your transactions.

mTagger is not affiliated with, endorsed by, or connected to Safaricom PLC, M-Pesa, Vodafone, Google, or any bank or financial institution. "M-Pesa", "Safaricom" and any other names or marks that appear are the property of their owners and are used only to describe what the app reads.

3. Who may use it

You must be at least 18 years old, or the age of majority where you live, to use mTagger. The app is not directed at children and must not be used by them. It is for your own personal, non-commercial use.

You are responsible for the device you install it on, and for the messages on that device. Do not install it on a phone whose messages you are not entitled to read.

4. Permissions the app requires, and what they are for

mTagger asks Android for the following. Nothing here is used for any purpose other than the one described.

Permission Required? What it is used for
RECEIVE_SMS Yes Notices an incoming SMS the moment it arrives so an M-Pesa payment appears in the app straight away. Messages from any sender other than M-Pesa/Safaricom are ignored and passed through untouched.
READ_SMS Yes Reads the M-Pesa messages already in your inbox — up to the last 90 days on first launch — so the app has a history to show you rather than starting empty.
INTERNET Yes Fetching advertisements from Google AdMob. This is the app's only network use. Nothing read from your messages is ever included in a network request.
ACCESS_NETWORK_STATE Yes Lets the ads library avoid requesting an ad when there is no connection, and lets background housekeeping wait for one.
POST_NOTIFICATIONS No Tells you what was just recorded, and lets you confirm or change a category without opening the app. Declining it costs you nothing else.
WRITE_EXTERNAL_STORAGE (Android 9 and older only) No Writing a spreadsheet to your Downloads folder when you ask the app to export.

Additional permissions are merged in automatically by the Google Mobile Ads SDK and by Android's WorkManager library. They are listed, with what each one does, in the Privacy Policy.

The SMS permissions are the app. Without them there is nothing to read and nothing to show. You can withdraw any permission at any time in Android Settings › Apps › mTagger › Permissions; withdrawing the SMS permissions stops the app working, and does not delete what it has already stored — use Settings › Start again for that.

5. Your data

Your transaction data stays on your device. What the app does and does not do with your information is set out in the Privacy Policy, which forms part of these terms.

You control your data on the device: Settings › Take the numbers out exports it, Settings › Start again deletes it, and uninstalling the app removes everything it stored.

6. Advertising

mTagger is free and is paid for by advertising supplied by Google AdMob. Before the app is usable you are asked to agree to that in one screen.

If you do not agree to the app showing ads, the app closes. There is no ad-free version.

7. The numbers are not a statement of account

This is the section that matters most, and the one people skip.

mTagger is a convenience, not a financial record. It reads text messages written by someone else, in formats that change without notice, and it estimates categories. It will sometimes be wrong. Specifically, and by design:

Your Safaricom M-Pesa statement is the authoritative record of your money, not mTagger. Do not use mTagger for tax, accounting, lending, legal, or any other purpose where accuracy is required, and do not treat anything it shows as financial advice. Check anything that matters against your statement.

8. The app is provided "as is"

To the fullest extent permitted by law, mTagger is provided "as is" and "as available", with no warranties of any kind, express or implied. We do not warrant that:

We may change, suspend, or discontinue mTagger, or any part of it, at any time and without notice, including stopping releases entirely.

You are responsible for your own backups. The app stores data in its private storage and Android's automatic backup is switched off. Uninstalling it, or clearing its data, deletes everything it holds — including corrections you made, which exist nowhere else. Export what you would miss.

9. Limitation of liability

To the fullest extent permitted by law, we will not be liable for any indirect, incidental, special, consequential, or punitive damages, or for any loss of profits, revenue, data, savings, goodwill, or business opportunity, arising out of or connected with your use of mTagger — whether the claim is in contract, tort, negligence, or otherwise, and even if we have been told such loss was possible.

In particular, and without limiting the above, we are not liable for any loss or damage arising from:

Where liability cannot lawfully be excluded, our total liability to you for all claims is limited to the amount you paid for mTagger — which is nil, as the app is free.

Nothing in these terms excludes or limits liability that cannot be excluded or limited under the law that applies to you, including under the Consumer Protection Act 2012 (Kenya) or any equivalent consumer law. If you have such rights, they stand.

10. What you may not do

You may not:

11. Third-party terms

Using mTagger also means complying with the terms of whoever supplied it to you — Google Play, or the platform you downloaded it from — and, where relevant, Google's terms covering the advertising it shows.

If you obtained mTagger from the Apple App Store

Should mTagger ever be distributed through Apple's App Store, the following apply and override anything inconsistent above:

12. Changes to these terms

We may update these terms. The "Last updated" date above changes when we do, and every revision is public in the app's source repository. If a change materially affects what the app does with your data or what you are agreeing to, the app will ask you to agree again rather than assuming your continued use is consent.

Continuing to use mTagger after an update means you accept the updated terms.

13. Ending it

You may stop at any time by uninstalling the app. We may stop distributing or supporting mTagger at any time. Sections 7, 8, 9 and 11 survive whatever ends your use of it.

14. Governing law

These terms are governed by the laws of the Republic of Kenya, and the courts of Kenya have jurisdiction over any dispute arising from them. If you use mTagger from somewhere else, mandatory consumer protections of your own country still apply to you where the law says they do.

15. If part of this is unenforceable

If any part of these terms is found unenforceable, that part is limited or removed to the minimum extent necessary and the rest stays in force.

16. Contact

roy.thande@gmail.com — or open an issue on the project's public repository.


Privacy policy mTagger