Privacy Policy
Last updated: 25 October 2026 · Policy version 2026-10-24
This policy explains how Budget Calendar & Cash Flow (the "app") and its website (https://budget-cashflow-app.web.app) handle your information. The app is published by Diego Ferreira, based in Ireland, under the name DF Dev Apps. Diego Ferreira is the data controller under the EU General Data Protection Regulation (GDPR) ("we", "us"). You can reach us at df.dev.ie@gmail.com.
The short version
- Your accounts, transactions, recurring items, cards, debts, plans and settings stay on your device. The app has no account and no server of its own.
- Bank statements you import are read on your device. The file never leaves it.
- The app uses Google Firebase for usage statistics, crash reports, performance measurements, notifications and its own configuration. This data is linked to random IDs for your installation of the app, not to your name or email address, and never includes your amounts, account names or transactions.
- The first time you open the app, a privacy screen explains this. Until you answer it, the app sends no usage statistics, crash reports or performance measurements, and afterwards it sends them only if you agree, wherever you are. All the switches start off, and you can change them at any time.
- Notifications stay off until you turn them on.
- You can change your choices at any time in More > Privacy. Delete my data, also there, deletes the IDs that link this data to your installation.
- The app shows no ads and doesn't use your device's advertising ID.
- We don't sell your personal data.
Information stored on your device
- Your financial data: the accounts, balances, transactions, categories, recurring items, installment plans, cards, debts and planned purchases you enter, and everything the app computes from them (forecasts, simulations). It is kept in the app's private storage and is never sent to us.
- Imported statements: when you import a bank statement (CSV or PDF), the app reads the file on your device, adds the transactions you confirm to your data and keeps a short fingerprint of each imported row so the same transaction isn't imported twice. The file itself isn't copied or uploaded.
- Your settings: currency, safety buffer, forecast horizon and similar preferences.
- Your privacy choices: a record of what you chose for each purpose, when, which version of this policy you saw and the region the app detected, so the app can apply your choices.
- Backups: if you back up your device (iCloud or a computer backup), the backup may include this data, under Apple's terms.
This information isn't sent to us. Deleting the app deletes it.
Information we collect
The app uses the Google Firebase services described below. Google processes this data for us, as our processor, under the Firebase Data Processing and Security Terms. Firebase identifies your installation of the app only by random IDs: a Firebase installation ID and, for Analytics, an app instance ID. The installation ID is kept until you use Delete my data, and Firebase then deletes it within 180 days. More information: Privacy and Security in Firebase and the Google Privacy Policy.
Legal basis. Usage statistics, crash reports and performance measurements are collected only with your consent (GDPR Article 6(1)(a)), wherever you are. You give or refuse it on the privacy screen the app shows the first time you open it, and you can change it later in More > Privacy.
Usage statistics (Google Analytics for Firebase)
- What: the screens and features you use, with the app version, device model, operating system version, language, time zone, how the app was installed, your approximate location (country, region or city, derived from your IP address, which Analytics doesn't store) and the app instance ID. Your amounts, account names, titles and transactions are never sent.
- Advertising ID: the app doesn't give Analytics your device's advertising ID.
- Purpose: to understand which features are used, so we know what to improve.
- Legal basis: your consent (see above).
- Retention: event data linked to the app instance ID is kept for 2 months, the period we set in Google Analytics. After that, only aggregated statistics remain (Google Analytics data retention).
- Turn it off: More > Privacy > Analytics.
- How Google uses it: How Google uses information from sites or apps that use our services.
Crash reports (Firebase Crashlytics)
- What: when the app crashes or an operation fails, a technical report. It contains what the app was doing (the stack trace), the app version, device model, operating system version, free memory and storage, and random installation IDs. We don't add your financial data to these reports.
- Purpose: to find and fix bugs.
- Legal basis: your consent.
- Retention: 90 days.
- Turn it off: More > Privacy > Crash reports. Reports not yet sent are deleted.
Performance measurements (Firebase Performance Monitoring)
- What: on iPhone and iPad, how long things take, such as starting the app and drawing screens. Each measurement comes with the app version, device model, operating system version, network type, mobile carrier, country (derived from your IP address) and a random installation ID. The Mac version doesn't include this service.
- Purpose: to find and fix slow parts of the app.
- Legal basis: your consent.
- Retention: events linked to an IP address are kept for 30 days, and other performance data for 60 days.
- Turn it off: More > Privacy > Performance.
Notifications (Firebase Cloud Messaging)
- What: when you turn notifications on, the app registers your installation with Firebase Cloud Messaging, using its Firebase installation ID and the app version, so we can send notifications to it. If you also allow usage statistics, Analytics records whether notifications arrive and are opened.
- Purpose: to send the notifications you turned on, about the app and its features. If the app ever sends promotional notifications, they get a separate switch that stays off until you turn it on.
- Legal basis: your request. You turn notifications on, and the registration is needed to deliver them (GDPR Article 6(1)(b)). This applies wherever you are.
- Retention: the registration lasts until you turn notifications off. Copies of the ID we keep to send notifications are deleted then, or after about a month without use.
- Turn it off: More > Privacy > Notifications, or in your device's notification settings.
App configuration and updates (Firebase Remote Config)
- What: when it starts, the app downloads its settings from Firebase Remote Config, such as the oldest version that still works. The request includes the Firebase installation ID, the app version, the operating system version, and your language, country and time zone.
- Purpose: to keep the app working, and to tell you when an update is available or required.
- Legal basis: our legitimate interest in operating the app and keeping it secure (Article 6(1)(f)). The app needs this to work, and it isn't used to measure or personalize anything, so it doesn't depend on your privacy choices.
- Retention: the installation ID, as described above.
Advertising
The app shows no ads and doesn't use your device's advertising ID. If we add ads in a future version, we will update this policy first and ask for your consent where the law requires it.
Your choices and Delete my data
- More > Privacy has a switch for each of Analytics, Crash reports, Performance and Notifications. When you turn one off, that data stops being sent from the next time you open the app at the latest, and crash reports not yet sent are deleted.
- Delete my data turns every switch off, resets the Analytics ID, unregisters notifications, deletes crash reports not yet sent and deletes the app's Firebase installation ID.
- It also requests deletion of the Analytics data linked to your installation. The app prepares an email to us with the ID for you to send, and we pass the request to Google. Google removes that data from reports within 72 hours and deletes it within about 2 months. Statistics already aggregated aren't affected.
- Crash reports and performance data can't be deleted for a single installation. They expire after the periods above.
- Being asked again: when the version of this policy changes, the app shows its privacy screen again and sends no usage statistics, crash reports or performance measurements until you answer. If you decline, it doesn't ask you again for at least 6 months, unless the policy version changes.
Information we do not collect
The app doesn't collect your name, email address, phone number, contacts, bank credentials or precise location, and it has no accounts. It never connects to your bank. It asks for a permission only when you use the feature that needs it, such as notifications or choosing a statement file to import.
When you contact us
If you email us, we receive what you choose to send: usually your name, email address and message. Contact links and Send feedback open your own email app, so your message reaches us as an ordinary email.
- Purpose: to answer your message and to fix problems you report.
- Legal basis: our legitimate interest in responding to inquiries and improving the app (GDPR Article 6(1)(f)).
- Retention: up to 24 months after our last contact with you, then deleted.
- Email provider: our mailbox is Gmail, provided by Google under the Google Privacy Policy. Messages may be stored outside the EEA.
We never sell your information or use it for marketing.
Where your data is processed
Google may process the data described in this policy outside the EEA, including in the United States. Transfers to Google LLC rely on the EU-US Data Privacy Framework, its UK Extension and the Swiss-US Data Privacy Framework, under which Google LLC is certified. Other transfers rely on the European Commission's Standard Contractual Clauses, which are part of Google's data processing terms.
Security
Everything the app sends travels over encrypted connections (TLS). Your financial data stays in the app's private storage on your device, protected by your device's passcode and encryption. Google stores the Firebase data encrypted at rest, and in Firebase only our developer account can access it. Third parties that receive data through the app, such as Google, are bound by their terms to protect it at least as well as this policy describes.
Our website
The website is a static site on Firebase Hosting. When you visit it, Google processes your IP address and basic request details (such as the page requested and your browser type) to deliver the site and protect it from abuse. This is based on our legitimate interest in running a secure website (Article 6(1)(f)). Google keeps the IP data for a few months. The website uses no cookies, scripts, analytics or tracking.
Ratings and store statistics
After you've used the app for a while, it may show the App Store's own rating prompt. Your rating and review go to Apple under its terms, and we only see what the App Store publishes. Depending on your device settings, Apple may also share crash statistics and aggregated data, such as download counts, with developers. This data doesn't identify you to us.
Children
The app is meant for a general audience and isn't directed at children. We don't knowingly collect personal data from children. If you are under 16, or under the age of digital consent where you live, ask a parent or guardian before you allow optional data collection. If you think a child has sent us personal data, for example by email, contact us and we'll delete it.
Your rights
Under the GDPR, you can ask us for access to your personal data, and ask us to correct or delete it, to restrict or object to its processing, or to give it to you in a portable format. Where we rely on your consent, you can withdraw it at any time in More > Privacy, as easily as you gave it. Withdrawing doesn't affect processing that happened before. Where we rely on our legitimate interest, you can object at any time, in More > Privacy or by email. To exercise your rights, email df.dev.ie@gmail.com. We reply within one month.
You don't have to provide any of this data: the app works with every switch in More > Privacy turned off. The app doesn't make decisions about you based solely on automated processing that have legal or similarly significant effects on you.
You can also complain to the Data Protection Commission in Ireland (www.dataprotection.ie), or to the data protection authority where you live or work, such as the ICO in the UK.
Changes to this policy
We may update this policy. The date at the top shows when it last changed. The policy version changes when what the app collects, why, who processes it or how long it's kept changes, and More > Privacy shows the version your current choices refer to. The app then shows its privacy screen again (see Your choices and Delete my data). We note significant changes in the app's release notes. If a translation of this policy differs from this English version, the English version applies.
Contact
- Diego Ferreira (DF Dev Apps), Ireland
- Email: df.dev.ie@gmail.com
- Website: https://budget-cashflow-app.web.app
- Developer website: https://appcraftlabs.com