Web analytics for EU data sovereignty

For EU organizations moving analytics off US-hosted services, this page covers what must stay in the EU, the transfer documentation to keep, and which open-source platform fits.

On this page

Why EU analytics sovereignty is a transfer problem, not only a hosting choice

If you are a DPO or CISO removing US-hosted analytics after Schrems II, self-hosting in the EU removes the main transfer, but only if remote access, CDNs, plugins and vendor support paths also stay inside the EU. Under GDPR Article 44, every transfer of personal data to a third country, including onward transfers, must meet Chapter V conditions. Infringements of Articles 44 to 49 can carry fines of up to EUR 20 million or 4% of worldwide annual turnover, whichever is higher (Article 83(5)(c)). The hosting decision is therefore only the first step. The EDPB treats remote access from a third country, even just displaying data on a screen for support, as a transfer, and it treats storage in a cloud outside the EEA the same way. A support engineer in another country who opens the analytics server is part of your transfer map.

Do not rely on the EU-US Data Privacy Framework as a stable basis while it is under challenge. Commission Implementing Decision (EU) 2023/1795 finds adequacy only for US organizations on the Data Privacy Framework List, and the appeal against the General Court's September 2025 judgment is pending as Case C-703/25 P. Your transfer documentation should therefore assume that a US-parent vendor's support access may need standard contractual clauses or a different legal basis, and that the basis could change. Also assess whether a US-parent provider could be compelled to disclose data held in the EU. The CLOUD Act reaches data in a provider's possession, custody or control wherever it sits, and GDPR Article 48 limits recognition of third-country disclosure orders to those based on an international agreement. Ask each vendor in writing where support staff sit and which legal process could reach your data.

For a short platform answer: Matomo suits organizations that need breadth and full on-premise control, with the Community edition running on your own servers under GPLv3. Plausible Community Edition suits teams that want lightweight, cookieless measurement and accept more operator effort, since upgrades, backups and security fixes are yours to apply. Whichever you choose, confirm in your own environment that the CDN, font host, tag manager and any plugin or update channel do not send visitor data outside the EU. Map those paths before you sign off on the transfer position.

Which legal requirements shape the analytics build

This table maps each transfer-related legal requirement to what it asks for and what it means for hosting, vendor access, third-party calls and contracts. Read each row as a design question you must answer before choosing a platform. The main takeaway is that self-hosting in the EU only removes the transfer risk if the processing chain, including CDNs, fonts and vendor support access, stays inside the EU as well.

RequirementWhat it asks forWhat it means for the build
Article 44 onward transfersAny transfer of personal data to a third country, including onward transfers, must meet Chapter V conditionsMap every onward flow from the analytics server, including backups, logs and vendor support, and confirm each one has a valid transfer basis
EDPB 05/2021 remote access and storageRemote viewing of data from outside the EEA and cloud storage outside the EEA both count as transfersRestrict administrator and support access from non-EEA locations, and confirm backup and object storage regions in writing
Example 12 on EU processorsAn EU processor subject to third-country law is not itself a transfer, but complying with a foreign authority request would beAssess the exposure of any EU-based hosting or support provider that is controlled from outside the EU before engaging it
Schrems II and standard contractual clausesThe Privacy Shield decision was invalidated in 2020, while standard contractual clauses remained valid as a transfer toolUse standard contractual clauses with a documented transfer impact assessment where any third-country flow remains, and keep the signed versions on file
DPF adequacy and pending appealAdequacy covers only US organizations on the Data Privacy Framework List, and the General Court judgment is under appealDo not rely on DPF listing alone for a US vendor, and track Case C-703/25 P as a re-review trigger for vendor contracts
EDPB 01/2020 supplementary measuresWhere a provider must see data in clear text and foreign public authority powers exceed necessity, no effective technical measure is expectedKeep the data in clear text only on infrastructure you control, so encryption alone does not solve a US-controlled vendor's access
CLOUD Act, 18 U.S.C. 2713US providers must preserve or disclose data in their control regardless of where it is storedAsk vendors whether any US parent or affiliate can reach your data, and include this in the processor risk file
GDPR Article 48Foreign court or agency orders to disclose personal data are enforceable in the EU only under an international agreementWrite a contract clause requiring the processor to challenge and notify before any disclosure, and log each request received
Data Act Article 32 for non-personal dataCloud data processing providers must take measures against third-country governmental access to non-personal data held in the EUInclude aggregated analytics exports and non-personal metadata in the same vendor review, and confirm the provider's measures in writing

