Open edX for GDPR account deletion and data sharing

Open edX can carry out most of a GDPR erasure request across the LMS, forums and credentials when it is configured and tested for that purpose. Backups, analytics copies, custom code and third-party tools still need their own erasure path.

On this page

Open edX GDPR account deletion: which obligations the platform helps with

An education provider or enterprise learning team that receives erasure requests needs to know which duties Open edX user retirement and data controls can carry. The platform's user retirement and data controls help with the erasure, minimization and access duties. They do not cover security of processing, the conditions for transfers to third countries, or certification. The duties in scope are Article 17(1) on erasure, Article 19 on notifying recipients, Article 25(2) on data protection by default, and Article 15(1) on access. DeployOpen configures the platform and prepares the evidence for these duties, but it does not issue any audit report or certificate. The GDPR requires no certificate, and independent auditors or certification bodies make those determinations.

For Article 17(1), the practical question is which stores a retirement request actually reaches. Retirement handles the core learner account in the LMS, but each other location needs its own check: forum posts, issued credentials, LTI tool records, analytics data from Aspects, and any logs or custom tables your team has added. Decide in advance which erasure grounds you will accept and how a legal obligation to keep certain records, such as issued certificates, will be documented as an exception. Run a test learner through the full retirement flow and search each store afterward. Record the result as part of the evidence file.

For Article 19, the platform can only notify recipients it knows about, so you need a register of every LTI tool, identity provider, commerce or badge service that has received learner data. Each entry should state what was sent and how deletion requests will be passed on. Where notification is impossible or disproportionate, the decision and its reasons should be written down. For Article 15(1), access requests require confirmation, a copy of the data, and information on purposes, recipients, retention and source. Confirm which export the platform produces, whether it covers the same stores as retirement, and whether it lists recipients in a form you can send to the data subject.

For Article 25(2), review what is collected by default and who can see it. Check which profile fields are required, which fields instructors and other learners can view, and how long inactive accounts and forum content remain accessible. Document each setting and the reason for it. The EDPB's 2025 coordinated enforcement action on the right to erasure, announced on 18 February 2026, listed recurring problems, including anonymisation used in place of deletion and deletion gaps in backups. Retirement alone does not settle either issue, so confirm how each finding applies to your deployment before you rely on the platform's controls.

Mapping each GDPR requirement to Open edX capabilities and configuration

This table pairs each GDPR provision in scope with the Open edX capability that relates to it and the settings to verify. Each capability is described as something to confirm in the current release docs, so treat the third column as an architecture review checklist. The main takeaway is that most gaps sit outside the LMS itself, in custom code, LTI launches, and backups.

RequirementPlatform capabilityConfiguration to confirm
Article 17(1) groundsErase personal data without undue delay when a listed ground applies, such as withdrawn consent or data no longer needed.Learner account retirement in the LMS, which clears or anonymizes personal fields for the user.
Article 19 recipient notificationNotify each recipient of the erasure, unless this is impossible or disproportionate.Retirement may not notify downstream tools by itself. Confirm whether it emits any event or signal.
Article 25(2) minimization and accessProcess only data needed for each purpose by default, including storage period and access without individual intervention.Profile field visibility, registration fields and staff roles that control who sees learner records.
Article 15(1) access requestsConfirm whether data is processed and provide access with purposes, recipients, retention and source.Learner data views and export options. Confirm which exports cover the account, forums, credentials and tracking logs.
Article 44 transfers for LTI and hostingTransfers to third countries, including onward transfers and remote access from outside the EEA, must meet Chapter V conditions.LTI launches send user fields to external tools. Confirm which fields and claims each launch includes.
Erasure in backupsErasure must reach copies such as backups, and the EDPB's 2025 enforcement action flagged deletion in backups as a recurring gap.Confirm whether retirement reaches database backups, replicas or analytics stores. Assume it does not until verified.

How Open edX user retirement covers the LMS, forums and credentials

The erasure workflow decides whether a request is actually closed, so build it as one sequence with a named privacy owner, and run the platform's user retirement tooling inside that sequence rather than as an ad hoc action by whoever holds administrator access. Article 17(1) of the GDPR requires erasure without undue delay when one of six grounds applies, including data no longer necessary, consent withdrawn, a successful objection and unlawful processing. Intake should record which ground applies before anyone touches an account. Next, confirm in the documentation for the named Open edX release in use exactly which LMS account fields retirement clears, anonymizes or leaves in place, because that behavior is the foundation of every later check.

