Last updated: 21 October 2026
Multivaluo is a currency converter. It has no accounts, no sign-in, no advertising, no analytics and no crash reporting. This policy describes exactly what the app does with data, and it is written to be checkable against the app's behaviour rather than to be reassuring.
The app stores the following locally, using the Hive database:
The app also reads your device's region setting — the same setting that decides date and number formats — to offer to put your region's currency at the top of the list. It stores, on the device, the country codes it has already asked you about, so that a declined offer stays declined; that is a list of two letter codes such as ae and nothing else. This is a setting, not a location: the app does not use location services, does not ask for that permission, and neither the setting nor your answer ever leaves the device.
This local data is not encrypted at rest. It is protected by the operating system's own app sandbox, which prevents other apps from reading it, but a person with access to an unlocked device or to a device backup could read it. We state this plainly because the store questionnaires ask, and because claiming encryption we do not implement would be false.
Deleting the app deletes this data from the device, and clearing the app's storage through the operating system's settings has the same effect.
One honest qualification. The app does not opt out of the operating system's own backup, so this data may be included in an Android backup to your Google account or an iCloud backup on iOS, in the same way as most apps' data. Those backups belong to you and to Apple or Google; we have no access to them and no way to read them. If you want the data gone from a backup as well, remove it through your device's backup settings.
We still receive nothing at any point, so there is nothing for you to request from us and nothing for us to delete on your behalf.
To show exchange rates, the app requests them directly from the providers listed in docs/sources_terms.md. As of this date the app contacts seventeen hosts: sixteen that serve rates or prices — ExchangeRate-API, CoinGecko and fourteen central-bank feeds — and flagcdn.com, which serves the country flags. The Magyar Nemzeti Bank is not among them: the app never contacts it, and reaches its rates only through our own service, described below.
The flag host is named here because it is contacted for the same reason as any other: the app asks it directly, so it sees the same thing a rate provider sees. An earlier version of this page listed only the rate providers, which understated who receives a request. Cryptocurrency logos were fetched from one more host until 2026-09-03; the app no longer shows them, and no longer contacts it.
Every request is made over HTTPS. A request to a rate provider carries a currency code — for example USD — and carries no name, no identifier, no device identifier and no contents of your conversion history. Whenever the app asks CoinGecko for cryptocurrency prices directly, the request also names the coins on your list, so CoinGecko can see which coins that connection follows.
What such a request does unavoidably reveal is your IP address, along with whatever your device's networking stack sends as a standard HTTP request: the user agent, and the time of the request. That information goes to the rate provider, not to us, and each provider handles it under its own privacy policy. This is inherent to the app fetching rates directly rather than through a server of ours, and it is the honest answer to "does any data leave the device".
Some builds route part of this through our own backend. When the app is built with our backend, requests for the mirrored rate sources and for cryptocurrency prices go to our own service, hosted on Cloudflare. Each request reveals the device's IP address, the time, and which rate source was asked for (it is in the address of the request). Our service keeps no per-user records — it stores only the banks' published rate files. Cloudflare processes request metadata to run the service, under its own retention, as our processor. If our service cannot be reached, a native app asks the bank directly instead (except the Magyar Nemzeti Bank, which is only ever reached through our service), and that bank then receives the device's IP address.
In a build with our backend the app asks our service for cryptocurrency prices first. That request names no coins: our service returns the whole price list and the app picks your coins out of it on the device. Only if our service has no prices to give or cannot be reached does the app ask CoinGecko directly, as a build without our backend always does, and CoinGecko then receives the device's IP address and the coins on your list. (Tapping the "Data provided by CoinGecko" credit still opens coingecko.com in your browser, as in every build.) A request to our service names the rate source in its address (for example /v1/sources/ecb) rather than carrying a currency code.
The sources that are always called directly — ExchangeRate-API, NBP and flagcdn.com — receive the device's IP address regardless of whether a build has our backend configured, as described above. So does every source, when a build has no backend configured at all.
We hold no account database on our backend and run no analytics pipeline on it.
When you share a conversion or export your history, the app hands a file or a block of text to the operating system's standard share sheet. Where it goes from there is determined by the app you choose in that sheet, under that app's own policy. Multivaluo does not upload anything as part of sharing.
The app contains a debug event log used during development. It is compiled out of release builds and never leaves the device in any build. Release builds are verified not to enable it.
Multivaluo is not directed at children and collects nothing from anyone, including children.
The app bundles the DM Sans and DM Mono typefaces under the SIL Open Font License. Open-source components and their licences are listed inside the app under Settings → Third-party licences. The typefaces are bundled, so the app makes no network request to load them.
If this policy changes, the date at the top changes with it, and the revised text ships in the app update that changes the behaviour.
Questions about this policy: support@multivaluo.com
*This document is the source text. The same policy is readable inside the app under Settings → Privacy policy, so it is available without a network connection.*