Self-hosted Salesforce alternative for EU data residency

When GDPR Chapter V, sovereignty rules or sector regulators drive the CRM decision, a self-hosted SuiteCRM in EU infrastructure you control can change the answer. This page explains what to check first.

On this page

Can a self-hosted Salesforce alternative solve EU data residency?

When a renewal, a regulator or a board asks where CRM personal data is stored, who can access it and who supports it, a self-hosted SuiteCRM instance in EU infrastructure under your control can change the transfer and access analysis, but only if hosting, support access and vendor-side access are controlled as well. Moving the database to an EU location does not settle the question on its own. Under GDPR Article 44, every transfer of personal data to a third country, including onward transfers, must meet Chapter V conditions, and the EDPB's Guidelines 05/2021 treat remote access from a third country, even only displaying data on a screen for support, as a transfer. A support engineer abroad who logs in to troubleshoot the instance creates the same exposure as a database copy stored there.

The short answer on options is that SuiteCRM is the main fit because it is AGPLv3 software you can run in your own EU accounts or data centers, with SuiteCRM 8.10.2 as the latest stable release. EspoCRM (AGPLv3, running on PHP with MySQL 8.0+, MariaDB 10.6+ or PostgreSQL 15+) and Odoo Community (LGPLv3) belong on the shortlist as alternatives. Confirm which Odoo edition and hosting model you need, because Odoo Enterprise is a separately licensed product. Self-hosting ends the vendor's standing access to your data, but it does not answer who else can reach it. If you buy SuiteCRM Hosted, implementation or support from SuiteCRM Ltd or any other provider, that party becomes a processor or subprocessor whose location, staff access and legal exposure must be reviewed.

Treat the contract and subprocessor review as the decision point. For Salesforce, ask in writing where primary and backup data is stored, where support and administrative access originates and which subprocessors touch personal data, and do not assume that a regional hosting option answers all three. For any EU-hosted build, assess the processor's exposure to third-country law. EDPB Guidelines 05/2021 (Example 12) note that an EU processor subject to extraterritorial law is not itself a transfer, but complying with a third-country authority request would be. The US CLOUD Act provision at 18 U.S.C. 2713 applies to US providers regardless of where data sits. The EU-US Data Privacy Framework adequacy decision covers only US organizations on the DPF List, and its General Court judgment is under appeal in Case C-703/25 P, so it should not be treated as settled. Have counsel and your data protection officer confirm the position before you sign.

What EU residency rules require of a CRM

Residency decisions for a CRM turn on where personal data is stored, who can reach it from outside the EEA, and which foreign authorities can compel access. The cards below cover the transfer conditions and the access and storage questions that most often change the answer for a sales system holding contact and deal data.

Transfer conditions reach onward transfers

Article 44 of the GDPR applies Chapter V to every transfer of personal data to a third country, including onward transfers made by your vendor or its subprocessors. A CRM that is nominally hosted in the EU can still trigger the rule if a downstream provider moves records out of the EEA. Ask for a complete subprocessor list with locations and the transfer mechanism behind each one.

Remote access counts as a transfer

The EDPB's Guidelines 05/2021 treat remote access from a third country as a transfer, even when the person only views data on a screen for support or administration. Vendor support staff outside the EEA, or follow-the-sun administration, can therefore create exposure without any data leaving a server in the EU. Check where administrators sit and whether support sessions can be restricted to EEA locations.

Storage outside the EEA

The same EDPB guidance treats storage in a cloud outside the EEA as a transfer. A regional hosting option is only as strong as the locations of backups, logs, replicas and disaster recovery copies, which often sit in other regions by default. Ask the vendor to name every storage location, including backup and telemetry, and confirm that each one is inside the EEA.

Penalties for transfer infringements

Infringements of the transfer rules in Articles 44 to 49 fall under the higher fine tier in Article 83(5)(c), with fines of up to EUR 20 million or 4% of worldwide annual turnover, whichever is higher. The exposure sits with the controller that chose the vendor, not only with the vendor. Record your transfer assessment before go-live so the decision can be defended to a regulator.

Foreign authority access requests