Assign each step a trigger and an owner. A learner request, a regulator's order under Article 58(2)(g) or an internal retention decision can start the workflow, and the privacy team verifies identity and assesses the legal basis first. Article 19 requires that erasure be communicated to each recipient of the data unless that is impossible or disproportionate, so the second step notifies LTI tools and any external credential or badge service that received learner data, and records the reason for any exception. The platform operator then runs LMS retirement. Forum content follows as a separate step, where the team decides with moderators whether posts are deleted, removed or detached from the retired account, and confirms the method for the release in use. Issued credentials come last, since other parties may rely on them. Decide whether each credential is revoked, unlinked from the learner's identity or retained on a documented legal basis.

Every request needs a single record that survives the ticket system. Capture the ticket identifier, the date received, the identity check method, the Article 17(1) ground, the systems in scope, the operator and timestamp for each step, the recipient notices sent and the outcome per system. Verification should be a repeatable checklist rather than a judgment call. For the LMS, the operator searches admin tooling and a staging database copy for the former username, email address and profile identifiers. For forums, the team searches for the retired username and checks that remaining posts no longer resolve to a person. For credentials, the team checks the issuing record and any public verification page. The EDPB's 2025 coordinated enforcement action on erasure, announced on 18 February 2026, listed ineffective anonymisation used in place of deletion among its recurring findings, so a check should confirm that data is removed or truly unlinked, not merely hidden.

The gaps sit outside the retirement tooling. Backups keep personal data after the live systems are clean, and the same EDPB action named deletion of personal data in backups as a recurring challenge. Set a backup retention period, document how restored backups re-apply completed erasure requests and test that restore path. Custom XBlocks, plugins and integrations may write learner data to stores that retirement does not touch, so inventory them before go-live and add their stores to the verification checklist. Confirm with the vendor and the release documentation which components are covered by default and which need custom handling. Finally, name who approves any retention exception, and make sure that decision is written into the request record with its legal basis.

Controlling learner data sent to LTI tools after an erasure request

Every LTI launch and service call passes learner information from the LMS to an external tool, so erasure work has to start from a map of what each tool actually receives. Open edX passes identifiers and profile values according to the launch configuration and the LTI Advantage services a tool has been granted, and those settings can differ between tools and between course runs. Your team needs to confirm the exact claims, names, emails, grades and roster data for each integration in your own environment rather than assume the defaults.

Check the following for each tool:

  • Launch claims: the user identifier, name, email, role and context values sent in each launch.
  • Service calls: whether the tool reads rosters, pushes grades or receives membership changes, and for which courses.
  • Stored copies: whether the tool keeps a local profile, submission or grade record after the launch ends.
  • Pseudonymous identifiers: whether the identifier sent to the tool can be linked back to a learner in the LMS.
  • Data location: where the tool processes and stores data, including any third-country hosting or remote support access.

After the field map is complete, decide which fields are necessary for the tool's purpose and reduce the rest where the configuration allows it. Confirm with the vendor which identifiers the tool uses to match an erased learner.

What evidence Open edX produces for an erasure audit and how to keep it

An erasure programme is judged on the records the controller keeps, not on the platform's settings alone. The cards below cover the records Open edX deployments can produce, who should own each one, and how long to keep it, so that a retirement run can be shown to a supervisory authority or auditor months later.

Erasure request log

A dated record of every deletion request, its source, the grounds relied on under Article 17(1), the decision taken and any extension or refusal reason. Keep it in a system the privacy team controls, separate from the LMS database being erased. Check that each entry links to the learner account identifier used for retirement, without copying the learner's personal data into the log itself.

Retirement run records

Output from each Open edX user retirement run, showing which accounts were retired, which LMS, forum, credential and analytics stores were touched, and which steps failed or needed rerun. Store the job logs with run identifiers and timestamps. Check that a failed partial run leaves a visible open item rather than a silent gap.

Configuration baselines in version control

The deployment configuration, Tutor plugin versions, retirement settings and custom XBlock or forum code that were live when each erasure ran, kept in a Git repository with tagged releases. Owned by the platform team. Auditors can then confirm which retirement behaviour was in force on a given date, which matters when a version upgrade changes what gets removed.

