Cowrie: Expense Tracker · Android

Privacy Policy

Effective 20 September 2026 Version 1.0 Applies to app version 1.0.0

The short version

Cowrie keeps everything on your phone. It has no account system, no server, and makes no network requests of its own. Nobody — the developer included — receives your expenses, your amounts, your notes, or anything else you type into the app. There are no ads, no analytics, no trackers, and no third-party SDKs that phone home.

The only way your data leaves the device is when you export a backup or a CSV file and choose where to send it.

1. Who this policy is for

This policy describes how the Android application Cowrie: Expense Tracker (“Cowrie”, the “App”; listed on Google Play as Cowrie: Expense Tracker, package name com.cowrie.expenses) handles information. It covers the App itself and this website where the policy is published. It does not cover the app store you downloaded the App from, your device manufacturer, your cloud-storage provider, or any other app you choose to share an exported file with — each of those has its own policy.

The App is a personal, single-user, offline expense tracker. It is designed around one idea: your financial records are yours, they stay on your hardware, and no part of the App's normal operation requires them to travel anywhere.

2. What we collect

Nothing. The developer of Cowrie collects, receives, stores, transmits, sells, rents, or shares no personal data whatsoever from users of the App.

To be explicit, the App does not collect or transmit any of the following:

Because nothing is collected, there is nothing for the developer to disclose, breach, subpoena, or be asked to delete. Requests for “a copy of my data” can only be answered by you, on your device, using the export feature described in section 6.

3. What the app stores on your device

Everything you enter is written to a private SQLite database inside the App's own sandboxed storage directory. On Android, that directory is readable only by the App itself (and by you, through the App). It is never uploaded.

Data the App stores locally, and why
What is stored Fields Purpose
Entries Type (expense, income, transfer), amount, date, optional note, category, account, destination account for transfers, timestamps The record of your spending — the core function of the App
Accounts Name, type, icon, opening balance, whether it counts toward your total, archive state Grouping entries and calculating balances
Categories Name, short label, kind, colour, icon, parent category Classifying entries and drawing the charts
Budgets Amount, optional category, carry-over flag, 80% warning flag Budget progress and the local alerts described in section 5
Recurring rules Name, amount, type, schedule, next due date, pause state Creating repeating entries on schedule
Quick picks Label, optional amount, category, account One-tap shortcuts on the add screen
Settings Currency symbol and code, digit grouping, month and week start day, theme, lock and reminder toggles, reminder time, last backup time, last used account, onboarding state Your preferences
App lock PIN A 4-digit PIN, if you turn the lock on Stored separately in the Android Keystore-backed secure store — see section 4

Temporary files are written to the App's cache directory only when you export a backup or a CSV. They are overwritten on the next export and are removed by Android when it reclaims cache space.

4. App lock, PIN, and biometrics

You may optionally protect the App with a 4-digit PIN and, if your device supports it, a fingerprint or face unlock.

5. Notifications

The App can show two kinds of notification: a budget alert when spending crosses 80% or 100% of a budget, and an optional daily reminder at a time you choose. Both are local notifications — they are scheduled by the App on your device and fired by Android on your device.

The App does not use push notifications. It never requests a push token, never registers with any push service, and cannot receive a message from the internet. Notification permission is requested only at the moment there is something to show, and declining it does not disable any other feature.

6. Backup, export, and restore

You can export your data in two formats:

Both are handed to the standard Android share sheet, where you choose the destination — a file manager, an email, a messaging app, a cloud drive, or anything else you have installed. The App does not choose for you and receives no confirmation of where the file went; it only records the timestamp of the moment you exported.

Important: an exported file is unencrypted plain text. Once you send it somewhere, it is governed by the privacy policy of whichever service or app you sent it to, not by this one. Store backups somewhere you trust.

Restoring reads a backup file that you pick yourself through the Android document picker. The App can only read the single file you choose; it has no ability to browse your storage.

7. Android system backup

The App participates in Android's standard backup mechanism (allowBackup is enabled). If you have Android Backup turned on in your device settings, Android may copy the App's data — including the expense database — to your own Google account as part of the device-wide backup, so that it can be restored when you set up a new phone.