Article 48 allows a third-country court order or administrative demand for personal data to be enforced in the EU only where it rests on an international agreement, such as a mutual legal assistance treaty. The US CLOUD Act, at 18 U.S.C. 2713, requires US providers to preserve or disclose data in their possession, custody or control wherever it is stored. Ask whether the vendor holds the keys and operates from a jurisdiction where such orders apply, and treat that exposure as part of the residency decision.

Self-hosting narrows the exposure

When SuiteCRM runs on infrastructure you control in the EU, the CRM database, backups and administrator access stay under your own governance, so the questions above shift from vendor contracts to your own hosting and access controls. This does not remove obligations under the GDPR, but it removes a provider-side transfer chain. Confirm that your cloud or data center provider's own subprocessors and administrator locations also meet your requirements.

What Salesforce's regional hosting covers and what it does not

Regional hosting answers where the data sits at rest, not every question the transfer analysis asks. The facts available for this page do not describe Salesforce's regional hosting options, so do not assume an EU region covers your case. Request in writing the current hosting location for your org, the locations from which Salesforce support and engineering can access it, and the current subprocessor list with the locations of each. Ask whether any access path can show data on a screen from outside the EEA, because remote viewing from a third country counts as a transfer under the EDPB's Guidelines 05/2021.

Even with EU hosting, the US provider exposure remains. The CLOUD Act provision at 18 U.S.C. 2713 requires providers to preserve or disclose data in their possession, custody or control wherever it is stored. EDPB Recommendations 01/2020 state that where a provider must access data in the clear and the destination's public authority powers exceed what is necessary and proportionate, no effective technical supplementary measure can be envisioned. Ask counsel to assess that exposure with the EDPB's Example 12 in mind, and check whether GDPR Article 48 limits any foreign disclosure order.

On transfer mechanisms, the Schrems II judgment invalidated the Privacy Shield while upholding standard contractual clauses, and the Data Privacy Framework adequacy decision applies only to US organizations on the DPF List. The appeal in Case C-703/25 P is pending, so treat that adequacy as contingent. Confirm which transfer mechanism your contract relies on, and whether a self-hosted SuiteCRM on infrastructure you control removes the provider from the access chain entirely.

Which open-source CRMs fit an EU self-hosted model

SuiteCRM 8 is published under the AGPLv3 license and pairs an Angular frontend with a Symfony backend. Deployed in your own EU infrastructure, the application, its MariaDB or MySQL database and its file store all sit where you place them, so customer records do not pass through a SaaS vendor's regional data centers. Supported stacks for the 8.10 line include PHP 8.2, 8.3 and 8.4, Apache 2.4, MariaDB 10.6 to 11.8 and MySQL 8.0 and 8.4 on Linux, Unix or macOS.

  • Hosting control: You choose the EU region, the operator and the access paths, and you set backup locations and retention.
  • Login options: LDAP is enabled with AUTH_TYPE=ldap, and SAML is enabled with AUTH_TYPE=saml, both built on Symfony and nbgrp components.
  • SAML logout gap: From 8.7.0 onward, the SAML implementation does not support IdP-initiated logout or POST binding to the logout service, so ending a session at the identity provider does not end the SuiteCRM session. Plan a compensating control such as short session lifetimes.
  • Release cadence: Minor 8.x releases arrive roughly every eight weeks, and patch releases carry only security and bug fixes.
  • LTS status: SuiteCRM 7.15 has security fixes until January 2028, but no SuiteCRM 8 extended support release had been nominated, with a naming target of Q3 2027.

Confirm with SuiteCRM Ltd whether a SuiteCRM 8 LTS line will be nominated, and which support package fits your change control. Ask for the current compatibility matrix before fixing your PHP and database versions.

How to deploy SuiteCRM in EU infrastructure under your control

