Privacy Policy
Last updated: September 30, 2026
Introduction
MoneyLogger ("the App") is a personal finance application that helps you track expenses, manage categories, and monitor your spending. This Privacy Policy explains how we collect, use, and protect your information when you use the App.
Data We Collect
When you use the App, we collect and store the following data:
- Account information - your email address, used for authentication and account identification.
- Expense data - expense names, amounts, dates, times, notes, and category assignments that you enter.
- Category data - category names, icons, and colors that you create or customize.
- Scheduled expenses - recurring expense configurations that you set up.
- App preferences - your selected currency, theme preference, and other settings.
- Notification content (Android only, optional) - if you enable the Smart Suggestions feature and grant notification access, the App reads notifications posted by banking apps you have explicitly whitelisted. Notification text is processed locally to extract the transaction amount and currency, and is then sent to Google's Gemini model (via Firebase Vertex AI) or, on devices in a limited test, to TypeSafe's Jev model (see "Smart Suggestions and TypeSafe (Limited Test)" below) to suggest an expense name and category. Notification text from non-whitelisted apps is ignored. Smart Suggestions is opt-in and can be disabled at any time from Settings or by revoking notification access in your device settings.
- Location data (Android only, optional) - if you enable the Smart Suggestions feature and grant location permission, the App reads your device's last known location (latitude and longitude) at the moment a whitelisted banking notification is processed. The App requests precise location, but on Android 12 and later the system permission dialog lets you choose between Precise and Approximate — either choice is sufficient for the feature, which works the same way with either precision. Location capture additionally requires the "Allow all the time" (background) location permission, because notifications are processed while the App runs in the background. Location is used solely to improve the accuracy of expense name and category suggestions — see "Smart Suggestions and Location" below for details. Smart Suggestions works without location; you can deny or revoke this permission at any time in your device settings without losing access to the feature.
- Usage analytics - anonymous usage data about how the App is used, including app sessions, screen views, device model, operating system, language, and country. We also record whether you are using the App in offline mode or with cloud sync. If you are signed in, an anonymous identifier tied to your account is attached to this data so we can troubleshoot issues. This data does not include your expense names, amounts, categories, or any other personal financial information. You can disable analytics at any time from Settings.
How We Use Your Data
Your data is used solely to provide the App's functionality. If you use the App without an account, your data stays on your device and is used only to display your expenses and summaries locally, except for anonymous crash reports and optional usage analytics (see Third-Party Services) and the data Smart Suggestions sends when you enable it (described below).
If you create an account, we additionally use your information to:
- Authenticate your account and keep your data secure.
- Sync your data automatically across your devices.
In both cases, your data is used to:
- Display your expenses, categories, and summaries within the App.
- Apply your preferences such as currency and theme.
We do not sell your personal or financial data, we do not share it with third parties for their own purposes, and we do not use it for advertising. The service providers listed in this policy process it only on our behalf to provide the App's features. We collect anonymous usage analytics to help us find bugs and improve the App. You can disable analytics at any time from Settings.
Smart Suggestions and Location
Smart Suggestions is an optional Android-only feature that turns banking notifications into pre-filled expense suggestions. You must explicitly enable it during onboarding, whitelist each banking app whose notifications you want processed, and grant the relevant Android permissions. The feature is fully opt-in and can be disabled at any time.
If you also grant location permission, your device's last known location is read at the moment a whitelisted banking notification is processed. The App requests precise location; on Android 12 and later you can choose between Precise and Approximate in the system permission dialog, and either choice is sufficient — the feature works the same with either precision. The location is used in two ways:
- Improving suggestion accuracy - the location, the notification text, the transaction amount, and a short history of your recent expenses (in the same currency) are sent to Google's Gemini model via Firebase Vertex AI so that the model can recognize merchants you have spent at before and suggest a more accurate expense name and category.
- Attaching to your expense record - the location is stored locally on the suggestion. If you accept the suggestion and turn it into an expense, the location is saved alongside that expense. If you are signed in to an account, this location is synced as part of your expense data so the expense is available on your other devices.
On devices taking part in the TypeSafe test described below, your location is not sent to TypeSafe: the App compares locations on your device and sends only whether a past expense was recorded within about 1 km. If such a request falls back to Gemini, the location is sent to Gemini as described above.
Location data is never used to track you, never used for advertising, and never shared with any third party other than Google's Gemini service (for the prediction request described above; TypeSafe, in the test described below, receives only whether a past expense was recorded within about 1 km, never the location itself) and Google Firebase (for syncing your accepted expenses, only if you are signed in). Location data is never collected or transmitted while you are not actively using Smart Suggestions, and the App does not run any background location tracking, geofencing, or continuous location monitoring — location is only read in response to a banking notification arriving on your device. You can revoke the location permission at any time from your device settings, and Smart Suggestions will continue to work without it.
On iOS, the App does not request or collect location data.
Smart Suggestions and TypeSafe (Limited Test)
We are testing a second engine for Smart Suggestions with a limited group of Android users. It is provided by TypeSafe AI, Inc. ("TypeSafe"), whose Jev model picks the most likely answer from options the App prepares on your device; it does not write text of its own. We choose remotely which devices take part in the test. If your device is not part of it, this section does not apply to you and Smart Suggestions works as described above.
On a device that is part of the test, the App sends the data listed below to a server we operate on Google Cloud (Cloud Functions for Firebase, in the United States). The server passes it to TypeSafe and returns TypeSafe's answer to the App. The App sends:
- To recognize a payment - for each notification from a banking app you whitelisted that contains an amount the App can find, when the App cannot read that notification with a notification format it has already learned. This includes notifications that are not payments, such as balance alerts, incoming transfers, declined payments, promotions, or messages with a one-time code: the notification's title and text (at most the first 1,000 characters of the text), the banking app's package name, and the amounts and possible merchant names the App found in that notification.
- To suggest a name and category - the notification's title and text (at most 2,000 characters), the payment's amount and currency (for example, "23.50 PLN"), the merchant name and banking app name if known, and the weekday and hour of the payment (for example, "MON 09").
- A summary of your past expenses - for each distinct expense name you recorded in the same currency during the last 90 days (up to 200 names), the App sends:
- the name and its most common category;
- the merchant texts and banking app names it was seen with;
- facts the App calculated on your device: how many times it occurred, how many times with the same amount as this payment, whether its merchant matches this payment's merchant, whether any of those expenses was recorded within about 1 km of this payment's location (yes, no, or unknown), how many times it occurred on the same weekday within two hours of this payment's time, and how many days ago it last occurred;
- two more calculated facts (how many times it occurred within an hour of this payment's time of day, and the usual number of days between occurrences), which our server uses itself and does not pass to TypeSafe.
- Your category names - the names of all your categories (up to 254), so that a suggestion can use a category you have not used recently.
The App does not send:
- Your location coordinates - only the yes, no, or unknown answer described above, calculated on your device.
- The amounts, dates, times, or notes of your other expenses - only the names, categories, merchant texts, app names, counts, and day figures described above.
- Account or device identifiers - no email address, user ID, or device identifier is sent to TypeSafe. Requests to our server carry the standard Firebase security tokens (a Firebase App Check token, and your sign-in token if you are signed in). Our server uses the App Check token only to confirm that the request comes from a genuine copy of the App, does not use your sign-in token for Smart Suggestions, and passes neither to TypeSafe.
Notification text is sent as your bank wrote it, so it can include anything your bank puts in a notification, such as the last digits of a card number, an available balance, or your name.
TypeSafe processes this data as our service provider, only to answer our requests, under a data processing agreement with us. TypeSafe states that it does not train or fine-tune AI models on the data it receives. The agreement does not set a fixed retention period: TypeSafe keeps the data for as long as necessary for the processing, in compliance with applicable laws. Our server does not store the data it passes on, and it does not write the notification text or your expense data to its logs.
TypeSafe's services are hosted in the United States. If you are in the European Economic Area, the United Kingdom, or Switzerland, sending this data to TypeSafe is a transfer of your personal data to the United States. The transfer is covered by the European Commission's Standard Contractual Clauses, with the UK Addendum and the adaptations for Switzerland, which are part of our data processing agreement with TypeSafe.
If the App cannot prepare a request for TypeSafe (for example, when it cannot find an amount in the notification), if TypeSafe or our server cannot be reached, does not answer in time, or returns an error, or if the answer cannot be used, the App sends that request to Google's Gemini instead, with the data described above for Gemini. Learning the format of your bank's notifications always uses Gemini. You cannot choose the engine yourself; to stop sending notification data to either service, turn off Smart Suggestions in Settings or revoke notification access in your device settings.
See the TypeSafe Privacy Policy and the TypeSafe Data Processing Addendum.
Data Storage and Security
Your data is always stored locally on your device first. If you are not signed in to an account, your data remains on your device and is not synced to any server. Apart from anonymous crash reports and optional usage analytics (see Third-Party Services), only Smart Suggestions, if you enable it, sends data off your device, as described in the Smart Suggestions sections above.
If you sign in to an account, your data is automatically synced in the background to Google Firebase services, hosted on Google Cloud infrastructure. Data is encrypted in transit using TLS and encrypted at rest on Firebase servers. We follow industry-standard security practices to protect your information.
Third-Party Services
The App uses the following third-party services:
- Firebase Authentication - for secure user sign-in and account management. See Firebase Privacy Policy.
- Cloud Firestore - for storing and syncing your expense and category data. See Google Cloud Privacy Notice.
- Firebase Crashlytics - for collecting anonymous crash reports to improve App stability. Crash reports do not contain your personal financial data. See Firebase Privacy Policy.
- Firebase Analytics - for collecting anonymous usage data to help us understand how the App is used and improve it. Analytics data does not contain your personal financial data and can be disabled from Settings. See Firebase Privacy Policy.
- Firebase Vertex AI (Google Gemini) - for the Smart Suggestions feature on Android, banking notification text, the transaction amount, a short history of your recent expenses in the same currency, and (if you have granted location permission) your device's approximate location are sent to Google's Gemini model so it can suggest a name and category for the expense. This data is only sent when Smart Suggestions is enabled and a whitelisted banking notification is received. See Firebase Privacy Policy and Vertex AI Data Governance.
- TypeSafe (Jev) - for a limited test of the Smart Suggestions feature on Android, banking notification text, payment details, a summary of your expense names from the last 90 days, and your category names are sent through our server on Google Cloud to the Jev model of TypeSafe AI, Inc., hosted in the United States, so that it can recognize the payment and suggest a name and category. No location coordinates and nothing that identifies your account are sent. See "Smart Suggestions and TypeSafe (Limited Test)" above, the TypeSafe Privacy Policy, and the TypeSafe Data Processing Addendum.
Your Rights
You have the following rights regarding your data:
- Export - you can export all your data as a JSON file at any time from the Settings screen in the App.
- Delete - you can delete your account and all associated data, including cloud-synced data, from within the App. Once deleted, your data cannot be recovered.
- Access - all data you enter is visible to you within the App at all times.
- Offline use - you can use the App without creating an account. In this case, your data is not stored on our servers, though Smart Suggestions, if you enable it, still sends the data described above.
- Analytics opt-out - you can disable usage analytics collection at any time from Settings.
- Smart Suggestions and location opt-out - Smart Suggestions is opt-in and can be disabled from Settings at any time. You can also revoke notification access or location permission at any time in your device settings. Revoking location permission does not disable Smart Suggestions; it only stops location data from being captured and used to refine suggestions.
Children's Privacy
The App is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us so we can take appropriate action.
Changes to This Policy
We may update this Privacy Policy from time to time. When we make changes, we will update the "Last updated" date at the top of this page. We encourage you to review this policy periodically.
Contact
If you have any questions or concerns about this Privacy Policy or your data, please contact us at:
[email protected]