This transfer is performed by Android, not by the App, and the copy goes to your Google account. The app lock PIN is excluded from it. If you prefer that no copy exists off-device, turn off backup for this app in Settings → System → Backup on your phone. Google's handling of that backup is covered by the Google Privacy Policy.

8. Permissions the app declares

Android requires an app to declare every permission it or its libraries might use. Several of the entries below come from standard framework libraries rather than from a feature you will ever see. The full, honest list:

Declared Android permissions
Permission Used for
POST_NOTIFICATIONS Showing the local budget alerts and daily reminder. Requested only when you enable one. Optional.
USE_BIOMETRIC, USE_FINGERPRINT The optional fingerprint or face unlock. Optional.
VIBRATE Haptic feedback when you tap the keypad and save an entry.
RECEIVE_BOOT_COMPLETED Re-registering your scheduled local reminders after the phone restarts, so they are not silently lost.
READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE (Android 12 and older only) Saving an exported backup or CSV on older Android versions. Not requested on Android 13 or newer.
INTERNET, ACCESS_NETWORK_STATE Declared by the React Native framework. The App makes no network requests — see section 9.
WAKE_LOCK, SYSTEM_ALERT_WINDOW, launcher badge permissions, c2dm.permission.RECEIVE Declared by bundled framework libraries (React Native, the notifications module and its messaging dependency). The App uses none of them for any feature, and does not register for push messages.

The App requests no permission for location, contacts, camera, microphone, photos, SMS, call logs, calendar, or nearby devices, and cannot access any of them.

9. Network access, in detail

Because “offline” is the central promise of this App, here is exactly what that means:

You can verify this yourself: the App is fully functional in airplane mode, and a network monitor will show it making no connections.

10. Third parties

The App integrates no third-party services, no SDKs that transmit data, and no payment processors. It is free and contains no purchases or subscriptions.

Two third parties are nonetheless worth naming because they sit around the App rather than inside it:

Open-source components bundled in the App — the Newsreader, Schibsted Grotesk, and Noto Sans Bengali typefaces under the SIL Open Font License, and the Lucide icon set under the ISC license — are static assets. They transmit nothing.

11. Retention and deletion

Your data is retained on your device for exactly as long as you keep it there. The developer retains nothing, because the developer never receives anything.

To delete your data you have full control at any time:

Deletion is permanent and cannot be undone by the developer, who has no copy. If you want your records to survive, export a backup first (section 6). If you have Android system backup enabled, also remove the backup from your Google account if you want no copy to remain.

12. Security

What the App cannot protect against: a rooted or compromised device, malware with elevated privileges, someone who knows your PIN or can unlock your phone, and exported backup files that you place somewhere insecure. Keeping your device locked and your backups private is your part of the arrangement. No method of electronic storage is perfectly secure; the App is designed to minimise how much is at stake.

13. Your rights

Data-protection laws such as the EU and UK GDPR, the California Consumer Privacy Act, and similar regimes give you rights of access, correction, deletion, portability, and objection to processing.

The App is architected so that you exercise all of them directly, without asking anyone: you hold the only copy, you can view and correct every field in the App, you can export it in a portable open format (JSON or CSV), and you can erase it completely. Since the developer is neither a controller nor a processor of any personal data you enter — none of it is ever received — there is no request that the developer is able to fulfil on your behalf, and no data sale or sharing to opt out of. The App does not sell or share personal information, and never has.

14. Children

The App is not directed at children under 13 and does not knowingly collect any information from anyone, including children. There is no sign-up, no profile, no content from other users, and no advertising. A parent who has questions is welcome to get in touch.

15. Changes to this policy

If the App changes in a way that affects your privacy, this policy will be updated and the effective date at the top of the page revised. Material changes — anything that would alter the core promise that nothing leaves your device — will also be noted in the App's release notes. Previous versions will remain available on request. Continuing to use the App after an update means you accept the revised policy.

16. Contact

Questions about this policy, or about how the App handles data, can be sent to:

Cowrie: Expense Tracker — imran.cse.ku@gmail.com

Because the App collects nothing, the developer cannot look up, recover, restore, or delete anything on your behalf — but questions about how it works are always welcome.