Erasure test results in staging

Results from repeatable tests that create a test learner, generate activity across the LMS, forums and certificates, run retirement and then query each store for residual personal data. Owned by QA with sign-off from the privacy owner. Keep the test scripts under version control so the same checks can be rerun after each upgrade or custom code change.

Recipient notification records

Records showing that erasure was communicated to each recipient of the learner's data, such as LTI tools, external graders, credential platforms and processors, as Article 19 requires unless this is impossible or disproportionate. Record the date, the recipient, the method and any reason notification was not made. Owned by the data protection lead and kept with the request in the erasure log.

Data map of LMS, forum, credential and analytics stores

A current inventory of where learner personal data sits: MySQL tables in the LMS, forum content, credential records, Aspects event data in ClickHouse, backups and object storage. Each entry names the owner, the retirement mechanism and the retention rule. Review it after every new plugin or integration, because gaps usually appear in custom code and backups, which the EDPB's 2025 enforcement action flagged.

Where anonymisation and backups fail the erasure test

The EDPB's coordinated enforcement action on the right to erasure, announced on 18 February 2026 and covering 764 controllers across 32 data protection authorities, named seven recurring challenges. Two of them matter most for an Open edX operator: using anonymisation in place of deletion, and leaving personal data in backups. An erasure request is not complete because a learner's name was replaced in one table. The team must show that the data is deleted from the systems in scope, or that what remains cannot reasonably be linked back to the person, and must be able to explain which of those applies to each store.

Deletion or anonymisation? Open edX user retirement is built to remove or overwrite personal fields across the LMS, forums and credentials, so the default position should be deletion. Anonymisation is a separate claim that requires an assessment of whether the remaining data, combined with other data the controller or a recipient holds, can still identify the learner. Event logs, enrollment history and forum posts are the usual difficult cases. Write down the decision for each data category, the reasoning, and who approved it. Confirm with your privacy team whether retained aggregate course statistics meet your anonymisation standard before relying on them.

Backups and restores. Backups are the second failure point. A deleted account can reappear after a restore if the restore source predates the erasure and nobody reapplies the deletion. Confirm how your backup tooling handles individual records, since most backup tools restore whole databases or volumes and do not erase single learners on their own. Do not assume that any backup product performs erasure automatically. Your procedure should say that erasure requests are recorded in a log that restores check against, that the restore runbook includes a step to reapply deletions, and that restored data is not returned to production before that step completes.

Backup rotation. Document the retention period for each backup set, the date on which the oldest copy containing a deleted learner will expire, and who owns that date. Article 17 requires erasure without undue delay, so an unexplained gap between the request and the backup expiry will be hard to defend. Where a backup cannot be shortened, record the justification, restrict access to the backup, and confirm with your legal team how the data subject is informed. Test the rotation and restore steps at least once before go-live, and keep the results as evidence.

What Open edX does not cover for GDPR erasure

Open edX user retirement handles the LMS, forums and credentials, but erasure under Article 17 reaches every place personal data lives. The cards below cover the copies and recipients that sit outside the standard models, and the obligations that remain with the controller regardless of platform features.

Backups and archives

Database dumps, object storage snapshots and log archives keep learner records after a live account is retired. The EDPB's 2025 coordinated enforcement action on erasure listed deletion of personal data in backups among its recurring challenges. The team must define backup retention, decide how erased users are removed from restores, and document how a restore re-runs erasure before users regain access.

Custom XBlocks and frontend storage

Custom XBlocks, plugins and frontend code can write personal data to their own tables, local storage, cookies or third-party services that the standard retirement process does not know about. Each custom component needs an inventory of the fields it stores and a retirement handler that deletes or anonymizes them. The team owns that inventory and must test it against a real retirement request.

Analytics copies in ClickHouse and Superset

Aspects stores tracking logs as xAPI statements in ClickHouse and presents them in Superset dashboards, so learner events exist outside the LMS database. Erasure requests must reach these stores, including materialized views, saved Superset queries, exports and cached chart data. The team must confirm which identifiers are pseudonymous, how deletion is executed in ClickHouse, and who can query the data.

LTI and other third-party recipients

Learner data sent to LTI tools, external graders, identity providers and commerce services becomes a copy held by another controller or processor. Article 19 requires communicating erasure to each recipient unless that is impossible or disproportionate. The team must maintain a register of which launches and claims are sent to which tool, agree deletion routes with each recipient, and record where a recipient cannot erase.