This sequence moves SuiteCRM from a plan into a tested, EU-hosted system that you administer, with identity, access paths, backups and processing records settled before any user or customer record arrives.

  1. Choose the EU region and provider account

    Your compliance lead and platform team select an EU region and a cloud or data center account that your organization controls, with the administrator roles held by your own staff. Confirm in writing with the provider where compute, storage, snapshots and support tooling run, since remote access from a third country and storage outside the EEA both count as transfers under EDPB Guidelines 05/2021. The step is done when the account, region and role holders are recorded in your processing documentation.

  2. Confirm supported runtime versions

    The platform team checks the SuiteCRM 8 compatibility matrix for the release you intend to deploy and pins the matching PHP, Apache, and MariaDB or MySQL versions. Confirm the database version you select is on the matrix at the time of build, because the matrix changes between releases. The step is done when a written version set, with the SuiteCRM release number, is approved by the team that will run patches.

  3. Build a staging instance first

    The platform team builds a staging environment in the same EU region, using the same runtime versions and a copy of the planned configuration. Staging is where you test logins, email, file storage and any customizations before production. The step is done when the staging instance starts cleanly, passes basic record and user tests, and the team has a documented rollback path.

  4. Connect identity to your EU provider

    Your identity team configures sign-in through LDAP (AUTH_TYPE=ldap) or SAML (AUTH_TYPE=saml), pointing at the identity provider you already run in the EU. Test that a disabled account cannot sign in. Note that the SuiteCRM 8.7.0+ SAML implementation does not support IdP-initiated logout, so logging out at the identity provider does not end the SuiteCRM session. The step is done when staff sign-in, role mapping and account disablement are tested in staging and the logout limitation is accepted in writing or mitigated by session timeouts.

  5. Restrict administrative and support access

    The security team limits administrator accounts to named staff, places the admin interface and database behind your network controls, and records every path that can reach customer data, including vendor or contractor support sessions. Each support session should be time-limited and approved by your team, because a support engineer viewing records from outside the EEA is itself a transfer. The step is done when access paths are listed, enforced and tested with a reviewed access log.

  6. Store backups and snapshots in the EU

    The operations team configures database dumps, file backups and snapshots to write only to EU storage in the chosen region, encrypted with keys your organization holds. Test a full restore into the staging instance, including attachments and the customization files. The step is done when a restore has succeeded inside the EU and the backup locations are recorded in your processing documentation.

  7. Migrate data with a staged cutover

    If you are moving from SuiteCRM 7, treat the work as a migration rather than an upgrade: bring the 7 instance to the latest 7.14.x or later, then move its data into the new SuiteCRM 8 environment. Back up files and the database first, and review customizations because the migration may remove non-core files under the public/legacy folder. The step is done when the migrated data is reconciled against the source in staging and the production cutover date is agreed in writing.

  8. Document the processing record

    Your data protection lead records the purposes, categories of data, locations, access roles, subprocessors, transfer assessments and retention rules for this deployment, as Article 30 of the GDPR requires for controllers and processors. Review each EU hosting provider's subprocessor list and data processing terms against your requirements, and ask a qualified adviser to review any third-country exposure. DeployOpen prepares the technical evidence for this record but does not issue attestations or certifications. The step is done when the record is approved and linked to the system's change log.

What to check in contracts and subprocessors

Start every hosting or support conversation with where the data and its backups physically sit, and get the answer in writing for primary storage, replicas, logs and support tooling. Then ask who can reach that data remotely and from which countries, because the EDPB's Guidelines 05/2021 (version 2.0) treat remote access from a third country, even only displaying data on a screen for support, as a transfer. Ask for the named subprocessor list, the notice period before changes, and your right to object. If the vendor's support staff sit outside the EEA, that access must be covered by the transfer mechanism before anyone logs in.

Where a transfer does occur, confirm that the contract incorporates the standard contractual clauses in Commission Implementing Decision (EU) 2021/914 and that the module applied matches your role as controller or processor. For any US entity, check whether it is on the Data Privacy Framework List under Commission Implementing Decision (EU) 2023/1795. The framework's status is not settled: an appeal against the General Court's September 2025 judgment is pending as Case C-703/25 P, so treat the adequacy finding as one input and keep the clauses as the fallback. Ask the vendor to confirm how it would respond to a foreign government demand, since the US CLOUD Act reaches data in a provider's control wherever it is stored.

Two points are negotiable regardless of vendor. Under the Data Act, customers have the right to switch from a data processing service to another provider or to on-premises infrastructure, with a maximum two-month notice period and a 30-day transition, and switching charges are banned from 12 January 2027. Write the exit assistance, export format and deletion certificate into the contract now. If you are a financial entity, check whether the arrangement falls under DORA (Regulation (EU) 2022/2554), which expects ICT third-party contracts to set out service levels, audit and access rights and exit terms. Have your legal and compliance teams confirm applicability with your supervisor.

