Effective date: 5 September 2026 Data controller: Piotr Macholak, Zielona Góra, Poland Contact: macholak.piotr.bitbyte@gmail.com
This policy explains what data the Simple Budget app (the "App") collects, why it collects it, and what you can do about it. It is written in plain language — if anything is unclear, write to the contact address.
You need to sign in to use the App. We support Google sign-in and email and password.
We collect and store:
your email address — identifies your account and lets others invite you to a shared budget,
your display name (when signing in with Google — the name from your Google account),
a user identifier issued by Firebase Authentication.
We do not store your password. Authentication is handled by Firebase Authentication (Google); we only receive confirmation that sign-in succeeded.
We also store a mapping between your email address and your account identifier. It exists solely so that someone who knows your address can invite you to a shared budget — without it, an email invitation would have no way to find you.
This is the main content of the App — data you enter yourself:
income and expenses: amounts, labels, notes, dates, categories and groups, recurrence type,
savings goals and amounts set aside,
monthly budget settings,
transfers between your linked budgets,
budget names, types and colour tags.
We have no access to your bank accounts, payment cards, or any external financial systems.The App does not connect to banks. Every amount is one you typed in yourself or confirmed after scanning a receipt.
The App can take a photo of a receipt, or use one from your gallery, to read the amount and merchant name from it.
The photo never leaves your device. Text is recognised by Google ML Kit running locally, offline, bundled inside the App. Photos are not uploaded to our servers and not stored anywhere — once the text is read, they are discarded. Only what you confirm on the confirmation screen (amount, label, category) is saved to your budget.
Scanning is available on Android and iOS only.
If you use a shared budget, we store the list of its members (identifiers and email addresses), their roles (owner / editor / viewer), and invite codes together with who used them and when.
The App uses Google AdMob to show ads in the free tier. AdMob may collect your device's advertising identifier and technical data (device model, OS version, approximate location derived from IP address) to select and measure ads.
Important notes on how this actually works:
The ads SDK initialises when the App starts on Android and iOS, whether or not a banner is visible.
Ads are not shown to users with active Premium access.
Google's handling of this data is described in Google's policy: https://policies.google.com/privacy
Once we launch paid subscriptions, after a purchase we will store: the plan type, the expiry date, and a cryptographic fingerprint of the store receipt. The fingerprint exists solely to stop one purchase from unlocking Premium on multiple accounts. We do not store the receipt itself or any payment card details — payment is handled entirely by Google Play or the App Store.
As of this release, Premium features are available to everyone free of charge and no purchase data is created.
For clarity — the App contains no analytics or crash-reporting tools, does not collect your GPS location, does not read your contacts, calendar, messages or other files on your device, and does not build advertising profiles on our side.
Purpose
Data
Legal basis (GDPR)
Running your account and providing the App
account data
Art. 6(1)(b) — performance of a contract
Storing and syncing your budget
budget data
Art. 6(1)(b) — performance of a contract
Sharing a budget with people you invite
account data, sharing data
Art. 6(1)(b) — performance of a contract
Reading a receipt
photo (locally, transiently)
Art. 6(1)(a) — consent (camera/gallery access)
Showing ads in the free tier
advertising identifiers
Art. 6(1)(a) — consent, per your device settings
Verifying a purchase and preventing abuse
purchase data
Art. 6(1)(b) and (f) — contract and legitimate interest
Security and abuse prevention
server logs
Art. 6(1)(f) — legitimate interest
We store data in Google Firebase services (Google Cloud Platform):
Database (Cloud Firestore) — region europe-central2 (Warsaw, European Union). This holds your account and budget data.
Authentication (Firebase Authentication) — a Google service; sign-in data may be processed on Google infrastructure outside the EEA, under the terms Google describes.
Server functions (Cloud Functions) — region europe-west1 (Belgium, European Union).
The App keeps a local copy of your data on your device so it works offline. That copy is removed when you uninstall the App.
Retention: we keep your data for as long as your account exists. When you request deletion, we remove it as described in section 6.
We do not sell your data. We share it only with:
Other users you invite to a shared budget. They can see that budget's contents (income, expenses, amounts, goals) and the email addresses of the other members. They cannot see your other budgets. You can always leave a shared budget or remove a member you invited.
Google — as the provider of Firebase (storage and authentication) and AdMob (ads).
Google Play / Apple App Store — when verifying a subscription purchase, once that feature goes live.
Public authorities — only where required by law.
Permission
What for
Required
Camera
Taking a photo of a receipt to read the amount
No — you can enter expenses manually
Photos / gallery
Picking an existing receipt photo
No — same as above
Internet
Syncing your budget and signing in
Yes, but the App also works offline
Google Play Billing
Buying a Premium subscription (feature prepared)
Needs no consent, grants no access to your data
You can withdraw camera and gallery access at any time in your system settings — the App will keep working, just without receipt scanning.
You have the right to:
access your data and receive a copy of it,
rectify inaccurate data,
erase your data (the "right to be forgotten"),
restrict processing,
data portability,
object to processing based on legitimate interest,
withdraw consent at any time (this does not affect the lawfulness of processing before withdrawal),
lodge a complaint with a supervisory authority — in Poland this is the President of the Personal Data Protection Office (Prezes Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warsaw, https://uodo.gov.pl); in other EU countries, your local authority.
To exercise any of these rights, write to macholak.piotr.bitbyte@gmail.com. We respond without undue delay, and within 30 days at the latest.
You can delete your account yourself, inside the App: Settings → Danger zone → Delete account. The action requires a deliberate confirmation (typing the word "DELETE") and is irreversible — we keep no backup from which anything could be restored.
Exactly what goes away:
Item
What happens
Your account and ability to sign in
deleted
Budgets where you are the ONLY owner
deleted entirely — entries, goals, savings history, monthly settings, invitations. People you invited lose access too
SHARED budgets (other owners exist)
kept for the remaining owners; only your membership and role are removed
Budgets where you are an editor or viewer
kept for the owner; you are removed from them
Your profile and settings
deleted
The mapping between your email address and your account
deleted
Invite codes you issued
deleted
Premium purchase associations
deleted
The deletion is carried out by a server function that performs this whole cascade and, as the last step, deletes the authentication account itself. If the operation is interrupted (for example by losing connectivity), you can safely run it again — it will finish whatever it did not complete.
You can also delete a single budget without touching your account: Budget settings → Delete budget.
If you cannot use the App, write to macholak.piotr.bitbyte@gmail.com from the address associated with your account and we will delete the data manually.
Connections to our servers are encrypted (HTTPS/TLS).
Access to data is protected by Firestore security rules: only you and the people you invited can read your budgets.
Premium status cannot be granted from the app — only our server can do that, after verifying the receipt with the store.
Passwords are stored and protected by Firebase Authentication; we have no access to them.
No method of transmitting or storing data is 100% secure — we take care, but we cannot guarantee absolute security.
The App is not directed at children and we do not knowingly collect data from anyone under 16. If you become aware that a child has provided us with their data, write to macholak.piotr.bitbyte@gmail.com and we will delete it.
We may update this policy. We will announce material changes in the App or by email, and publish the new version at [PUBLIC POLICY URL] with an updated effective date.
Privacy questions and data requests: macholak.piotr.bitbyte@gmail.com
Piotr Macholak Zielona Góra, Poland