Transfers to third countries

Remote support sessions that display learner records from outside the EEA, and cloud storage hosted outside the EEA, both count as transfers under EDPB Guidelines 05/2021. Article 44 applies to onward transfers as well. The team must map which operators, support staff and storage regions can see or hold data, then confirm the Chapter V basis for each, including the status of any Data Privacy Framework entry.

Security of processing under Article 32

Article 32 requires the controller to implement technical and organizational measures suited to the risk, including pseudonymization, encryption, confidentiality and the ability to restore access to data. Erasure is only as reliable as the access controls that limit who can see or export learner records before deletion. The team owns access reviews for Studio, LMS admin tools, ClickHouse and Superset, plus logging of erasure actions.

No certification requirement under Article 42

The GDPR requires no audit, attestation or certificate, and Article 42 certification is voluntary and does not reduce the controller's responsibility. An Open edX deployment can be built to support erasure without any certificate, and a certificate would not prove that erasure works. The team should ask any assessor which evidence they expect, such as retirement logs and test records, and should confirm with independent auditors or certification bodies what they will accept.

Configuring erasure and data sharing controls in sequence

This sequence takes an Open edX deployment from a documented personal data map to tested erasure across the LMS, forums, LTI tools, analytics, backups and custom code. Each step has a named owner and closes with a check, so the output is a signed data map, configured retirement, and a repeatable evidence file.

  1. Confirm scope, data map and release behavior

    The DPO or privacy lead and the platform owner list every system that holds learner data, including the LMS, forums, credentials, analytics, LTI tools, backups and logs. The platform lead then reads the retirement documentation for the release running in production, since Open edX supports only the latest named release, and records each erasure ground under Article 17(1). Done when the platform owner signs the map and a note of the release's built-in retirement steps.

  2. Configure learner retirement and forum handling

    Engineering runs the built-in learner retirement process on a non-production copy, then sets how forum posts and profile data are handled for retired accounts. The DPO decides whether posts are deleted or retained, and records the reason against Article 17 and Article 25(2). Anonymization counts as erasure only when re-identification is no longer possible, which the EDPB's 2025 enforcement findings flag as a common failure. Done when a test retirement leaves no identifying fields in the stores the decision says must be cleared, and the DPO signs the rule set.

  3. Define LTI data sharing and notification

    The integration owner lists each LTI tool, the user fields it receives, where it is hosted, and whether it acts as a processor or a separate controller. Legal counsel confirms the transfer basis for any tool outside the EEA, then sets how erasure requests reach each tool so that recipients are notified as Article 19 requires. Done when every tool has a documented data set, a deletion contact and a notification step, and legal counsel signs the register.

  4. Configure analytics retention and erasure

    The analytics owner sets retention periods for tracking logs and xAPI statements captured by the Aspects event routing, stored in ClickHouse and shown in Superset dashboards. The owner defines how a learner's records are deleted or pseudonymized in each store, including derived tables that copy raw events. Done when a test learner's identifiers are absent from every store on the data map and the DPO signs the retention schedule.

  5. Build backup and restore erasure rules

    The operations lead defines which backups hold personal data, how long they are kept, and how an erased learner is removed when a backup is restored. Restore runbooks must reapply pending erasures before users regain access, since the EDPB's 2025 action names deletion from backups as a recurring challenge. Done when a restore test shows that a previously erased learner stays erased, and the platform owner and DPO sign the runbook.

  6. Write erasure checks for custom code

    Developers review custom XBlocks, plugins, reports and frontend code for any storage of learner data outside the platform's retirement path. They then add automated checks that fail when a new field or table has no erasure handler, and each check is mapped to an entry in the data map. Done when the code owner and security lead approve the checks and CI runs them on every change.

  7. Test erasure in a non-production copy

    Engineering restores a masked copy of production data into a non-production environment with the same release and configuration. Test erasure requests then run across the LMS, forums, credentials, LTI tools, analytics and a restored backup, with each result traced against the data map. Done when the test report marks each system as pass or fail, the DPO accepts any open items in writing, and failed items return to their owner.

  8. Set up the evidence routine

    The compliance lead defines the evidence kept for each erasure request: the request, the systems affected, timestamps, recipient notifications and restore test results. The DPO sets how often the routine is reviewed. If an independent auditor or certification body is engaged later, it makes any assessment, and this routine only prepares the record. Done when the DPO signs the routine and a sample request produces a complete evidence file.