What auditors and regulators ask to see

A self-hosted CRM in EU infrastructure still needs a paper trail that shows where personal data sits, who can reach it and how it was moved and tested. The six items below are the records that usually come up in a review, and they connect because each one answers a question about the same customer data. DeployOpen prepares this evidence, but auditors and regulators make the determinations.

Records of processing

Article 30 of the GDPR requires controllers and processors to keep records of processing activities. For a SuiteCRM deployment, the record should name the CRM as a processing activity, list the data categories (contacts, deal notes, support history), the purposes and retention periods, and the recipients. Check that the record matches what is actually stored in SuiteCRM modules, including attachments and exported files, because the register often lags behind the data model.

Transfer impact assessment and transfer map

A transfer map lists every point where personal data leaves the EEA or can be reached from a third country, including remote support sessions and backups stored outside the EEA. EDPB Guidelines 05/2021 treat remote viewing from a third country as a transfer, so support access must appear in the map. The assessment should record whether any processor is subject to third-country law with extraterritorial reach and how that exposure was judged.

Hosting location and access logs

Auditors ask which data centers, regions and cloud accounts run the CRM database, file store and backups, and who holds administrative credentials. Keep a dated record of hosting locations and logs of administrator and support sessions, including the source country of each session. Confirm that logs for the web server, database and SuiteCRM application are retained and can be exported, since the platform defaults may not meet your retention rule.

Subprocessor register and contracts

Every hosting provider, managed database service, email relay, backup vendor and support firm that touches CRM data is a subprocessor. Keep a register with each entity's name, role, location, and the transfer mechanism in place, such as standard contractual clauses under Commission Implementing Decision (EU) 2021/914. Check each contract for notice of new subprocessors and for who can access data in the clear. Confirm with each vendor whether it has a US-parent or extraterritorial exposure.

Staging and migration test records

The SuiteCRM migration documentation advises testing on a staging instance, backing up files and database first, and reviewing customizations before cutover. Keep the staging plan, the backup records, test scripts, results and sign-off for the migration from Salesforce or SuiteCRM 7 into the new environment. These records show that data moved into the EU host was checked for completeness and that no test copies were left in an uncontrolled location.

Access control configuration for LDAP or SAML

Document how users sign in: AUTH_TYPE set to ldap or saml, the directory or identity provider in use, group mapping to SuiteCRM roles, and the offboarding path when someone leaves. Note the known gap in the 8.7.0+ SAML implementation, where logging out at the identity provider does not end the SuiteCRM session, and record the compensating control, such as shorter session lifetimes or manual session termination. Export the configuration and review it against your access policy.

Questions buyers ask before choosing a self-hosted CRM for EU data

Does self-hosting a CRM in the EU remove all international transfers?

Not automatically. Self-hosting in EU infrastructure you control removes the transfers that come from a vendor's own hosting, support and subprocessor chain, but it does not remove every transfer. The EDPB's Guidelines 05/2021 state that remote access from a third country, even only displaying data on a screen for support or administration, is a transfer, and so is storage in a cloud outside the EEA. Map every person and system that can reach the database, backups, logs and email integrations, including your own support contractors, and confirm where each one sits. Your data protection officer or counsel should make that call against the GDPR, not the hosting label.

What drives the implementation cost of a self-hosted CRM?

Cost splits into one-time work and recurring running costs. One-time items are scoping, hosting setup, hardening, data extraction and cleansing, field and workflow mapping, testing on a staging instance, user training and cutover. Recurring items are infrastructure, backups, patching, monitoring, support and internal administration time. The main drivers are the number of custom objects and workflows you depend on, the volume and quality of existing records, the number of integrations that must be rebuilt, and whether you need EU-only backups and access logging. Ask any provider for a written scope that lists each of these items separately, with deliverables and acceptance criteria, so you can compare offers on the same basis.

How long does a migration off Salesforce take?

The duration depends on what you migrate, not on the platform alone. The length is driven by how many custom objects and automations exist, how clean the exported data is, how many integrations must be replaced, how many users must be trained, and whether you run both systems in parallel during cutover. The documented SuiteCRM 7 to 8 path is a migration rather than an upgrade, with a new environment set up and data moved in, and the SuiteCRM migration docs advise staging tests and file and database backups first. We do not quote a timeline here. Ask any provider for a timeline tied to a written scope, and check that it counts testing and sign-off, not only the data load.

What does the internal team need to provide for a self-hosted CRM?

The internal team owns decisions and access. You need a named business owner who signs off process and field mapping, an IT contact who can provision the hosting account or data center space, and a security owner who approves identity integration, backup retention and logging. Someone must also own day-to-day administration after go-live, including user management, workflow changes and patch approval. Legal or the DPO should review the processor and subprocessor position for the hosting arrangement. Plan for these roles from the start, because a self-hosted CRM moves operational responsibility inside your organization.

Can our own IT team run a self-hosted SuiteCRM without outside help?

It is possible for teams with Linux, PHP and database administration skills, but the decision depends on your capacity and risk tolerance. SuiteCRM 8.10 runs on PHP 8.2, 8.3 or 8.4, Apache 2.4 and MariaDB or MySQL on Linux, Unix or macOS, according to the compatibility matrix, so your team must keep that stack supported and patched. Consider whether your team can handle migration testing, SAML or LDAP sign-in, backup restore drills and security updates on a fixed schedule. Many organizations split the work: internal staff run daily administration, while an implementation partner handles setup, hardening and documentation. DeployOpen plans, implements, hardens, backs up, upgrades and documents self-hosted platforms in your infrastructure under a written scope, and ongoing support is available as a retainer.

How does open-source licensing differ from per-user Salesforce tiers?

Salesforce Sales Cloud is a per-user subscription, so cost scales with seats and edition, and add-ons are billed separately. SuiteCRM 8 is published under the GNU Affero General Public License version 3, which means the software itself carries no per-seat license fee. Your costs become infrastructure, implementation, support, backups and internal administration, and these are the items to compare in a multi-year model. Two points need checking: the AGPL has obligations if you modify and offer the software over a network, and SuiteCRM Ltd sells optional support, hosting and migration services that are priced separately. Read the license and each vendor's service terms before you build the model.

What should we ask a provider to include in a quote for a self-hosted CRM?

Ask for a written scope that names the exact deliverables, including hosting location, network boundary and which people or systems can access data. Require a line-item breakdown covering setup, hardening, data migration, integration work, testing, training, documentation and handover. Ask which items are one-time and which recur, such as support, upgrades and backup operations, and what the retainer covers. Request the subprocessor and access list, the backup location and retention approach, and the process for applying security patches. Confirm acceptance criteria, change control for scope additions, and who keeps the admin credentials at handover. Fixed-scope agreements make these answers easier to compare.

How DeployOpen deploys a CRM under EU residency constraints

DeployOpen plans, implements, hardens and documents a self-hosted SuiteCRM environment inside infrastructure the client controls, such as EU cloud accounts, data centers or private networks. The work starts with a written scope that records where personal data is stored, who can access it and which transfers are excluded, so the residency position is agreed before any build begins.

How we scope

  • Written scope names the hosting location, data categories and administrator access paths for the CRM.
  • We map each system that touches customer data, including email, telephony, identity and backups.
  • The scope lists which vendor, support and subprocessor contracts your legal team must review first.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • We install SuiteCRM 8 on your chosen EU infrastructure with the supported PHP, Apache and MariaDB or MySQL versions.
  • Login is configured through LDAP or SAML against your own identity provider, with logout behavior documented.
  • Customizations are reviewed and rebuilt on a staging instance before any production data is moved.
  • Hardening, encryption settings, access logging and backup routines are configured and tested in your environment.

How we hand over

  • You receive architecture, data-flow and access documentation that your compliance and audit teams can review.
  • Runbooks cover patching, backup restoration and the admin tasks your internal staff will own.
  • Evidence for controls is prepared for your assessors, though DeployOpen does not issue audit reports or certifications.
  • Knowledge transfer sessions train your administrators to operate and extend the platform.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Upgrade planning follows SuiteCRM's published minor and patch release cadence, tested on staging first.
  • We can review new subprocessors, hosting changes or transfer assessments as your environment changes.
  • Support scope, response expectations and fees are set out in the written agreement, not assumed in advance.

Sources and further reading

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.