Privacy Policy for SpendSense

Last Updated: March 5, 2026

Introduction

This Privacy Policy describes how SpendSense ("we", "our", or "the application") collects, uses, and protects your personal information when you use our expense tracking and classification service.

Information We Collect

1. Google Account Information

When you sign in using Google OAuth, we collect:

2. Gmail Data

If you choose to use the Gmail transaction fetching feature, Gmail access happens entirely within your browser:

3. Transaction Data

We store:

4. Usage Data

How We Use Your Information

We use the collected information to:

  1. Authenticate your access — Verify your identity using Google OAuth
  2. Fetch transactions — Your browser retrieves transaction emails directly from Gmail via Google Identity Services; the server receives only the extracted transaction data you choose to import
  3. Categorize expenses — Automatically classify transactions using regex patterns and machine learning
  4. Generate regex patterns — Optionally use Google Gemini API to generate classification rules from email content
  5. Provide analysis — Generate expense reports, charts, and trends
  6. Maintain your preferences — Store manual category assignments and comments

Data Storage and Security

Local Storage

Encryption at Rest

Sensitive fields are encrypted in the database using AES-256-GCM:

Encryption details:

Security Measures

Third-Party Services

Google Services

We use the following Google services:

SpendSense's 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.

European Central Bank (ECB)

The application may download daily currency exchange rate tables from the European Central Bank's public data feed. No personal data is transmitted to the ECB — only publicly available rate tables are downloaded.

Data Sharing

We do NOT:

Gmail API Scope and Usage

Limited Use Disclosure

SpendSense's 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. This includes data sent to Google Gemini API, which is used solely to provide the regex pattern generation feature explicitly triggered by the user.

Scopes Used

The application requests the following Gmail API scope, obtained client-side via Google Identity Services in your browser — it is not requested during server-side login:

How We Use Gmail Data

Gmail data is used exclusively to:

  1. Search for transaction emails from specific financial service providers — performed by your browser, not the server
  2. Extract transaction information (date, amount, merchant name) — performed locally in your browser
  3. Store the extracted transaction data you choose to import in the application database
  4. Optionally generate regex classification patterns via Gemini API — only when you explicitly trigger this feature; only the email body text for the selected email is sent

Raw Gmail content (email subjects, bodies, or metadata) is never stored on our server. The Gmail access token never leaves your browser. The one exception is the Gemini pattern-generation feature (item 4 above): when you explicitly trigger it, the selected email's body text is sent from your browser to our server, which forwards it to the Gemini API — no other Gmail content reaches the server.

Your Rights and Choices

You have the right to:

  1. Access your data — Review all stored transactions and categories through the web interface
  2. Modify your data — Edit transaction categories, add comments, and create manual entries
  3. Revoke access — Disconnect the application from your Google account at any time via Google Account Permissions

Data Retention

Changes to This Privacy Policy

We may update this Privacy Policy from time to time. Changes will be reflected by updating the "Last Updated" date at the top of this policy. Continued use of the application after changes constitutes acceptance of the updated policy.

Compliance

This application:

Contact Information

If you have questions about this Privacy Policy or how your data is handled, please contact:

Open Source

This application is open source. You can review the code to understand exactly how your data is processed:
Repository: https://github.com/lruggieri/spendsense