Privacy Policy
1. Introduction
Expense Insights ("we", "our", or "the App"), developed by Karmakar Developers, is committed to protecting your privacy. We believe that your personal finances are your private business.
This Privacy Policy explains how our Android application collects, uses, stores, and protects your information, as well as your rights regarding your data. By downloading, accessing, or using Expense Insights, you agree to the practices described in this policy.
This Privacy Policy is written in strict compliance with Google Play Developer Program Policies (including the User Data Policy, Data Safety requirements, Account and Data Deletion Policy, and Google API Services User Data Policy). It explains what information we access, collect, store, and process, why we process it, how it is protected, and how you can exercise your data rights—including deleting your data at any time.
2. Privacy-First Architecture
Expense Insights is built around a Privacy-First, Offline-First philosophy:
- Local Storage by Default: Your transactions, account balances, budgets, categories, and financial notes are saved exclusively on your device in a secure, sandboxed SQLite Room database. No financial records are ever uploaded to cloud servers or synchronized online.
- Local-First Financial Storage: All of your financial records—including transactions, income and expense amounts, accounts, account groups, categories, subcategories, budgets, recurring transaction schedules, and receipt attachments—are stored locally on your Android device in a private, sandboxed SQLite (Room) database.
- No Unsolicited Tracking: We do not track your activity across third-party websites or services.
- No Third-Party Advertising or Profiling: The App contains no third-party advertisements and does not integrate any advertising SDKs, behavioral trackers, or cross-app tracking technologies.
- Zero Data Selling: We do not sell, rent, monetise, or distribute your personal or financial data to data brokers, advertisers, or third-party marketers.
3. Information We Collect and How We Use It
A. Financial Information (User-Provided)
- What We Collect: Transaction amounts, transaction types (Income, Expense, Transfer), dates and timestamps, notes/descriptions, payment accounts, account groups, category tags, custom categories and subcategories, starting balances, recurring transaction rules, and monthly/custom budget thresholds entered by you.
- Purpose: To calculate account balances, generate expense/income analytics, render financial charts and insights, display home screen widgets, track budget limits, display cashflow trends within the App, and generate user-initiated CSV/PDF exports.
- Storage: Stored strictly locally on your device in your private sandboxed database. The App does not operate cloud sync or cloud database backups for your financial transactions or records. If you are a Pro user and explicitly enable Google Drive Sync, your backup file is uploaded directly from your device to your own personal Google Drive account (see Section 4.1).
B. Device Permissions & Hardware Features
Expense Insights adheres to the principle of least privilege and requests only the permissions strictly required to deliver requested features:
| Permission | Technical Name | Category | Purpose & Usage |
|---|---|---|---|
| Camera | android.permission.CAMERA (hardware optional) |
Runtime (Optional) | Used exclusively when you choose to take a photo of a physical receipt or invoice to attach to an expense record. Photos are saved in your app's private storage and are not uploaded to public servers. Never accessed in the background. |
| Audio / Microphone | android.permission.RECORD_AUDIO |
Runtime (Optional) | Used solely for the optional voice assistant / speech-to-text input in the Maya Help Assistant and transaction logging. Speech is processed through Android's system speech recognition services in real time and is never recorded or stored remotely. |
| Notifications | android.permission.POST_NOTIFICATIONS |
Runtime (Optional) | Used to deliver user-configured reminders (such as daily transaction logging reminders at your preferred time), budget warning alerts, and important app notifications. You can disable notifications anytime in the App or Android system settings. |
| Alarms & Reminders | android.permission.SCHEDULE_EXACT_ALARM,android.permission.USE_EXACT_ALARM |
Alarm | Used to trigger the scheduled daily transaction reminder precisely at the hour and minute you configured in Settings. |
| Biometrics | android.permission.USE_BIOMETRIC,USE_FINGERPRINT |
Normal | Used to authenticate your identity when App Lock is enabled. Biometric data is verified by Android's hardware security module (KeyStore); the App never has access to your raw biometric credentials. |
| Boot Completed & Wake Lock | android.permission.RECEIVE_BOOT_COMPLETED,android.permission.WAKE_LOCK |
Normal | Used exclusively to reschedule your active daily reminder alarms and scheduled Google Drive auto-sync jobs after your device restarts. |
| Network Access | android.permission.INTERNET,ACCESS_NETWORK_STATE |
Normal | Used to verify network connectivity, authenticate Google Sign-In via Firebase, check for app announcements, perform optional Google Drive backup/restore, verify Pro entitlements/referrals, check Play Store in-app updates, and load web-based documentation or support resources. |
You may revoke any runtime permission (Camera, Microphone, Notifications, Alarms) at any time via Android Settings > Apps > Expense Insights > Permissions. Core offline expense tracking and budgeting will continue to function normally.
C. Optional Account & Authentication Information
- Google Sign-In: You may optionally choose to sign in with your Google Account for profile management and app support.
- Information Collected: Only your name and email address, along with an authentication identifier and timestamps, are received and stored via Firebase Authentication.
- Usage: Used solely to authenticate your identity, maintain your signed-in session, and deliver App announcements. No financial transaction or expense data is tied to or stored with this authentication record.
D. Receipt Photos & Media Attachments (Optional & Stored Locally)
-
Data Processed: Photos of physical receipts, bills, or invoices that you explicitly capture using the Camera or select via the Android System Photo Picker (
ActivityResultContracts.PickVisualMedia) to attach to a transaction. - Purpose: To allow you to view and manage visual proof of purchase alongside your expense records.
-
Where It Is Stored: Saved exclusively within the App's private local storage directory on your device. Receipt images are never uploaded to our servers. Note: We use Android's zero-permission system Photo Picker and do not request broad access to your device's photo gallery (
READ_MEDIA_IMAGESorREAD_EXTERNAL_STORAGE).
E. Purchase, Entitlement & Referral Program Data (Optional)
-
Data Collected: When you unlock Expense Insights Pro (via Google Play Billing, promotional codes, or the Referral Program), we store and process:
- Purchase status, entitlement tier (e.g., 1 Month, 6 Months, 1 Year, or Lifetime Pro), activation/expiry timestamps, and order/purchase verification metadata.
- Your generated referral code, any referral code you applied (
referredByCode), and your count of verified referrals in the Refer & Unlock Premium program.
- Purpose: To verify legitimate purchases, prevent fraud, credit referral rewards, and allow you to restore your Pro access when switching or resetting devices.
- Payment Security: All monetary payments are processed securely by Google Play Billing or authorized payment gateways. Expense Insights never collects, processes, or stores your credit card numbers, debit card details, bank account credentials, or UPI PINs.
F. User Feedback & Support Communications (Optional)
- Data Collected: When you voluntarily submit feedback, bug reports, or feature requests through Settings > Contact Us or email us directly, we collect your message content, feedback category, optional star rating, and your name/email address (if provided or signed in).
- Purpose: Strictly to review your feedback, troubleshoot technical issues, and respond to your support requests.
G. Voice Input / Audio Data (Optional & Ephemeral)
-
Data Processed: When you tap the microphone button to log transactions or ask questions by voice, your speech is processed in real time using Android's built-in
SpeechRecognizerservice to convert speech into text. - Purpose: Hands-free voice command and transaction entry.
- Retention: Ephemeral only. Expense Insights does not record, store, or transmit raw audio files to any server owned by Karmakar Developers.
3.1 Authentication & Announcement Notifications
- Google Sign-In Information: If you choose to sign in with Google, Firebase Authentication receives and stores only your basic profile information: your name and email address, along with a secure authentication/account identifier and relevant login or activity timestamps.
- Purpose: This information is used strictly to authenticate your account and maintain your signed-in session. No financial data, expense records, or account balances are uploaded or synchronized to the cloud.
- Announcements: The App periodically checks Firestore for official App announcements. When an announcement is available, the App may send a notification to inform you about it. These checks and notifications are used only to deliver App-related announcements and updates.
4. Data Storage and Export
- Local Data Storage: All primary financial and database records remain exclusively inside the application's protected sandbox directory on your Android device. There is no cloud synchronization or online database backup.
- No Cloud or Google Drive Backup: The App does not perform cloud sync, nor does it upload or back up your financial data to Google Drive or external cloud storage.
-
User-Initiated CSV & PDF Exports: When you choose to export your reports or transactions to CSV or PDF, the file is generated locally on your device and shared solely through Android's standard system Sharesheet (
FileProvider) under your direct control.
4.1 Google Drive Sync & Google API Services Limited Use Disclosure
If you have Expense Insights Pro and explicitly enable Google Drive Sync (or trigger a manual backup/restore):
-
Narrow Scope Requested (
drive.file):- The App requests the non-sensitive OAuth 2.0 scope
https://www.googleapis.com/auth/drive.file. - This scope grants Expense Insights access only to the specific backup folder and files created by Expense Insights itself (
Karmakar Developers/Apps/Expense Insights/expense_insights_backup.csv) within your Google Drive. - Expense Insights cannot see, read, modify, download, or delete any other personal files, photos, documents, or folders in your Google Drive.
- The App requests the non-sensitive OAuth 2.0 scope
-
How Backup Data Is Transmitted & Used:
- Backup files are transmitted directly between your Android device and Google Drive's official REST API v3 endpoints over encrypted HTTPS (TLS 1.3).
- Karmakar Developers does not have access to your Google Drive account or your backup files.
- You can delete your backup files directly from within the App (Settings > Google Drive Sync > Delete Data from Google Drive) or revoke Google Drive permissions at any time from your Google Account Third-Party Access Settings.
-
Google API Services User Data Policy (Limited Use Statement):
- Expense Insights' use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
- Specifically, data accessed via Google APIs is used solely to provide and improve user-facing backup and authentication features within Expense Insights, is never transferred to third parties for advertising or monetization, and is never read by humans unless explicitly requested by you for security or support troubleshooting.
4.2 Home Screen Widgets
Expense Insights provides optional Android Home Screen Widgets (Monthly Overview, Today's Spending, Quick Add Transaction, Budget Status, Top Categories, and Recent Transactions). Widget data is read locally from your on-device Room database and rendered through Android's AppWidgetManager. No widget data is transmitted off your device.
5. Third-Party Services and Sub-processors
To provide specific application capabilities, the App interacts with trusted service providers who adhere to strict data security standards:
- Google Play Services & Google Identity Services: Used for app delivery, in-app updates, and secure OAuth 2.0 Google Sign-In and token management.
- Firebase (Google LLC): Used solely for Firebase Authentication (collecting only your name and email address when you choose to sign in with Google) and Firestore for retrieving App announcements. Firebase is not used for synchronizing or storing any of your financial records. Firebase adheres to ISO 27001, SOC 1/2/3, and GDPR compliance standards.
-
Google Drive API v3: Used strictly for user-authorized backup and restoration of transaction CSV data in your personal Google Drive (
drive.filescope). - Google Play Billing Library: Used for secure in-app purchases and subscription/lifetime entitlement verification.
- Google Play In-App Updates & In-App Review APIs: Used to check for and download flexible app updates from Google Play and to allow you to rate and review the App on Google Play.
- Android SpeechRecognizer: Used for on-device or system-level speech transcription when voice commands are initiated.
We do not integrate third-party ad networks, advertising trackers, or profiling SDKs. All third-party services owned by Google LLC process data in accordance with the Google Privacy Policy.
5.1 Google Play Data Safety Summary
To align transparently with the Google Play Store Data Safety section:
| Data Category | Collected (Off-Device) | Shared with Third Parties | Purpose | Optional / User-Controlled |
|---|---|---|---|---|
| Name & Email Address | Yes (only if you sign in with Google or submit Contact Us form) | No | Account management, Pro entitlement & referral sync, customer support | Yes (App works offline without sign-in) |
| User IDs | Yes (only if you sign in with Google) | No | Authentication, fraud prevention, Pro & referral verification | Yes |
| Financial Info (Transactions, Budgets, Accounts) | No (stored locally on device; backed up only to your own personal Google Drive if enabled) | No | Core app functionality, analytics, and user-controlled Drive backup | Yes |
| Purchase & Entitlement History | Yes (only if you unlock Pro or use Referral rewards) | No | App functionality, restoring Pro access across devices | Yes |
| In-App Feedback Messages | Yes (only when you submit the Contact Us form) | No | Customer support and bug resolution | Yes |
| Photos (Receipt Attachments) | No (stored locally on device only) | No | Attaching receipts to transactions | Yes |
| Voice / Audio Input | No (processed ephemerally on-device/system) | No | Voice-to-text transaction entry | Yes |
- Encryption in Transit: All network traffic between the App and remote endpoints is encrypted using industry-standard HTTPS / TLS 1.2–1.3.
-
Encryption at Rest: Local databases reside in Android's protected application sandbox (
Context.MODE_PRIVATE), and cloud backup records are encrypted at rest using AES-256.
6. Data Retention and Deletion (Your Rights)
In compliance with Google Play's Account and Data Deletion Policy, you have full control over your data at all times:
- In-App Data Reset: You can erase all accounts, transactions, and categories directly within the app at any time by navigating to Settings > DATA & BACKUP > Reset App & Restart Setup (or Settings > Danger > Reset App & Restart Setup). This immediately and permanently erases all local transactions, accounts, categories, budgets, and receipt attachments from your device.
- Delete Individual Records: You can edit or delete any individual transaction, account, category, budget, or recurring rule directly within the App at any time.
-
Deleting Google Drive Backup Data: Navigate to Settings > Google Drive Sync > Delete Data from Google Drive to permanently delete your Expense Insights backup file from your Google Drive. You can also delete the
Karmakar Developers/Apps/Expense Insightsfolder directly in your Google Drive app, or revoke Expense Insights' Drive permission at https://myaccount.google.com/permissions. - Account & Authentication Data Deletion: If you have signed in with a Google Account and wish to delete your authentication record (name, email address, and account identifier) from Firebase, you can submit a deletion request at any time by emailing developers.karmakar@gmail.com with the subject line "Data Deletion Request", or via our dedicated Account & Data Deletion Request Form. We will permanently delete your authentication record from Firebase within 30 days. You may also review account data via the Karmakar Developers Data Center Portal.
- Data Retained for Legal/Fraud Compliance: Where strictly required by applicable tax, accounting, or anti-fraud laws, anonymized purchase transaction logs (stripped of personal identifiers) may be retained as required by law.
- Uninstalling the App: Uninstalling Expense Insights removes all local database files stored in the application directory on your device.
7. Security Measures
We implement industry-standard administrative and technical security measures to protect your information:
- All network communications with authentication and announcement endpoints use Transport Layer Security (TLS/HTTPS).
- Local databases are protected by Android's application sandboxing and permission model, isolating your local Room database and shared preferences from other apps on your device unless your device is rooted or compromised.
- Tamper-Resistant Local Entitlement Cache: Sensitive local preferences use HMAC-SHA256 integrity verification.
- Optional Biometric App Lock (Fingerprint, Face Unlock, or Device PIN protection in Settings > App Lock) protects against unauthorized physical access to your device.
8. Children's Privacy (COPPA & Global Compliance)
Expense Insights is designed for general audiences (individuals managing personal, student, or household finances) and is not intended for or directed toward children under 13 years of age (or under 16 in the European Economic Area / UK, or the applicable age of digital consent in your jurisdiction). We do not knowingly collect personal information from children. If you are a parent or guardian and believe a child has provided us with personal information, please contact us immediately at developers.karmakar@gmail.com, and we will promptly delete such information from our records.
8.1 Your Privacy Rights (GDPR, CCPA, and DPDP Act)
Depending on your country or state of residence (including the European Economic Area, United Kingdom, California, and India under the Digital Personal Data Protection Act), you may have specific statutory rights regarding your personal data:
- Right of Access & Portability: You can view all of your financial data inside the App and export your complete transaction history to a standard CSV file at any time via Settings > Export Data.
- Right to Rectification: You can update your profile name, avatar, accounts, categories, and transactions directly within the App.
- Right to Erasure ("Right to be Forgotten"): You can wipe local data inside the App, delete Google Drive backups in-app, and request full deletion of cloud account records by emailing developers.karmakar@gmail.com.
- Right to Withdraw Consent: You can sign out of Google, disable Google Drive Auto Sync, or revoke Android permissions at any time without affecting your access to core offline features.
To exercise any of these rights, contact us at developers.karmakar@gmail.com.
9. Changes to This Privacy Policy
We may update this Privacy Policy from time to time to reflect updates to the App, changes in legal obligations, or Google Play policy updates. When changes are made:
- The "Last Updated" date at the top of this document will be updated.
- Significant revisions will be highlighted within the App's About or Release Notes screen.
- Continued use of the App following any update constitutes acceptance of the revised policy.
10. Contact Us
If you have any questions, concerns, or requests regarding this Privacy Policy or our data handling practices, please contact us at:
com.karmakardevelopers.expenseinsights