← Back to home

Privacy Policy for Full Frills Balance

Effective date: November 12, 2026 · Last updated: November 12, 2026

The short version

What changed on November 12, 2026

This update makes the Gmail data-protection safeguards and retention and deletion rules explicit, including the local database's lack of separate app-level encryption and the unencrypted nature of exported backups. The homepage now describes optional Gmail transaction capture and its broad read-only permission. The November 9 update's Gmail access and use disclosures and the October 16 update's SMS, voice, analytics, backup and website disclosures remain in force.

1. Overview

Full Frills Balance is designed primarily as an offline personal money management application. It does not connect to bank accounts; financial records are based on information you enter, SMS messages you choose to import, files you choose to import, or transaction emails you choose to connect.

Your financial records are stored on your device and are not uploaded to our servers. Data does leave your device for the purposes described in this policy: Google sign-in and Gmail API requests if you connect Gmail (section 4), allowlisted analytics and crash reports (section 6), voice entry through your phone's speech service (section 5), exchange-rate and update-check requests (section 7), and Apple or Android device backup if you have it turned on (section 8). Section 10 lists everyone who may receive data.

2. Financial Data Stored Locally

The following data is stored on your device:

We do not store this financial data on our own servers.

The app may also store the version of this Privacy Policy you acknowledged and the acknowledgement time. That local record is the app's acknowledgement state and remains on your device. If product analytics is enabled, the app may send a best-effort pseudonymous acknowledgement event to PostHog with the policy version as its event-specific data, alongside the standard analytics and device context described below. This telemetry is not a signed legal record. It does not send the policy text, a signature, or your financial records.

3. SMS Access and Transaction Import

On Android, Full Frills Balance may request SMS permissions to check messages for transaction details. Automatic SMS import is optional and starts only after you enable it in Settings.

SMS access is used only to:

How automatic import works

Everything below happens on your phone:

What is kept on your device

For transaction messages the app captures:

SMS review notifications

SMS review notifications are optional and scheduled locally on your device. Their enablement and detail-preview settings apply to this device and are not included in exported backups. By default they contain a generic review prompt. You can choose detailed previews with extracted transaction information; the app hides these details while Privacy Mode or app lock is enabled. Notification routing uses local inbox and workplace identifiers rather than raw SMS content. The pending inbox is shared on the device; posting, dismissing, and rule decisions belong to each workplace (a separate set of books in the app).

SMS permissions are optional, and the app remains usable without granting SMS access or enabling automatic import. Automatic import requires Android's SMS read and receive permissions. We do not intentionally upload full SMS content, sender details, or message bodies to external servers.

4. Gmail Access and Transaction Email Import

On supported iOS and Android devices, you may connect a Google account and grant Full Frills Balance the Google gmail.readonly permission. This permission can read messages across your Gmail mailbox, not only transaction emails. The app's capture search is limited to Inbox messages received after you connect it to a Workplace, and it may inspect unrelated Inbox messages on your device while matching. Google does not offer a read-only permission limited to transaction emails. Connecting Gmail is optional. Ordinary local use does not require it. Automatic transaction capture and background Gmail checks on supported devices are separate optional settings.

When Gmail is connected, the app checks Inbox messages received after you connect Gmail for a Workplace. It may inspect messages unrelated to transactions to decide whether they match. The app reads message sender, subject, received time, message identifiers, and text content for this on-device check. For a matched transaction email, the app processes the content on your device to identify transaction direction, amount, currency, merchant, reference number, and possible account. A transaction goes to the local inbox for review unless you separately enable automatic capture and the message meets the app's verification and matching requirements. Automatic capture applies only to eligible messages received after you enable it.

The app does not send Gmail message content or your financial records to Full Frills Balance servers. Email parsing and transaction matching happen on your device. The app does not save the full email body as a transaction record. For a matched email, it stores selected details locally: sender, subject, received time, Gmail message identifiers, parsed transaction fields, processing status, and account-recognition details used for matching. These details are kept in the local transaction inbox and may also be present in related journal records and exported backups. Unmatched messages are not saved. Message content temporarily fetched for matching, previews, or signature checks is processed in memory and is not intentionally written to the app database, logs, analytics, or crash reports.

Google processes sign-in and Gmail API requests under Google's own terms and privacy policy. Gmail API requests go directly from your device to Google over HTTPS. Google Sign-In components manage access credentials; the app does not write tokens to transaction records, app logs, analytics, or exported backups. Analytics and crash-reporting providers do not receive Gmail bodies, sender details, subjects, access tokens, or parsed transaction content. If you enable verified automatic capture, the app queries Google Public DNS with the sender domain and DKIM key selector to look up a public signing key; it does not send email content in that DNS request. The app stores a local association between the selected Workplace and Google account identifier, along with the Gmail history cursor and local capture settings.

The app's use of information received from Google APIs follows the Google API Services User Data Policy, including its Limited Use requirements, and the Google Workspace User Data and Developer Policy. Gmail data is used only for the transaction capture and bookkeeping features described here.

Data protection for Gmail information

Matched Gmail details are stored in the app's private on-device SQLite database. The app does not add a separate encryption layer to this database. The optional App Lock gates in-app access with your device biometrics or credentials, and Privacy Mode hides amounts and source text on screen; neither encrypts stored files. Use a device screen lock and protect your files. Exported ZIP backups are not encrypted by the app.

