Your data stays with you.
Nothing about you leaves your phone. No accounts, no analytics, no telemetry. Rates come in — nothing about you goes out.
Nothing. No signup, no email, no analytics, no telemetry. Full stop.
All app data — favorite currencies, recent conversions, cached exchange rates, settings — lives in localStorage on your device. Uninstall the app and it's gone.
Rates come from Frankfurter (frankfurter.dev), which publishes the European Central Bank's daily reference rates, and from ExchangeRate-API (open.er-api.com). We do aggregate them: an automated job combines both into a single table of all 154 currencies, published at concurrency.rabid.co/rates/latest.json and refreshed once a day. Your device fetches that one file rather than querying a provider per currency, so in normal use a rate lookup reaches only our own origin — see “Third-party services” below. If that file is unreachable or out of date, the app falls back to querying Frankfurter and ExchangeRate-API directly, and they see your device's IP address like any other API call. Either way the request carries currency codes and nothing else — no account, no identifier, nothing about you.
No third-party SDKs, trackers or analytics inside the app. The app does contact our own origin, hosted on Vercel, to fetch the rate file described above — on launch and when you change currencies. Those requests follow Vercel's standard log retention, so Vercel sees your IP address, for the app as well as for the website. We add no cookies and no identifiers to them, and we don't build profiles from them.
Questions? concurrency-support@rabid.co