Where analytics data still leaves the EU

Self-hosting in an EU region keeps the database and application under your control, but it does not by itself settle where data flows. The server's location, the cloud provider's ownership and the administrators' access locations all matter. EDPB Guidelines 05/2021 treat remote access from a third country, even only displaying data on a screen for support, as a transfer, and storage in a cloud outside the EEA as a transfer as well. Confirm each of these points for your own environment.

  • Hosting region: Confirm the region of every compute, database and backup volume, including standby nodes.
  • Provider jurisdiction: A cloud provider headquartered outside the EU may be subject to laws with extraterritorial reach, such as 18 U.S.C. 2713. Assess that exposure before you engage the provider.
  • Administrator access: Record where administrators sign in from, and whether any of them connect from outside the EEA.
  • Logs and error reporting: Application logs often contain IP addresses or URLs. Check where they are shipped.
  • Matomo Cloud comparison: Matomo Cloud stores data in Frankfurt, Germany, according to the vendor. Treat that as a vendor-side fact to confirm in writing, not a substitute for auditing your own server.

Check that the hosting provider, region and admin access list appear in your records of processing and transfer assessment.

Which open-source analytics platform fits an EU sovereignty brief

For an EU sovereignty brief, the platform choice follows from who operates the servers, which license terms apply, and how much of the update and security work your team will carry. The cards below compare the self-hosted options and the EU cloud option so you can check each one against your own transfer, consent and operations requirements.

Matomo on-premise

Matomo is licensed under GPLv3, so you can run the On-Premise edition on servers you control in the EU with no vendor-hosted data path. The latest stable release is 5.14.1 and 6.0.0 is in beta, and 6.0.0 needs PHP 8.1 or newer with MySQL 8.0 or newer or MariaDB 10.6 or newer. The Google Analytics importer brings in aggregated reports only, so confirm which historical views your analysts need. Heatmaps and session recording are a paid plugin under a separate EULA, and adding them can remove the consent exemption in some EU markets.

Plausible Community Edition

Plausible Community Edition is licensed under AGPLv3 and runs on Docker with ClickHouse, which needs a CPU with SSE 4.2 or NEON and at least 2 GB of RAM. Your team installs, upgrades and patches it, and security fixes reach you only when you apply a release, so the v3.2.1 security release of May 15, 2026 needs a named owner. Sites API, single sign-on, ecommerce revenue goals and the Looker Studio connector are missing, so confirm whether your reporting depends on them.

Umami as an option

Umami is a candidate to evaluate against the same criteria: license terms, hosting location in your own EU infrastructure, data export, retention controls and whether its features stay within the consent exemption you need. Do not assume its licensing, release cadence or supported database and runtime versions from this page. Ask the vendor and your own test environment to confirm each point in writing before it enters the shortlist.

EU-hosted cloud as a comparison

Plausible Cloud and Matomo Cloud both store data in the EU, with Matomo Cloud data held in Frankfurt, Germany. A hosted service still makes your organization a customer of a third-party processor, so check the processor's sub-processors, the location of backups and support access, and whether any parent company is subject to non-EU authority requests. Use this option as a benchmark for cost and operations, not as a substitute for the self-hosted analysis.

How a sovereign analytics rollout is sequenced