Retention and deletion of Google user data

You can turn off automatic capture and background checks in Gmail settings, or disconnect Gmail from a Workplace. Disconnecting stops future checks and removes its local connection and history cursor. If no other Workplace uses the same Google account, the app also asks Google Sign-In to revoke access and signs out. You can review or revoke access from your Google Account security settings.

5. Voice Entry

You can optionally dictate a transaction instead of typing it. Voice entry asks for microphone and speech-recognition permission only when you start it. Speech is converted to text by your device's speech-recognition service, which, depending on your device and settings, may be provided by your phone's operating system vendor (for example Google on Android) and may process audio online under that provider's own privacy terms. The app then parses the resulting text on your device. We do not receive or store your audio recordings. Analytics may record that voice entry was started or that permission was denied, but not what you said.

6. Analytics and Crash Reporting

We use PostHog and Expo Insights for product analytics and technical improvement. Analytics may include only allowlisted event fields and values, including:

We do not intentionally send:

Analytics and crash reporting are turned on in release builds of the app. There is currently no in-app setting to turn them off; if you object, contact us (section 15). Analytics identifiers are pseudonymous and are used only to understand app usage and improve functionality. PostHog session replay is disabled. We do not record in-app screenshots or screen replays for product analytics.

Sentry (crash reporting) is separate from PostHog. When enabled, error reports and performance traces may include error types, code locations (function names, file paths and line numbers from the app's own code), and navigation timing; error message text is removed before sending. Default personal data collection is turned off. Native crash reporting is disabled because its reports bypass the app's privacy filters, so native crashes, freezes and out-of-memory terminations are not reported. We do not attach screenshots or screen layouts, and we do not enable Sentry session replay or screen recording.

Bug reports you choose to send. If you use the in-app bug report option, the app builds a diagnostic ZIP (app and device details plus recent app logs) and opens your phone's share sheet. Nothing is sent unless you pick where to share it.

7. Internet Use

Although Full Frills Balance is primarily offline, internet access is used for limited features:

Like any internet request, these services can see standard network information such as your IP address and the time of the request.

8. Export, Backup and Device Backup

You may export app data as ZIP backup files containing your personal records. Exported files remain under your control on your device or wherever you choose to save or share them.

Backups are not encrypted by the app, so you are responsible for protecting exported files. Backups you explicitly export may include original SMS content associated with the exported workplace records, including older journal source fields; the shared Device pending feed is not part of a workplace backup. Clearing app data does not delete backup files you previously saved or shared.

Apple and Android device backup. If iCloud Backup or Android device backup is enabled, the operating system may include the app's local data in a backup associated with your Apple or Google account and may restore it to another device. The app allows Android's built-in app-data backup. These backups are controlled by your operating system and account settings, not by us, and we cannot access them. Factory Reset or clearing app data on this device does not delete copies already held in device backups.

9. No Required App Account

Full Frills Balance does not require an app account or sign-in for ordinary local use. Gmail capture is optional and requires you to connect a Google account and grant Gmail read-only access. The app does not require:

10. Data Sharing

We do not sell personal data. Data may be processed by these parties, only for the purposes described:

Files you export or bug reports you share go only where you choose to send them.

11. Permissions

Depending on features you choose to use, the app may request:

Permissions are optional where possible and used only for app functionality. The app does not request access to your photos or videos.

12. Planned Future Online Features (Not Currently Available)

The current app does not offer account registration, online sync, or cloud backup. Future versions may offer optional encrypted backup or multi-device sync. If introduced, the intended privacy principles are:

If online sync is introduced, this Privacy Policy and the in-app disclosure will be updated before the feature is enabled. Stopping sync would stop future uploads, but it would not automatically recall data already downloaded to a device or delete a server backup unless a separate deletion process is completed.

13. Security

On native devices, the app stores financial records in an app-private SQLite database and does not add a separate encryption layer to that database. The optional App Lock requires your device's biometrics or credentials to open the app; Privacy Mode hides amounts and source text on screen. These controls restrict in-app access or display but do not encrypt stored files. Secure your device with its screen lock. Exported ZIP backups are not encrypted by the app, so protect or delete them yourself.

14. This Website

This website (fullfrills.sahilsoni.in) uses Vercel Web Analytics and Speed Insights to count page views and measure page performance. If you join the iOS waitlist, the email address you enter is sent through the FormSubmit form service so we can notify you when the iOS app is available. We use it only for that purpose.

15. Children's Privacy

Full Frills Balance is not directed to children. If you are below the age at which you can provide valid consent under the law that applies to you, use the app only with a parent or legal guardian involved.

16. Privacy Requests and Contact

Your local financial records and Gmail-derived transaction details are stored on your device, so we generally cannot access or recover them from our servers. Use the app's Settings controls for export, restore, factory reset, and Gmail disconnection. Disconnecting stops future checks but does not delete transaction records already saved locally. You can revoke Google access in your Google Account settings.

For data processed by Full Frills Balance or its service providers, you may contact us about privacy questions or requests such as access, correction, deletion, or withdrawal of consent where applicable. We may need to verify a request and may retain information where required by law.

Sahil Soni
sscsps@gmail.com

17. Changes to This Policy

This Privacy Policy may be updated when app features or data practices change. When an update materially changes how data is handled, we will update the effective and last-updated dates and provide an in-app or other appropriate notice where practical.

Update history: