Your region
Run the server and Postgres in any cloud region you pick, in or outside the EU.
Solution
To keep in-app purchase data in the EU, self-host RevenueDot in a region you choose, such as Frankfurt or Dublin. Every customer, purchase and receipt then lives in your own Postgres database, and the server never calls RevenueDot. RevenueDot Cloud does not pin data to an EU region today. This page is not legal advice.
Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.
Run the server and Postgres in any cloud region you pick, in or outside the EU.
A self-hosted server has no telemetry and never calls RevenueDot's servers.
The REST API has a delete-customer call, and your database is yours to query and purge.
RevenueDot claims no SOC 2, ISO 27001 or similar certification.
Scope
For the apps that use it, RevenueDot processes app user IDs and aliases, store transaction IDs, product, price, currency, country, purchase and renewal dates, entitlement state, device platform, app version and any customer attributes you set, such as an email address. Do not send health or similar data as customer attributes. The data processing summary lists the same categories.
Steps
Choose the cloud provider and region you want, for example a Frankfurt or Dublin region of your provider.
Use a managed Postgres with point-in-time recovery in the same region, or the bundled Postgres container on a server there.
Clone the repository, set DATABASE_URL and a strong password in .env, and run docker compose up -d. See self-hosted in-app purchases.
Terminate TLS in front of the server and keep database dumps in storage in the same region, encrypted.
Add your Apple and Google credentials, set the notification URLs, then set the SDK's proxy URL to your own HTTPS address.
Honest notes
Cloud
RevenueDot Cloud runs on Cloudflare's network, and Cloudflare is its only listed subprocessor, with locations described as a global network and the United States. Cloud does not offer an EU-only region today. For transfers from the EEA, UK or Switzerland to countries without an adequacy decision, the EU Standard Contractual Clauses apply, according to the data processing summary, which is a summary and not the signed agreement. If you need data to stay in the EU, self-host.
Limits
FAQ
Yes, by self-hosting RevenueDot on a server and Postgres database in an EU region. Customer, purchase and receipt data then stays in your database. The stores, integrations and email provider you connect are separate processors.
Not today. RevenueDot Cloud runs on Cloudflare's network, with the United States listed as a location. If you need purchase data kept in the EU, self-host RevenueDot in your own EU region.
Hosting in the EU helps with data location, but compliance covers more, such as a lawful basis, privacy notices and responding to user requests. RevenueDot claims no certification. Ask your lawyer about your own obligations.
The REST API v2 has a Delete a customer call, and on a self-hosted server the database is yours, so you can also remove rows directly. Deleted customers stay in older backups until those backups expire.
No. It has no telemetry and never calls RevenueDot's servers. It talks to the stores you connect, your webhook endpoints, the integrations you enable and your SMTP server.
Get started
Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.
Already have an account? Sign in · Prefer your own servers? Self-host free