The sequence starts by proving where visitor data goes today, then fixes hosting and contracts, builds the replacement, removes every outbound dependency and closes with evidence an assessor can check. Each phase produces a document or record that the next phase depends on.

  1. Map data flows and build the transfer inventory

    Start by listing every place visitor data is sent today: the analytics tag, tag manager containers, consent tools, CDN-served scripts and fonts, embedded video, chat widgets, and CMS or ecommerce plugins that call external hosts. For each item, record the destination country, the operator, what data leaves the browser or server, and whether it runs on every page or only some. The output is a register of every outbound call, reviewed by the privacy lead and the web team. The step is done when a browser-side and server-side scan of the production site and staging site matches the register, with no unexplained requests.

  2. Decide hosting region and sign processor terms

    Choose where the analytics application and database will run, including the cloud account, data center or private hosting provider, and confirm that every operator with administrative access to the stack is located and supervised in the EU. Assess any processor subject to third-country law with extraterritorial reach, because the EDPB guidance treats a third-country authority request as a transfer that the controller must assess before engaging that processor. Put the hosting location, backup location, support access model and sub-processors in writing, and agree processor terms under GDPR Article 28. The output is an EU hosting record and signed processor terms. Confirm each element with the provider in writing before the build begins.

  3. Build the platform behind a first-party endpoint

    Deploy the chosen platform in the agreed region, configure the tracking script to load from your own domain, and route collection through a first-party endpoint that you control. Confirm that the collection path, script delivery, and any geolocation or IP handling stay inside the approved environment. Set up staging and production separately, and document the configuration keys, reverse proxy rules, and data retention settings. The output is a tested architecture diagram with a configuration record. The step closes when test pageviews reach the platform in the EU and the outbound call check from step one shows no new third-party hosts.

  4. Remove US-hosted tags, fonts and plugins

    Remove the old analytics tags, tag manager entries and any scripts or fonts that load from US-hosted domains, including plugins that inject tracking into the CMS or store. Where historical data is needed, decide whether to import it. Google Analytics import tools in Matomo and Plausible only bring aggregated data: Matomo does not import raw visit or action data, so the Visitor Log and segmentation do not work on imported reports, and Plausible imports daily aggregates and cannot import ecommerce revenue. Plan for these gaps with the business owners before import. The output is a verified outbound call list showing no remaining US-hosted requests on any template.

  5. Harden access, secrets and backups

    Apply the hardening baseline to the analytics servers: patch the operating system and runtime, restrict administrative access to named roles with multi-factor authentication through your identity provider, store database credentials and license keys in a secrets manager, and restrict outbound network access from the servers to what updates require. Test backup restores into a separate environment and record the recovery steps and the time the restore took. For self-hosted community editions, confirm who applies security releases, because the operator owns that task. The output is a runbook covering access reviews, patching, backup and restore testing, and incident contacts.

  6. Cut over and assemble the evidence pack

    Switch the production site to the new endpoint, run a parallel period only if the business needs trend continuity, and confirm that reports match expected traffic patterns. Assemble the transfer documentation file: the transfer inventory, the hosting record, processor terms and sub-processor list, the transfer impact assessment for any third-country exposure, the data retention settings, the access control matrix, and the restore test record. Have the privacy lead and counsel review the file, and keep it current when the site changes. This file gives auditors and data protection authorities a single starting point. It does not replace their assessment, and the reader should confirm with counsel which items their regulator expects.

Transfer evidence to keep and who produces it

What transfer inventory and records of processing should an EU analytics team keep?

The analytics team should keep a written inventory of every place visitor data goes, including hosting location, backups, support access and any third country where someone can view the data. The analytics platform itself produces the technical inventory: the self-hosted instance, its database and any archive or export storage. Your records of processing under GDPR Article 30 are the controller's document, so your privacy office owns the final version. Remote access from outside the EEA counts as a transfer under EDPB Guidelines 05/2021, so support access must be logged too. DeployOpen can prepare the technical inventory from the deployed architecture, but the controller decides what goes into the register and whether each entry is lawful.

How do you show that analytics pages send no data to third parties?

Network egress test results are the evidence: captured traffic from a browser loading your pages, showing which domains receive requests and confirming that none are outside your approved list. The CDN configuration and the tag manager export also belong in the file, because a CDN that serves the tracking script or a plugin that loads external fonts or pixels can create a transfer you did not intend. DeployOpen runs these tests as part of security testing and records the methodology, dates, tools and results. Ask the testing team to repeat the test after each release, since plugin updates change what the page loads.

Which processor agreements and sub-processor lists do you need for hosting?

You need a signed data processing agreement with each processor, plus the current sub-processor list for each one, covering the hosting provider, any managed database or backup service, and any CDN or email provider in the chain. The hosting provider contract and its data location commitments are produced by that provider, so ask for written confirmation of the regions where backups and logs are stored. The analytics platform vendor's documentation covers what the software sends, if anything, to its own servers. Your legal team owns the contracts. The DPA, and any supervisory authority that reviews your file, decides whether the arrangement is adequate.

What should a transfer reliance assessment cover after Schrems II and the DPF appeal?

The assessment should state the transfer tool you rely on for each third-country flow, such as standard contractual clauses under Commission Implementing Decision (EU) 2021/914, or the EU-US Data Privacy Framework only where the recipient is on the DPF List. Commission Implementing Decision (EU) 2023/1795 covers only US organizations on that list, and an appeal against the General Court's September 2025 judgment is pending as Case C-703/25 P, so record its status and the date you checked it. Schrems II held that the Privacy Shield decision was invalid while standard contractual clauses remained valid, which you should explain in your own words. Your legal team and DPO produce this assessment. Independent auditors and the data protection authority decide whether your reliance holds.

How do you document third-country government access risk for a processor?

Document whether the processor or its parent is subject to third-country law that could compel disclosure, such as the CLOUD Act provision at 18 U.S.C. 2713, and whether that exposure is acceptable for your data. EDPB Guidelines 05/2021 (Example 12) say that using an EU processor subject to such law is not itself a transfer, but complying with a third-country authority request would be, so the controller should assess that exposure before engaging the processor. Under EDPB Recommendations 01/2020, no effective technical measure may exist where access in the clear goes beyond what is necessary and proportionate. The controller's legal team produces this assessment, and the hosting provider supplies the facts about its ownership, support access and government request policy. DeployOpen can document the technical setup so the assessment rests on facts.

What retention and deletion settings should appear in the evidence file?

The file should show the configured retention period for raw visit data and aggregated reports, the method used to delete or anonymize old records, and proof that backups follow the same policy. The analytics platform produces this evidence through its settings export and a test that confirms old data is removed. Backup retention is set in the backup tooling, so the operations team must document it separately. Keep the settings and test results dated so they match the records of processing. Your DPO sets the retention periods themselves, and an auditor checks whether the configured behavior matches what your privacy notice promises.

Questions to put to an implementation partner before signing

Start by asking how the partner will prove the built site makes no outbound calls to a US endpoint. Ask for the test method in writing: which pages and flows are crawled, whether the test runs in a browser with network capture, whether it covers consent-free paths and the administrative console, and how often it is repeated after each plugin, theme or CDN change. Ask who reviews the captured hostnames, what counts as a failure, and whether the findings come with the request logs as evidence. Confirm that the same test covers the Matomo or Plausible tracking script, font and image hosts, error reporting tools and any tag manager, because a single embedded resource can move visitor IP addresses outside the EEA. Ask whether the partner will also check the server side, including outbound updates, mail relays and backup targets.

Next, ask who holds administrative and support access to the analytics server, the database and the hosting account, and from which countries those sessions originate. Under the EDPB Guidelines 05/2021, remote access from a third country counts as a transfer even when the person only views data on screen, so a support engineer working from outside the EEA is part of the transfer analysis. Ask for a named access list, the authentication method (including whether single sign-on and hardware keys are enforced), the session recording policy for vendor staff, and how emergency access is granted and revoked. Ask how the partner records sub-processors, which documents it keeps for each one (standard contractual clauses under Commission Implementing Decision (EU) 2021/914 where a transfer remains, and the location of each service), and how the register is updated when a subcontractor changes. Ask the partner what happens when a plugin or CDN is found to call a US endpoint: the required time to disable or replace it, who approves the change, whether the record of processing is updated, and whether the controller is notified in writing before the fix.

Finally, pin down the scope and the contract. Ask whether the transfer audit is a fixed-scope deliverable with named sites, a stated number of templates and an agreed list of third-party components, and what happens if the scope expands. Ask how upgrades are handled: whether the partner will apply Matomo 6.x once it is stable, how it tests the release against the outbound-call check, and whether Plausible Community Edition releases are applied on a schedule that the operator can defend, since Plausible's self-hosted page says security fixes arrive only when the operator applies a release. Confirm who is responsible for backups and restore tests. On the contract side, confirm the switching terms in the EU Data Act (Regulation (EU) 2023/2854), including the right to move to another provider or on-premises infrastructure and the switching charge rules, and check how they apply to the partner's services. Treat these as points to confirm in the contract, not as settled legal conclusions for your organization.

What EU teams ask before self-hosting analytics

Does self-hosting analytics in the EU remove the transfer problem?

No. Hosting the server in the EU removes one transfer, but not every one. EDPB Guidelines 05/2021 (version 2.0) treat remote access from a third country as a transfer, even when someone only views data on a screen for support or administration. A CDN that serves your tracking script, a support vendor with access to the server, or a plugin that sends events to a US endpoint can all move personal data outside the EEA. Map every script, host and administrator login the page loads or uses, then decide which ones stay inside the EU. The EDPB guidelines set out the test in detail.

What does self-hosted EU analytics cost, and what drives the cost?

The cost has four parts: infrastructure, the implementation itself, ongoing operations, and internal staff time. Infrastructure recurs and depends on pageview volume, the number of sites and the hosting model, whether in-house or with a provider. Implementation is usually one-time and covers installation, tag and plugin review, consent setup, data migration and documentation. Operations recurs and covers updates, backups, monitoring and security patches. The biggest drivers are site count, the number of tags and plugins to review, how much history must move, and whether your team already runs similar services. Ask any provider for a quote built from a written scope that lists each of these items separately.

What must our team provide before an implementation starts?

Three inputs shape almost every scope. First, a site inventory: every domain, subdomain, tag, tag manager container, embedded widget and third-party script on each page. Second, administrator access to the web servers, DNS, the CDN account and the chosen hosting environment, with named owners for each. Third, a sign-off path with your data protection officer, who should confirm the data map, retention periods, legal basis and any transfer assessment before go-live. Also identify who will own the platform after handover, because a fixed-scope project ends and someone still has to apply updates. Missing inputs are the most common reason a schedule slips.

Can our own team self-host analytics without outside help?

A small team can often self-host Plausible Community Edition for one or a few sites, provided it is comfortable with Docker and Docker Compose and the server meets the stated requirements, including at least 2 GB of RAM and a CPU supporting SSE 4.2 or NEON. Plausible's self-hosted page notes that the operator handles installation, upgrades, capacity, uptime, backups and security, and that security fixes arrive only when the operator applies the release. Matomo On-Premise is free to use but takes more work at scale, because its published sizing separates app and database servers once traffic reaches millions of pageviews a month. Consider outside help if no one on the team can own patching, restore testing and on-call duties.

How long does a self-hosted EU analytics project take?

The duration depends on the scope, so no fixed figure applies. The main variables are the number of sites, how many scripts and plugins must be reviewed, whether historical data must be imported, whether consent configuration is needed, and how many internal approvals the DPO and security teams require. A single site on Plausible with no history to import is a much smaller task than a multi-site Matomo estate with a Google Analytics import. Ask for a timeline tied to written milestones, and check which steps depend on your staff, such as access approvals and sign-offs, since those often set the pace.

Does the Data Privacy Framework appeal change our plan?

It supports avoiding reliance on the Data Privacy Framework where an EU-hosted option exists. Commission Implementing Decision (EU) 2023/1795 finds adequate protection only for US organizations on the Data Privacy Framework List, and an appeal against the General Court's September 2025 judgment is pending as Case C-703/25 P. The outcome is not known yet, so a transfer that depends on that decision carries legal uncertainty. Self-hosting in the EU with EU-only administration avoids the question for the analytics stack, though you should still check every US-based subprocessor. Your counsel should record the decision and the reasoning in your transfer documentation.

Which transfer documents should we keep for self-hosted analytics?

Keep a record of processing that names the analytics tool, the hosting location, every administrator and support route, and every subprocessor. Add a transfer assessment for any remaining third-country exposure, including CDNs, plugins and vendor remote access. Where a US provider still handles data, keep the standard contractual clauses under Commission Implementing Decision (EU) 2021/914 and your supplementary measures record. Also keep the retention settings, access review logs and the reasoning behind any decision not to use an EU option. Your DPO and counsel decide what is sufficient, and independent auditors assess the evidence, since DeployOpen prepares these records but does not issue assessments or attestations.

