openPFM

openPFM privacy policy

Effective 11 October 2026. The openPFM account and AI service sections apply from the first app version that offers them.

openPFM is a free personal finance app for Android, licensed under the GNU AGPL v3 or later. This policy explains what the Android app does with your data.

In short: openPFM has no analytics and no ads. Your statements and everything worked out from them are stored only on your phone. To read statements and answer questions, the app sends data to OpenAI, only after you agree to it, in one of two ways you choose between:

What the app handles

Where it is stored

All of it is stored only on your phone, in the app's private storage, which other apps can't read. The OpenAI API key and your openPFM sign-in are encrypted with a key held in the Android Keystore. If you have an openPFM account, the account itself is kept by the services described below.

The app's data is excluded from Google's cloud backups. If you move to a new phone with Android's direct phone-to-phone transfer, your statements and settings can be copied across; your OpenAI key and openPFM sign-in can't be decrypted on the new phone, so you enter the key or sign in again.

What leaves your phone, and why

OpenAI (on-device mode)

openPFM uses OpenAI's AI models through OpenAI's API, either with your own API key or through the openPFM AI service (next section). Before anything is sent, the app shows what will be sent and where, and asks you to agree, separately for each of the two. If you don't agree, or later withdraw your agreement in Settings > AI, nothing more is sent.

Once you agree, the app sends, from your phone to OpenAI (directly with your own API key, or through the openPFM AI service):

With your own key, OpenAI processes this data under your own agreement with OpenAI; through the openPFM AI service, under openPFM's. Either way OpenAI's API data usage policies (https://openai.com/policies) apply, which describe how long OpenAI may retain API data, for example for abuse monitoring.

The openPFM AI service (optional, with an openPFM account)

Instead of your own key, you can sign in with Google to an openPFM account and use the openPFM AI service, a free service with daily limits run by openPFM's developers. It's offered only in versions of the app that include Google sign-in (not in F-Droid builds).

Exchange rates (Frankfurter)

To convert between currencies, the app downloads daily exchange rates from the Frankfurter API (https://frankfurter.dev), which publishes European Central Bank reference rates. The request contains only a date range and a currency code, with no personal or financial data.

Your own openPFM server (server mode, optional)

If you connect the app to an openPFM server that you run yourself (Settings > Advanced), your statements and questions go to that server instead, and its own setup decides what happens to them. Unencrypted http:// connections are only allowed to a server on your own local network.

Reports you choose to send

If you report an AI answer or highlight with the "Report" button, the app opens your email app with a report containing that content. Nothing is sent unless you send that email yourself, and you can edit it first.

Bank statement PDFs

On your phone, the monthly statement PDFs under Reports are built on the device from your own data; nothing is sent to build them. In server mode your openPFM server builds them. The PDF only leaves the app where you save it or whoever you share it with.

What openPFM does not do

Demo mode

"Try with sample data" shows a made-up year of banking generated on your phone. Nothing is sent anywhere in demo mode.

Keeping or deleting your data

You can delete individual statements and banks in the app. Removing your OpenAI key withdraws your agreement to send data to OpenAI with it. Uninstalling the app, or clearing its storage in Android's settings, deletes everything the app stored on your phone. Data already sent to OpenAI is handled under OpenAI's policies.

Deleting your openPFM account

In the app: Settings > AI > Delete account. This deletes your openPFM account at once: your sign-in (your Google email address and account id, kept by Supabase) and the AI service's records of your usage. If the sign-in can't be removed right away, openPFM's operators remove it within 30 days; the account can't be used in the meantime. Your statements and everything else on your phone are not affected, and you can keep using the app with your own OpenAI key or a new account.

Without the app: email privacy@openpfm.site from the account's email address, asking for the openPFM account to be deleted; we delete it within 30 days. A suspended account is deleted this way.

What remains afterwards: a record that a deletion was requested and completed, holding only the account's random id and the dates, no email or usage; and the day's total spend across all users, which isn't linked to any account. Data already sent to OpenAI is handled under OpenAI's policies.

Children

openPFM is intended for adults managing their own finances and is not directed at children.

Changes

If this policy changes, the new version will be published at this address with a new effective date.

Contact

Questions about this policy, or requests about your data: privacy@openpfm.site.