Terms of Service — mTagger
- Applies to: the mTagger Android application, all versions.
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.
- The ads are Google's, not ours. We do not choose, endorse, or vet what is advertised, and we are not responsible for advertisers, their products, or anything you do as a result of an ad.
- Nothing derived from your M-Pesa messages is sent to Google or to any advertiser, or used to select an ad. The advertising code has no access to the transaction database.
- Google receives the ordinary information an ad request carries — your device's advertising ID, IP address, device model and Android version. Google's use of that is governed by Google's own terms, not ours. See the Privacy Policy for the detail and how to reset that ID.
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:
- A message in a format the app does not recognise is not turned into a transaction. It is set aside for you to look at, and if you never do, that spending is missing from your totals.
- Categories are assigned by rules and by heuristics. Some are certain, some are estimates, and estimates that you do not correct within 24 hours are accepted automatically.
- If a message is deleted from your inbox before mTagger reads it, or SMS permission is withdrawn, or the phone is off, the app may never see it.
- Reversals, fees, duplicate receipts and unusual message formats may not be handled the way you would account for them.
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:
- the app will work, or keep working, on your device or Android version;
- it will parse every M-Pesa message, or parse any of them correctly;
- it will be available, uninterrupted, error-free, or free of data loss;
- any defect will be corrected, or that the app will be updated or supported at all.
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:
- transactions the app failed to record, recorded twice, or recorded wrongly;
- categories it assigned incorrectly, including ones it settled automatically;
- totals, summaries, or exports that are incomplete or inaccurate;
- decisions you or anyone else made in reliance on what the app showed;
- data lost through uninstalling, clearing data, device failure, or a bug;
- the app failing to run, install, or update, on your device or at all;
- anything done by Google, Safaricom, an advertiser, or any other third party.
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:
- use mTagger on a device or with messages you do not have the right to access;
- decompile, reverse engineer, or modify the app except where the licence the source is released under, or the law, allows it;
- use it to build a competing service from another person's data;
- use it for anything unlawful, or in a way that harms other people.
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:
- This agreement is between you and us only, not with Apple. We, not Apple, are solely responsible for the app and its content.
- Your licence is a non-transferable licence to use the app on any Apple-branded product that you own or control, as permitted by the App Store Terms of Service.
- Apple has no obligation to provide any maintenance or support for the app.
- In the event of any failure of the app to conform to any applicable warranty, you may notify Apple, and Apple will refund the purchase price (nil) to you. To the maximum extent permitted by law, Apple has no other warranty obligation whatsoever with respect to the app.
- We, not Apple, are responsible for addressing any claim by you or a third party relating to the app, including product liability claims, any claim that the app fails to conform to a legal or regulatory requirement, and claims arising under consumer protection or privacy law.
- We, not Apple, are responsible for the investigation, defence, settlement and discharge of any third-party intellectual property infringement claim relating to the app.
- You represent that you are not located in a country subject to a U.S. Government embargo or designated as a "terrorist supporting" country, and that you are not listed on any U.S. Government list of prohibited or restricted parties.
- Apple and its subsidiaries are third-party beneficiaries of these terms and, upon your acceptance, will have the right to enforce them against you.
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.