ExpenseLM Privacy Policy

Last updated: 11/6/2026

Last updated: 6 November 2026

This policy explains what personal data ExpenseLM collects, why, who it's shared with, how long it's kept, and the choices you have. It covers:

  • the ExpenseLM website (expenselm.ai)
  • the web app (web.expenselm.ai)
  • the iOS and Android apps
  • the ExpenseLM API
  • the ExpenseLM MCP server, which lets AI assistants such as Claude or ChatGPT work with your ExpenseLM data

ExpenseLM is operated by Clarence Ho, trading as ExpenseLM, a sole proprietorship registered in Hong Kong, at 234 Tung Choi Street, Mong Kok, Kowloon, Hong Kong ("ExpenseLM", "we", "us"). For any privacy question or request, contact support@expenselm.ai.

1. The data we collect

Data you give us

  • Account data. Your email address and how you sign in (email and password, Google or Apple). Passwords are handled by Google Firebase Authentication; we never see them.
  • Receipts and invoices. The images you upload, and a smaller thumbnail we generate from each one.
  • Expense data. What we extract from your receipts, or what you type in yourself:
    • shop name and address
    • date and currency
    • total and the individual items with their prices
    • category and type (standard or subscription)
    • your remarks
  • Settings. For example your default currency.
  • Support messages you send us.

Data created when you use ExpenseLM

  • Search data. A numerical representation ("embedding") of each expense's text, used for search. Searches you run may be logged with the request (see "Usage logs").
  • Usage and quota data. How many images you've extracted this month, your plan, and your API key, if you created one.
  • Usage logs. For each request to our API:
    • the time and the endpoint used
    • the result
    • your IP address and the country derived from it (using a local database; the IP address is not sent to a third party for this)
    • your browser or app (user agent)
    • for searches and exports, the search terms or date range
    • your user id and email address
  • Payment data. If you subscribe, Stripe handles the payment. We receive and keep your Stripe customer and subscription ids, your email and the subscription status. We never see your card details.
  • Analytics.
    • Our website uses Google Analytics to understand how visitors use it.
    • Our mobile apps use Google Analytics for Firebase, with a pseudonymous user id, to understand how features are used. We don't send your email address or expense data to analytics. App versions before 1.1.3 also sent your email address; we've stopped that, and we remove it from our analytics database.

Data from AI assistants you connect

If you connect an AI assistant to ExpenseLM (through our MCP server, using Google sign-in or an API key), we receive the requests that assistant makes on your behalf. For example, "list my expenses for October" or a receipt photo you upload through a link it gives you. We treat these exactly like requests from our own apps.

We don't collect special categories of data on purpose. Receipts can still show things like the name of a clinic or pharmacy. Avoid uploading receipts you don't want stored.

2. Why we use it

We use your data only to:

  1. Provide ExpenseLM: extract expense details from your receipts, store and search your expenses, show statistics, convert currencies, and let you and the AI assistants you connect access your data.
  2. Run your account and plan: sign-in, monthly extraction quotas, subscriptions and billing.
  3. Keep the service secure and working: prevent abuse, investigate errors, and keep usage logs.
  4. Improve ExpenseLM: understand which features are used, from analytics, aggregated usage, and our own analysis of usage logs and account data. For that analysis we keep a copy of usage logs, account profiles and app analytics events in an internal analytics database on Google Cloud (BigQuery). It is subject to the same retention and deletion rules as the original. This does not include training AI models on your receipts or expenses.
  5. Contact you about your account or the service, for example important changes or replies to your support requests.

We don't:

  • sell your personal data
  • use it for advertising
  • send you direct marketing without your separate consent
  • use your receipts or expense data to train AI models

Providing your email address is necessary to create an account. Everything else you enter is up to you, but without receipt images or expense details there is nothing for ExpenseLM to work with.

3. AI processing

Receipt images are processed by Google's Gemini models through Google Cloud Vertex AI to extract the expense details. Expense text is turned into embeddings by a Google Cloud model for search.