Integration points that keep the analytics path inside the EU

Self-hosting the analytics server does not keep data in the EU on its own. The path a visit takes, from the browser to the collection endpoint, the database, the backups, the identity provider and the support tooling, decides whether personal data crosses a border. Each control below closes one of those exits.

First-party collection endpoint

Serve the tracking script and collection requests from your own domain, through a reverse proxy you operate in the EU. Browsers then send visit data to a host you control rather than to a third-party analytics domain that a blocklist or a US-hosted CDN might handle. Check which CDN, DNS provider and TLS termination service sit in front of the proxy, because each one sees the request metadata. Confirm in writing where those providers process logs.

EU-hosted database and backups

Pin the analytics database, its replicas and every backup copy to EU regions in the cloud account or data center you control. Backups are the most common gap: snapshots often replicate to a second region by default, and an offsite copy held by a US-headquartered backup service is still a storage location to assess. Ask for the exact region list for each component and for the key management service that encrypts them.

Identity provider for admin access

Put administrator and analyst logins behind your own identity provider, such as an EU-hosted instance of a self-hosted SSO product, instead of a US SaaS login service. Login events contain staff identifiers and IP addresses, which are personal data, and a US SSO provider can receive them on every sign-in. Confirm the IdP location, the MFA method, the session lifetime and how accounts are removed when staff leave.

One-time import of legacy data

Google Search Console or Google Analytics 4 history is usually imported once, at migration. Treat that import as its own transfer: the source data sits with a US provider, so your records should show what was exported, who holds the export file and where it is stored. Matomo imports only aggregated report data, and Plausible imports daily aggregates, so decide with the business whether that history is needed at all. Delete staging copies after the import is verified.

Tag manager and consent tooling

Tag managers and consent management platforms often load scripts from US-hosted domains, and each load is a transfer of visitor IP addresses and cookies. Host the tag manager and consent tool in the EU, or remove them if the analytics script runs without them. Review every script on the pages where analytics runs, including embedded video, chat and font services, since these trigger the same kind of request.

Monitoring and logging in region

Application logs, error trackers, uptime checks and metrics agents often capture IP addresses and page URLs, which can contain personal data. Route them to EU-hosted log stores and confirm that any hosted error-tracking SaaS processes data in the EU. Set retention periods for logs separately from analytics retention, and keep the support access path for vendors documented so that remote sessions from third countries are recorded as transfers.

How DeployOpen scopes and delivers sovereign analytics

DeployOpen is a Chainscore Labs company that plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, whether that is an EU cloud account, a data center or a network with restricted egress. For an analytics deployment that must keep visitor data in the EU, the delivery work centers on a few concrete items: the chosen platform (Matomo, Plausible or Umami) installed on EU-located hosts, the reverse proxy and tracking script served from the client's own domain, the database and backup locations, and the list of every outbound connection the stack makes. Each of these is written into the agreed scope so the client can check it later. DeployOpen also runs security testing that includes outbound-traffic and configuration testing, so the team can confirm that the analytics server, its administration interface and any optional integrations do not call endpoints outside the approved jurisdiction.

Most engagements are fixed-scope. Before any work starts, the parties agree in writing on the systems in scope, the deliverables (for example, the installation, the transfer register entries, the tracking configuration and the test results), the responsibilities of each side and the timeline. The quote follows from that written scope, so the client controls what is included. Ask any provider to show which items are excluded, such as a CDN in front of the tracking script, a Google Search Console or Google Analytics import, or a third-party plugin, and who owns the decision about each. Items that cannot be moved into the EU should be recorded as open risks with a named owner rather than left out of the scope.

After go-live, ongoing support, upgrades and continuous testing are available as retainers. This matters for sovereignty because security fixes reach a self-hosted analytics server only when someone applies them. DeployOpen can prepare compliance evidence, such as configuration baselines, test reports and records of the controls in place, for use in a compliance assessment. DeployOpen does not issue audit reports, attestations or certifications; independent auditors and certification bodies do that work. Confirm with any implementation partner who will own the evidence after handover, how often configuration is re-tested, and what happens to the retainer if the platform's release policy changes.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.