MyBudget

Data & Permissions

A plain-language explanation of every device permission MyBudget requests, every third-party service it connects to, and exactly why each one is needed. Nothing is collected or shared beyond what is described here.

Device permissions

MyBudget requests the following device permissions. Each permission is requested only when you first use the feature that needs it — never upfront on install.

📷 Camera Optional

Used to take photos of receipts for AI-powered extraction.

When it's used: only when you tap "Scan Receipt" and choose to take a new photo. The camera is not accessed at any other time.
Can I use the app without it? Yes. You can upload receipt photos from your gallery instead, or enter transactions manually. Receipt scanning requires either camera or gallery access.

🖼️ Photo Library Optional

Used to select an existing photo from your gallery for receipt scanning.

When it's used: only when you choose "Select from gallery" in the receipt scanner.
Can I use the app without it? Yes. You can use the camera directly to capture receipts, or enter transactions manually.

📍 Location (When in Use) Optional

Used to attach your current location to a receipt scan so that the store can be identified and shown on the in-app spending map.

When it's used: only at the moment you scan a receipt. The app does not track your location at any other time and does not run location services in the background.
Can I use the app without it? Yes. Location is entirely optional. Receipt scanning works without it — you just won't have store pins on the map for manually-entered or locationless scans.

👤 Contacts Optional

Used to autofill names when you are splitting a bill with someone from your contacts list.

When it's used: only when you open the Split Bills screen and type a name. Contact suggestions appear in the search field.
What we do with contacts: contact names are used only for autofill on your device — they are never uploaded to our servers or stored in the cloud.
Can I use the app without it? Yes. You can type names manually in the split bills screen.

🔔 Notifications Optional

Used to send push notifications for store specials and price changes on items you follow.

When it's used: only when you follow a store in the Insights tab and a price change is detected for an item you have previously purchased.
Can I use the app without it? Yes. All features work without notifications. You can check the Specials section manually in the Insights tab at any time.

You can review and revoke any permission at any time in your device's Settings > Privacy & Security. Revoking a permission means the related feature will not be available until you re-enable it.

Third-party services and integrations

MyBudget connects to the following third-party services. We have selected each one because it provides the best available option for the required function. No personal financial data is shared with any of these services beyond what is explicitly described.

Service What it does Data sent
Firebase Auth
Google LLC
Manages your account login. Supports email/password and Sign in with Apple. Email address, authentication tokens.
Cloud Firestore
Google LLC
Cloud database that stores your financial data (transactions, budgets, income, settings) when you are signed in, so it syncs across devices. Your transaction, budget, and income records. Accessible only to your account.
Firebase Crashlytics
Google LLC
Captures crash reports automatically so we can fix bugs. Sends a stack trace and device info when the app crashes. Device model, iOS version, app version, and crash stack trace. Does not include financial data.
Firebase Analytics
Google LLC
Tracks which features are used in aggregate so we can prioritise improvements. All analytics are anonymised. Anonymised usage events (e.g. "receipt scan started", "budget created"). No financial amounts or personal details.
Firebase Cloud Messaging (FCM)
Google LLC
Sends push notifications for store specials to devices that have followed a store. Your device push token (an anonymous device identifier). Sent when you enable notifications.
Google Gemini
Google DeepMind
AI model used for receipt text extraction. The receipt image is sent to Gemini via our secure Cloud Functions and line items are extracted. The receipt image only. No account information, name, or financial history is attached.
Nominatim / OpenStreetMap
OpenStreetMap Foundation
Converts merchant names from receipt scans into map coordinates (geocoding) for the in-app store map. Merchant name strings only (e.g. "Checkers, Claremont"). No personal data.

Data storage location

All Firebase services (Firestore, Auth, Crashlytics, Analytics, FCM) store data in the United States on Google infrastructure. Google complies with SOC 2 and ISO 27001 standards. All data in transit is encrypted via TLS 1.2 or higher.

International transfers

As a South African user, your data is transferred to the United States for cloud storage and AI processing. This is done under standard contractual safeguards as recognised under POPIA. We have no practical alternative to using US-based cloud infrastructure for the AI and sync features MyBudget depends on.

Your data controls

You are in control of your data. Here is what you can do at any time:

What we do not do