Under Google Cloud's terms, Google does not use this data to train its models without our permission, and we have not given it. Google may cache inputs for up to 24 hours, and may log them for abuse monitoring as described in its documentation.

Extraction is automated and can make mistakes. Check important details, such as amounts you'll claim or report, against the original receipt.

4. Who we share it with

We share personal data only with these service providers, and only for the purposes above:

ProviderWhat forData involved
Google Cloud and Firebase (Google LLC)Hosting (website, web app and API), database, file storage, AI extraction and search, sign-in, app analyticsAll data described above
StripeSubscription paymentsEmail, subscription and payment details
Google Analytics (Google LLC)Website analyticsWebsite visit data (cookies)
ResendSending service emails, such as account or service noticesYour email address and the content of the email

AI assistants you connect. When you connect an assistant such as Claude, ChatGPT or Gemini to ExpenseLM, the data it requests is sent to that assistant's provider under their terms and privacy policy, not ours. You choose what to connect, and you can disconnect at any time (see section 7).

Legal reasons. We may also disclose data if the law requires it, or to protect the rights, safety or property of our users, ExpenseLM or others.

5. Where your data is stored

Your data is stored and processed in the United States, on Google Cloud, in multi-region US locations. Our service providers may process it in other countries too. When we transfer data out of Hong Kong, we rely on our providers' contractual commitments to protect it, such as Google Cloud's Cloud Data Processing Addendum.

6. How long we keep it

DataHow long
Account, expenses, receipt images and thumbnailsWhile your account is open
A deleted expense and its receipt imageDeleted immediately
Receipt images uploaded for extraction but not saved as an expenseDeleted within 30 days
Images uploaded through an AI assistant's upload linkKept up to 10 minutes until extracted, then stored like any other receipt image
Usage logs (including the copy in our analytics database)12 months
Payment recordsAs long as required by tax and accounting law
App and website analytics (including the copy in our analytics database)Up to 14 months

When you delete your account, we delete your profile, expenses, receipt images, search data, usage logs and sign-in account immediately. The copies of your usage logs and profile in our internal analytics database are deleted within 7 days. Copies in our providers' backup systems are deleted on those providers' standard schedules.

7. Your choices and rights

You can:

  • Access and correct your data. Most of it is visible and editable in the app. For anything else, email us.
  • Export your data: email us and we'll send it to you.
  • Delete individual expenses, or your whole account: Settings → Danger zone in the web app, or in the mobile app settings.
  • Disconnect AI assistants. Remove ExpenseLM from the assistant's connector or app settings. If you gave an assistant your API key, email us and we'll replace the key.
  • Refuse cookies on the website through your browser settings.

Under Hong Kong's PDPO you have the right to request access to and correction of your personal data. Depending on where you live (for example the EU or UK), you may also have rights to erasure, restriction, portability and objection, and to complain to your local data protection authority.

To make a request, email support@expenselm.ai from your account's email address. We'll reply within 40 days, the PDPO time limit, and usually much sooner. We may need to confirm it's you, and the law lets us charge a reasonable fee for access requests, though we don't currently.

8. Security

We protect your data with industry-standard measures:

  • encryption in transit (HTTPS) and at rest (Google Cloud default encryption)
  • access controls that limit who can reach production systems
  • encrypted storage of sign-in tokens used by connected AI assistants

Receipt images are stored in a private bucket and are only served to the account that owns them. No method is completely secure, though. If we discover a breach that affects your data, we'll tell you and the authorities as the law requires.

9. Children

ExpenseLM is not intended for children under 16. We don't knowingly collect data from them. If you believe a child has given us data, contact us and we'll delete it.

10. Changes to this policy

We'll post any change here and update the date at the top. For significant changes, we'll also tell you by email or in the app before they take effect.

11. Contact

Clarence Ho, trading as ExpenseLM 234 Tung Choi Street, Mong Kok, Kowloon, Hong Kong Email: support@expenselm.ai

For PDPO data access or correction requests, address them to Clarence Ho, Founder, at the email or postal address above.