Analytics copies of learner data and how erasure reaches them

The first thing to settle is that a learner's deletion request does not end at the LMS database. In an Open edX deployment that uses Open edX Aspects, tracking logs are captured through the event-routing-backends plugin as xAPI statements, stored in a ClickHouse database through Ralph or Vector, and presented in Superset dashboards. Each of those stages can hold a copy of learner-linked data, and each copy can outlive the retirement that the LMS performs. Before you promise a learner that their data is gone, list every copy, the identifier that connects it to a person, and the process that removes or transforms it.

The copies fall into three groups. The first is the raw event stream: xAPI statements that carry actor identifiers, course and unit references, timestamps and event context. The second is the analytical store in ClickHouse, which may hold the same statements in tables built for queries, often with derived fields. The third is the presentation layer, where Superset datasets, saved charts, cached query results and exported CSV files can keep learner-level rows or aggregates that are small enough to re-identify people. Ask your team to inventory each store, its retention setting and whether it holds the LMS user identifier, the email address, or a hashed or pseudonymous value that the LMS can reverse. Also check Vector and Ralph buffers, dead-letter queues and any object storage used for archives.

Finding the linking identifiers is the hard part. The LMS user ID is the obvious join key, but the actor in an xAPI statement may be an account identifier, an email address, or a UUID generated by the event pipeline. Review the event-routing-backends configuration and sample real statements from each source, then trace the field mapping into ClickHouse and into any Superset dataset that joins on it. Record how the mapping was built, and test whether a lookup on the LMS identifier returns every row you expect. Do this on a staging copy, and document the query you used so an auditor or a later engineer can repeat it.

For each copy, decide among three outcomes. Deletion removes rows keyed to the learner and is the default when no further purpose exists. Pseudonymization replaces the identifier with a value that cannot be linked back without a key you can destroy, which may suit course-level trends, but regulators have criticized anonymization used as a substitute for deletion, so the reasoning must hold up. Retaining aggregate data is defensible only when the aggregates cannot single out a learner, which means checking small cohorts and rare combinations. Confirm with your data protection lead which purpose each copy serves and record the decision.

Your team must confirm the retention and deletion behavior of each component in its own deployment. Do not rely on defaults in a tutorial or on the behavior of a sibling project. Confirm, with the vendor documentation for your versions and by testing, whether ClickHouse TTL rules, Ralph storage settings, Vector sinks, Superset caches and exported files delete or merely hide data, and whether backups retain rows after a live deletion. Ask for written confirmation of each result before you tell learners that their data has been erased.

Questions buyers ask before handling GDPR erasure on Open edX

What drives the cost of an Open edX GDPR erasure build?

The cost depends mainly on how much personal data your platform holds outside the core LMS and how many systems must act on an erasure request. The retirement workflow covers the core learner account, but forums, credentials, LTI tool data, custom XBlocks, analytics stores and backups each need a documented decision on deletion, anonymisation or retention. Every custom component adds code to read, test and maintain. Some costs are one-time, such as data mapping, workflow design and the first round of testing. Others recur, such as keeping the erasure path working after each upgrade and maintaining the audit record of each request. When you request a quote, ask it to separate discovery and data mapping, retirement workflow changes, custom code, backup handling, testing on a copy of production data, and documentation for your auditors, with a clear line between one-time work and any retainer.

How long does Open edX GDPR erasure work usually take?

The length is set mainly by scope and by decisions made before engineering starts, not by the deletion command itself. The largest factors are the number of systems holding personal data, the amount of custom code that touches learner records, and how many LTI tools must be told about an erasure under Article 19 of the GDPR. Approvals on retention periods and on backup handling can take longer than the code. Each environment you test in, such as development, staging and production, adds verification work. Because engagements are fixed-scope and agreed in writing before work starts, ask for a schedule tied to a written scope document, and ask which parts depend on your teams' reviews and access to systems. A schedule that is not linked to named deliverables gives you little to plan against.

What does the erasure work need from our data protection, legal and platform teams?

