How a self-hosted CRM supports GDPR access, erasure and portability requests
A controller holding customer and prospect data in a CRM must answer data subject requests within GDPR timelines, and a self-hosted SuiteCRM or EspoCRM can support the technical side of Articles 15, 17 and 20 through search, export, deletion and access control. The records of processing, identity verification and retention rules that surround those requests are process obligations, and the CRM will not supply them on its own. The GDPR requires no certificate for compliance. Certification under Article 42 is voluntary, so DeployOpen prepares systems, controls and evidence for an assessment, but it does not issue audit reports or attestations, and independent auditors or certification bodies make those determinations.
For access requests under Article 15(1), the search has to reach every place where a person's data sits: accounts, contacts, leads, activities, email links, attachments and any custom entities that reference them. The EDPB's guidance on the right of access says the controller must search all IT systems and non-IT filing systems using criteria that mirror how the data are structured, such as name and customer number. In practice, that means the implementation team should map every module and custom field that holds personal data, and the operations team should keep a documented search procedure that includes the mail server, file shares and any exports. Portability under Article 20 adds a machine-readable export, and the team should test the format of the export in EspoCRM or SuiteCRM before a real request arrives, not during one.
Erasure under Article 17 is where CRM design choices matter most. Deleting a record in the interface may not remove copies in backups, exports, reporting tables or synced mailboxes, so the decision on what counts as erasure, and how exceptions under Article 17(3) such as legal claims are recorded, belongs with the controller before go-live. Access rights in SuiteCRM 8 (LDAP or SAML login) and in EspoCRM (role-based permissions, OpenID Connect or LDAP) should limit who can run exports or mass deletions, and those permissions should be logged. Confirm with your implementation partner exactly which audit logs each platform writes, where they are stored and how long they are kept, because those logs are part of the evidence you will show a supervisory authority.
Which GDPR articles the CRM must support and how to configure each
This table maps each relevant GDPR article to what the self-hosted CRM must be able to do and how to configure it in SuiteCRM or EspoCRM. Read each row as a requirement with a configuration path and the evidence an assessor would expect to see. The main takeaway is that the CRM can locate and export data, but exceptions and downstream copies still need a documented process.
| Article and requirement | What the CRM must do | How to configure it | Where it usually fails |
|---|---|---|---|
| Article 15(1) access | Find every record about a person across contacts, accounts, leads, activities, emails and attachments | Build saved searches on email address, name and customer number across all relevant modules; confirm email archive and attachment storage are included in the search | Emails and attachments stored outside the CRM, or leads converted and left on old records, are missed |
| Article 15(3) copy | Provide a copy of the personal data undergoing processing in a commonly used electronic form | Use standard exports per module with field labels and IDs; document the export template and the fields included for each request type | Export omits custom fields, calculated fields or linked records, so the copy is incomplete |
| Article 17(1) erasure | Delete or anonymize personal data when a ground applies, without undue delay | Create a deletion workflow that removes or pseudonymizes contact fields, activities and attachments; restrict the action to a named administrator role | Soft-deleted records remain in the database, backups or the search index |
| Article 17(2) notify other controllers | Inform other controllers when personal data the organization made public must be erased | Log each published copy (website forms, marketing lists, public profiles) and create a notification step tied to the erasure ticket | Data pushed to marketing or support tools via integrations is not tracked, so no notice is sent |
| Article 17(3) exceptions | Record when erasure is refused for legal claims, legal retention or other exceptions, with the reason | Add a retention decision field and a restriction flag instead of deletion; require a documented decision before any exception is applied | Teams keep data without a recorded legal basis, or delete data that a legal hold requires |
| Article 20(1) portability | Provide provided data in a structured, machine-readable format where processing is based on consent or contract | Export structured formats such as CSV from defined list views or the REST API; limit the export to data the person supplied | Derived or inferred fields are included when the rule covers only provided data, or spreadsheets lose field types |
| Article 20(2) direct transmission | Transmit data to another controller where technically feasible | Confirm with the receiving controller which format and channel it accepts; use API export with scoped API users where a direct transfer is agreed | No agreed receiver format exists, so the request is answered only with a file |
| Field-level and API access | Restrict who can see or export sensitive fields and who can call the API | Set field-level permissions and roles; use dedicated API users, prefer HMAC over basic authentication, and log API exports | Shared admin accounts run exports, and basic authentication remains enabled for legacy integrations |
| Webhooks and downstream copies | Propagate erasure and correction to billing, marketing and support systems | Map each downstream system and its endpoint; send deletion or update events through the integration layer and record acknowledgement | Webhooks fail silently and no one reviews the failure log |
SuiteCRM, EspoCRM or Twenty: which fits a self-hosted GDPR rights workload
All three platforms can hold the customer and prospect records that access, erasure and portability requests touch, but they differ in maturity, login options, customization model and licensing. The right choice depends on your team's skills, your existing identity stack and whether you are starting fresh or leaving SuiteCRM 7.
SuiteCRM 8 for a configured, enterprise-style CRM
SuiteCRM 8 is licensed under AGPL-3.0 and supports login through LDAP and SAML, which suits organizations that run Active Directory or a SAML identity provider and want access to CRM records tied to that directory. The current release, 8.10.2, was published on July 31, 2026. Check the compatibility matrix for PHP, MariaDB or MySQL versions before you build, and confirm how your team will handle minor releases that arrive roughly every eight weeks. Note that SAML logout at the identity provider does not end the SuiteCRM session.
EspoCRM for in-house scripting and workflows
EspoCRM is licensed under AGPL-3.0 and includes Formula Script for before-save logic, API hooks, workflows and business process management. That lets a small team build erasure checks, retention flags or request-tracking fields without a separate development stack. Confirm whether the Advanced Pack, which provides workflows and reports, is needed for your design, since it ships with the cloud plans. Test scripts carefully, because logic that suppresses or changes records on save can affect audit trails.
Identity fit and sign-in options
EspoCRM supports OpenID Connect sign-in with optional user creation on first login, mapping of identity provider groups to teams and backchannel logout. Its own two-factor authentication is not compatible with OIDC, so multi-factor authentication must come from the identity provider. SuiteCRM 8 supports LDAP and SAML, while Twenty's login options should be confirmed against its current documentation. Match the platform to the identity stack you already run, because account deprovisioning after an employee leaves is a common gap in erasure and access workflows.
Deployment and backup tooling
EspoCRM offers an installation script for Ubuntu, Debian and Linux Mint that deploys a Docker-based stack with Nginx and MariaDB, plus a command.sh utility for backups, restores and upgrades. SuiteCRM 8 and Twenty need your team or partner to design the stack, backup schedule and restore tests. Whatever you choose, test a full restore of the database and attachments, since an erasure that is not reflected in backups can leave personal data behind. Ask your partner how backups are purged or aged out after a request.
Twenty and mixed licensing
Twenty describes itself as an open alternative to Salesforce and is mostly licensed under AGPL-3.0, with files marked as Enterprise under a commercial license. Its latest tagged version is v2.9.0. Before you select it for personal data workloads, review the license file to identify which components you would run, and confirm whether any features needed for access exports, deletion or audit logging fall under the commercial terms. Ask a partner to document that boundary in your records of processing.
SuiteCRM 7 users face a migration
Moving from SuiteCRM 7 to SuiteCRM 8 is documented as a migration, not an upgrade. You set up a new SuiteCRM 8 environment and move the 7 data into it, after bringing the 7 instance to the latest 7.14.x or later. Plan for a staging test, full file and database backups and a review of customizations, since the migration may remove non-core files under the public/legacy folder. Treat the migration as the point to clean up stale personal data and confirm that request-handling records carry over.
How the CRM handles an access, erasure or portability request step by step
A request runs in five stages: intake and identity verification, locating the subject, exporting a copy, erasing or anonymizing, and answering the requester. The CRM supports the middle three, but intake and verification happen outside it. Confirm the verification method before any search starts, because a search that returns the wrong person's records is itself a breach risk. Log the request with its received date in a ticket or case record, and use that record to track the statutory response window. Where SuiteCRM or EspoCRM is hosted in your own infrastructure, the built-in global search covers standard modules, but the EDPB's guidance requires a search across all IT systems and non-IT filing systems using criteria that mirror how the data are structured, such as name, customer number and email address. Build a search checklist that names every module, custom entity, email archive, and shared mailbox that holds customer or prospect data, and test it against a known record before go-live.
Once the subject is located, the export must be a copy of the personal data undergoing processing, delivered in a commonly used electronic form unless the subject asks otherwise (Article 15(3)). Export by module using the list view export or a scheduled report, then assemble one package per request. Article 20 portability is narrower: it covers only data the subject provided to you and that you process by consent or contract through automated means, so derived scores and internal notes are outside it. Erasure under Article 17 applies only where one of its six grounds is met, and Article 17(3) exceptions, such as a legal claim or a legal retention duty, may keep some records. Decide per record type whether to delete or anonymize, and tie linked activities, notes and email attachments to the same decision, since a deleted contact can still appear in an orphaned opportunity or a stored attachment. Direct transmission to another controller under Article 20(2) depends on technical feasibility, so confirm with the receiving party that they can accept your export format before you commit to that route.
Finish by recording what was done: which modules were searched, what was exported, what was deleted or retained and why, and when the response was sent. Keep this evidence with the request record so it can support the records of processing and an accountability review. Confirm backup handling as well, because erased records may persist in database backups until those backups expire under your retention rules, and your process should say so. Test the full sequence on a staging instance before relying on it, since the CRM will not make these decisions for you. Your DPO or privacy counsel should sign off on the verification method, the exemption decisions and the backup position.
Configuration controls that make erasure and export work in practice
Erasure and access requests succeed or fail on configuration details that are easy to leave at defaults. The controls below decide who can find a record, what a deletion touches, what gets logged, and how staff and integrations sign in. Check each one against your own tenant before relying on it for a request.
Role-based and field-level permissions
Requests should be handled by a small group that can search across customer and prospect records, but day-to-day sales users should not see the full profile of every contact. Define roles for request handling, map them to record and field access, and test that a restricted user cannot export fields such as contact history or notes. Confirm in your SuiteCRM or EspoCRM version how field-level visibility, team-based ownership and export permissions interact, because a user who can export a list may see more than they can open individually.
Retention fields and deletion jobs
Erasure is only reliable if the CRM stores what it needs to decide when a record expires. Add retention date fields to contacts, leads and accounts, set who approves exceptions for Article 17(3) grounds such as legal claims, and schedule a deletion or anonymization job that covers related activities, emails and attachments. Test the job on a staging copy first. Confirm whether your version deletes linked records or only detaches them, since orphaned notes can still identify a person.
Audit and activity logging
A records of processing and an access response both depend on knowing who viewed, changed or exported a record and when. Enable change logging on personal data fields, restrict who can read the log, and export it to central storage that the CRM administrators cannot edit. Ask your implementation partner which events are captured by default, which require extensions or custom code, and how long logs are kept before they are overwritten. Log retention is a separate decision from record retention.
Dedicated API users with HMAC
Integrations that pull contact data for access requests or push updates should run under dedicated API users with narrow role permissions, not under a named employee account. The EspoCRM API documentation describes HMAC as the most secure of its supported methods and advises against basic authentication. Store keys in a secrets manager, rotate them on a schedule, and disable any key tied to a departed employee. Keep a register of which integration holds which key so that revoking access does not break billing or marketing sync without warning.
SSO with defined logout limits
Single sign-on keeps account lifecycle in the identity provider, so a leaver loses CRM access when their directory account is disabled. SuiteCRM 8 supports LDAP and SAML, and EspoCRM supports LDAP and OpenID Connect with group-to-team mapping. Note that the SuiteCRM 8.7.0+ SAML implementation does not support IdP-initiated logout or POST binding to the logout service, so signing out at the identity provider does not end the CRM session. Document this limit, set session timeouts, and confirm the behavior in a test before the rollout.
Which evidence a supervisory authority or auditor will ask the CRM team to produce
This table lists the records a supervisory authority or auditor is likely to request for a self-hosted SuiteCRM or EspoCRM, the component that produces each one, and what the CRM team must confirm before an assessment. Read it as a checklist: a record that cannot be produced on request is usually a gap in process or configuration, not just a documentation task.
| Evidence | Component that produces it | What the reader must confirm |
|---|---|---|
| Article 30 records of processing entry for the CRM | Controller's records of processing register, maintained by the privacy function | Entry names customer and prospect data categories, purposes, recipients, retention periods and the hosting location, and is reviewed after each CRM upgrade or new integration |
| Request register for access, erasure and portability requests | Request register or ticketing system linked to CRM record IDs | Each entry shows receipt date, identity check, search criteria used, deadline tracking, outcome and any Article 17(3) exception relied on |
| Access request export samples | CRM export of the data subject's records, including activities, emails and attachments where held | Samples show the search covered accounts, contacts, leads, cases and linked mailboxes, and that the output is in a commonly used electronic form |
| Erasure test results | Test records from a staging instance, plus CRM audit log entries for deletions | Tests confirm that soft-deleted records, attachments, email links and backups are handled as the retention policy states, and the team knows which copies remain |
| Portability export in a structured, machine-readable format | CRM export function or API extraction, documented in the request register | The export format and field list are documented, and the team has tested that the file opens in a standard tool and covers only data provided by the individual |
| CRM audit log extract | CRM audit or change log, if enabled, and database logs for administrative actions | Logging is switched on for record views, exports, deletions and permission changes, and the team knows how long logs are kept and where they are stored |
| Role and permission export | CRM role management export, plus identity provider group mappings for SAML, OIDC or LDAP | Export shows who can view, export or delete customer data, and that the list was reviewed by someone other than its administrator |
| Identity provider sign-in logs | Identity provider logs for SSO or LDAP sign-ins to the CRM | Logs are retained long enough to answer access questions, and the team understands that SAML logout at the identity provider may not end the CRM session |
| Backup and restore test records | Database backup job output and restore test log, covering the CRM database and file storage | Restore tests were run on a separate environment, dates and results are recorded, and the team knows how backups are handled when an erasure is performed |
| Change records for CRM upgrades and customizations | Change management tickets, staging test results and version records | Each upgrade or custom field change records the version, the reviewer, and whether privacy-relevant fields or exports were retested |
| Data processing agreement with the hosting provider | Contract with the cloud, data center or managed service provider | Agreement covers processing instructions, sub-processors, data location, security measures and support for handling data subject requests |
What the CRM alone does not satisfy under GDPR
A self-hosted SuiteCRM or EspoCRM can answer access, erasure and portability requests for records it holds, but a data subject request is not closed until every system holding the person's data has been searched and acted on. The gaps below sit outside the CRM's own features and need named owners, documented decisions and tested processes.
Downstream copies outside the CRM
Erasure in the CRM does not reach backups, email archives, data warehouses, marketing tools or exports that people downloaded earlier. Each connected system needs a mapped owner, a deletion or suppression method and a retention rule for backups. Ask your partner to produce a data map listing every integration that receives contact data, and test one erasure end to end across all of them before go-live.
Notifying other controllers after public disclosure
Under Article 17(2), if the organization has made personal data public, such as through a published directory, website or shared document, it must take reasonable steps to tell other controllers processing that data that erasure of links, copies or replications is required. A CRM does not track where published data has traveled. Maintain a register of any publication channel that carries prospect or customer data, and define who sends the notice and how it is recorded.
Documenting Article 17(3) exceptions
Article 17(3) allows retention despite an erasure request where a legal obligation, a public task, the defence of legal claims or another listed ground applies. The CRM will delete on instruction unless someone records why data stays. Each retained field or record needs a written legal basis, a named approver and a review date, so the decision can be shown to a supervisory authority later.
Identity checks and response deadlines
The CRM cannot decide whether a requester is who they claim to be, and it does not track the response clock. Staff must verify identity proportionately, search by criteria that match how the data is stored (such as name, email and customer number, as the EDPB right-of-access guidelines describe), and respond without undue delay. Assign a request queue, an owner for each step and a log that records what was searched and when.
Transfer assessments for US-hosted add-ons
Plugins, email tools, enrichment services or hosted connectors that a self-hosted CRM calls may transfer personal data to third countries. Each such processor needs a documented transfer mechanism and a record of its location and sub-processors, and the access and portability answers must name recipients in third countries where they exist. Review every add-on before it receives data from the CRM.
Recheck the rules before go-live
Regulation (EU) 2025/2518 sets additional procedural rules for cross-border enforcement and applies from 2 April 2027, so a rollout that runs past that date will operate under it. The Omnibus IV and Digital Omnibus proposals are still pending, and the GDPR text had not been amended as of October 2026. Ask your counsel to confirm the current text and any pending changes in the weeks before go-live.
Questions buyers ask before a self-hosted CRM is set up for GDPR rights
How much does a GDPR-ready self-hosted CRM setup cost?
The cost depends on scope, not on the software licence. SuiteCRM and EspoCRM are free to download and self-host, so the spend falls on hosting, configuration, integrations, identity setup, data mapping, process design, testing and support. The main cost drivers are the number of modules that hold personal data, the number of integrations that receive or send records, data volume, and how many request workflows must be built. As a comparison point, the EspoCRM pricing page lists EspoCRM Cloud at 15 US dollars per user per month on the Basic plan (minimum 3 users), 25 dollars on Enterprise (minimum 5 users) and 69 dollars on Ultimate (minimum 10 users). Ask any partner for a fixed-scope quote that separates one-time build work from recurring hosting, upgrades and support.
How long does it take to set up GDPR request handling in a CRM?
The timeline is set by the scope agreed in writing and by decisions the client must make, not by the platform alone. The work usually covers the data map, the search criteria for access requests, export formats for portability, deletion rules that respect retention and legal exceptions, and testing on a staging copy. Delays most often come from unresolved retention decisions, slow access to systems that feed the CRM, and identity provider changes. Ask a partner to show the milestones, the client dependencies in each one, and the acceptance tests before work starts.
Can our internal team handle GDPR requests in the CRM alone?
Often yes, once the workflows and access rights are in place, because most routine requests are a search, an export or a deletion that an trained administrator can run. The team still needs a documented procedure, named owners, role-based permissions that limit who can export or delete, and a log of what was done. Article 15(3) requires a copy of the data and allows an electronic answer in a commonly used form, so the team must know what to send. Complex or disputed requests, and requests that touch data in several systems, usually need legal review and may need a partner for technical support.
What must our team supply before the CRM work starts?
The partner cannot decide the legal position for you. Before build work starts, the team should supply a data map listing each field and record type that holds personal data for customers and prospects, a retention schedule with the period and reason for each data set, and the legal basis for each processing activity, such as consent, contract or legitimate interest. The team should also name the record owners, list the systems that send data to the CRM, and confirm which exceptions under Article 17(3) apply, such as legal claims or legal obligations. Missing answers here are the most common reason a technical design has to be reworked.
Do we need to migrate SuiteCRM 7 data before handling GDPR requests?
If the CRM is still on SuiteCRM 7, yes, the move to SuiteCRM 8 is documented as a migration, not an upgrade. A new SuiteCRM 8 environment is set up and the 7 data is moved into it, after the 7 instance is brought to the latest 7.14.x or later. SuiteCRM 7.15 is an extended support release with security fixes until January 2028. Migration is also a point to clean up personal data, remove records that should already be deleted, and test that access and erasure work on the new system. The SuiteCRM migration docs advise testing on staging, backing up files and database, and reviewing customizations, because the migration may remove non-core files under the public/legacy folder.
How do Article 83 fines relate to the engineering scope?
Fines are set by the regulator on the facts of each case, and the GDPR does not reward a particular tool. Article 83 sets maximum fines of EUR 10 million or 2% of worldwide annual turnover for infringements such as Articles 25 to 39, and EUR 20 million or 4% for infringements of the principles, lawful basis, data subject rights and transfer rules, whichever is higher. Engineering reduces the risk of failing to meet those duties, for example by making access and erasure possible within the required timeframes. It does not replace legal decisions, a documented process, or the controller's accountability. The GDPR requires no audit or certificate, and Article 42 certification, if pursued, does not reduce responsibility for compliance.
Does the CRM need SSO and access logging to support GDPR requests?
Access to personal data in the CRM should be controlled and logged, because the people who can search, export or delete records are part of the security of processing under Article 32. SuiteCRM 8 supports LDAP and SAML login, and EspoCRM supports OpenID Connect and LDAP. Test how logout works, since the SuiteCRM SAML reference notes that IdP-initiated logout does not end the SuiteCRM session. Confirm that EspoCRM's own 2FA is not used with OIDC, and that API access for integrations uses HMAC or API keys with restricted roles rather than basic authentication.
What happens to erasure requests when data reaches other systems?
Deleting a contact in the CRM does not automatically delete copies in mailing tools, billing, support desks or data warehouses. The team must map every downstream copy and decide how each one is erased or excluded. Where data was made public, Article 17(2) requires reasonable steps, including technical measures, to inform other controllers that erasure was requested. Ask a partner how the integrations will carry deletion events, what gets logged, and how backups are handled so that erased data is not restored without a check.
Where a written process has to take over from the software
Software can find, export and delete records, but it cannot decide whether a request is valid, which lawful basis covers each processing purpose, or whether an Article 17(3) exception keeps a record. Those decisions belong to a named process owner, usually the data protection lead working with sales operations. Write down who checks identity, who decides on lawful basis for each CRM entity and custom field, and who signs off any refusal or partial erasure, with the reasoning kept on the request record. Article 15(1) and Article 17(3) both turn on facts about the relationship, such as an open legal claim or a legal retention duty, that no CRM field can capture on its own.
The clock is a process problem. The GDPR expects a response without undue delay and within one month of receipt, with the option to extend in defined cases, so the process owner needs a queue, a due date on every request and an escalation path when a request sits in a shared mailbox. Most requests will arrive by email to sales or support staff, not through a form. Train every role that can receive email to recognize an access, erasure or portability request, to avoid replying with CRM data themselves, and to log it within a set time. Confirm the response window and extension rules with your counsel before you publish them. Also run the EDPB's search guidance against your own CRM: the search must cover linked objects, attachments, email history and any non-CRM systems that hold the same customer, so the process should list those systems and who searches each one.
Keep the records of processing current as the CRM changes. Each new custom field, workflow, integration, user role or export job can change what data is held, who receives it and where it goes, so require a documented review before any change reaches production, and record the reviewer and date. Staging tests should include a test access export and a test erasure to confirm the change has not broken the search or the deletion path. Article 42 certification is voluntary, is issued for at most three years by an accredited body or supervisory authority, and does not reduce the controller's or processor's responsibility. Treat any certificate held by your hosting or software vendor as supporting evidence only. Your own records, decisions and test results remain the evidence a supervisory authority will ask for.
How a GDPR rights workflow is rolled out on a self-hosted CRM
The rollout sequence turns a CRM into a repeatable process for access, erasure and portability requests, with a tested configuration, written procedures and a record of each request before the first live request arrives.
Map personal data and the record of processing
Start by listing every CRM entity, custom field, attachment store, email integration and connected system that holds customer or prospect personal data, including the marketing, support and billing tools that receive records from the CRM. The privacy or compliance lead, with the CRM administrator, records the purpose, lawful basis, categories of data, recipients and retention period for each one. The step is complete when every location is named in the record of processing and each owner has confirmed it in writing.
Configure search, export and deletion paths
Build the means to find one person across the data map, using the identifiers the business actually uses such as name, email address, phone number and customer number, and to search linked records, notes, emails and attachments. Configure a standard export that returns the data in a commonly used, machine-readable format, and define how erasure removes or anonymizes records while keeping any data the business must retain under a legal obligation. The administrator documents each path and the fields it covers. The step closes when a test record can be located, exported and erased through the documented path.
Test the workflow on staging with dummy requests
Load dummy contacts, accounts and linked activity into a staging instance that matches production configuration, then run simulated access, portability and erasure requests against them. Check that searches find duplicates and linked records, that exports include related data in the same file, and that erasure also reaches attachments, integration copies and backups where they are in scope. Testing on staging follows the same backup and review steps the vendor advises before any change to a live system. The step is complete when the test results are logged with pass or fail notes and each gap has an owner.
Write the process and train staff
Turn the tested steps into a written procedure that covers intake channels, identity verification, deadlines set by the organization's own policy, exceptions such as legal claims, communication with the requester, and escalation to the data protection lead. Train the staff who receive or fulfil requests, including sales, support and administrators, on what to search, what to export and when to refer a case. Staff should sign off that they have read the procedure and attended the session. The step closes when the procedure is approved and the training attendance is recorded.
Go live with a request register
Open the workflow in production with a request register that logs each request's date received, requester identity check, scope, actions taken, exceptions applied, response date and sign-off. The register should be stored outside the CRM so that it survives a record deletion and can show what was done. The data protection lead reviews open items at a regular interval set by the organization. The step is complete when the first live requests are recorded in the register and reviewed against the procedure.
Run periodic restore and rights tests
Schedule recurring tests that restore a recent backup to a separate environment and confirm that records erased in production do not reappear there, unless the restore is covered by a documented exception. Repeat sample access and erasure tests against the current configuration after each CRM upgrade, module change or new integration. Keep the test results with the register as evidence of operation. The step produces a dated test log that the organization can show to an assessor, and the intervals should be agreed with the implementation partner in the written scope.
How DeployOpen scopes and delivers GDPR rights support on a self-hosted CRM
DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted CRM platforms such as SuiteCRM and EspoCRM inside the client's own cloud accounts, data centers or air-gapped networks. For GDPR rights work, that means the engagement starts with a written, fixed scope that names the systems in play, the entities that hold personal data (accounts, contacts, leads, activities, attachments, email history), the identity and hosting arrangements, and the request types the client's team will handle. The scope also settles who owns each step: who receives a request, who searches which systems, who approves a copy or erasure, and who records the outcome. Most of the value comes from deciding these points before configuration begins, so the fixed scope should be reviewed by the privacy office before it is signed.
Delivery covers the CRM-side controls: search and export procedures built around the fields that identify a person, role-based access so request handlers see only what they need, scheduled or on-demand export that produces a structured, machine-readable file, erasure or anonymization routines that respect retention exceptions, and logging of who accessed or changed a record. DeployOpen hardens the hosting, documents the configuration and prepares the evidence that an assessment would ask for, such as request logs, test records and change history. DeployOpen does not issue audit reports, attestations or certificates; independent auditors and certification bodies do that work. Ongoing support, upgrades and continuous testing can be covered by a retainer, which is worth pricing separately because a CRM upgrade or new integration can change how requests are served.
Before signing, ask the implementation partner to confirm in writing which CRM version and hosting stack the scope assumes, how the partner will test access and erasure on a staging copy before production, what the handover documentation contains, and whether the retainer covers re-testing after each platform upgrade. Ask the client's privacy counsel to confirm the retention rules that the erasure routines must follow. These are the points that most often decide whether the delivered system can answer a real request within the deadline the GDPR sets.