Each team owns a set of decisions that engineering cannot make alone. Your data protection team should confirm which grounds for erasure under Article 17(1) apply, which exceptions you rely on, the retention periods for each data category, and whether anonymisation is an acceptable substitute for deletion. Legal should review any legal obligation to retain data, the contracts with LTI providers and other recipients, and any transfer of data outside the EEA, since Article 44 applies to onward transfers as well. Your platform team needs database and backup access, the ability to run tests on a copy of production data, control of the Tutor deployment, and an approval path for production changes. Confirm the exact responsibilities with your data protection officer before the scope is signed.

Can our own team handle GDPR erasure on Open edX internally?

Yes, an internal team can do this if it has the right skills and enough time to finish the work and keep it running. The platform stack includes Python 3.12, Node.js, MySQL 8.0, MongoDB 7.x and Memcached, and multi-node deployments need a shared cache backend such as Redis or Memcached. Your engineers also need to understand Django models, Tutor plugins and how the retirement workflow touches forums, credentials and any custom code. The edx-platform maintainers recommend running Open edX in production through a service provider or with Tutor, which is a useful starting point for judging your own capacity. Whichever path you choose, the legal decisions on retention, anonymisation and recipient notices stay with your organization, so plan those owners separately from the build.

Can DeployOpen certify that our Open edX platform is GDPR compliant?

No, DeployOpen does not issue certifications, attestations or audit reports. The GDPR requires no certificate. Certification under Article 42 is voluntary, is issued for at most three years by accredited certification bodies or supervisory authorities, and does not reduce the controller's or processor's responsibility for compliance. DeployOpen can plan, implement and document the erasure workflow, the data map, the test records and the operating procedures, and prepare that evidence for an assessment. Independent auditors and certification bodies make any formal judgment. Before you start, ask your data protection officer which evidence your supervisory authority or assessor expects, so the build produces the right records from the first sprint.

What changes after an Open edX platform upgrade?

The erasure path must be tested again after each upgrade, because Open edX supports only its latest named release. Verawood is the current named release, published on 30 July 2026, and the next releases, Willow and Xylon, are listed for December 2026 and June 2027. Each release can change models, retirement hooks and frontend plugins, and custom XBlocks or Tutor plugins may break. Verawood also added an AI Extensions Framework, tagging and taxonomy management and LTI Advantage Complete certification, so new features may store personal data that your data map does not yet cover. Review the release notes for your target version, update the data map, repeat the erasure tests in staging, and record the results before production cutover.

Is anonymization enough to meet an Open edX erasure request?

Often it is not, and the decision belongs to your data protection team rather than to the build alone. The EDPB's 2025 coordinated enforcement action on the right to erasure identified ineffective anonymisation used in place of deletion as one of its recurring challenges, and it also flagged deletion of personal data in backups. Anonymised data is acceptable only when re-identification is not reasonably possible, which depends on the fields kept, the other data you hold and the people who can access it. For backups, the platform retirement path cannot reach every stored copy, so you need a documented procedure for restores, a defined retention window and a check that erased learners are not reintroduced. Ask for this procedure in the scope, not as a later add-on.

How DeployOpen scopes, configures and supports erasure controls

DeployOpen plans, implements, hardens and documents Open edX inside your own infrastructure, so erasure controls run where your learner data lives. Each engagement starts with a written, fixed scope that names the systems, data flows and retention rules involved. DeployOpen prepares the controls and evidence, while your legal and privacy teams decide what the GDPR requires for your organization and independent auditors assess compliance.

How we scope

  • The written scope lists each erasure trigger and the Open edX systems it reaches.
  • Learner data inventory covers the LMS, forums, credentials, LTI connections, analytics and backups.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • Configure user retirement for LMS accounts, then test forum and credential records against the same request.
  • Review custom XBlocks, plugins and reporting code for personal data that retirement does not reach.
  • Map LTI tool launches and returned data so only necessary learner fields leave the platform.

How we hand over

  • Written runbook for the erasure procedure, including who approves requests and how each system is verified.
  • Backup handling notes explaining how deleted records are handled during restores and retention cycles.
  • Test scripts and evidence logs your team can rerun after each Open edX upgrade or configuration change.

How we support

  • Retainers cover ongoing support, upgrades and testing of erasure controls as Open edX releases change.
  • Changes to LTI tools, custom code or retention rules trigger a review of the affected erasure steps.
  • Your privacy and legal owners approve retention and recipient decisions, and DeployOpen does not issue compliance attestations.

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.