Canvas vs Open edX: which fits your courses?
Canvas fits best when your courses are credit-bearing, run through campus systems and LTI tool integrations, and your faculty and support staff already know the Canvas workflow. Open edX fits best when enrollment is open, courses are self-paced or run in cohorts, and you need certificates and a branded academy for customers, partners or the public. The decision turns on three questions: what kind of course you are delivering, who will run the hosting and upgrades, and how much custom authoring and learner-facing design your team needs to build.
Start with the course model. Canvas is organized around institutional terms, sections, gradebooks and enrollment through an SIS, which suits accredited programs where grades feed a transcript. Open edX is organized around courses and course runs, with Studio as the authoring environment and the LMS as the learner front end. Check whether your current course designs depend on Canvas-specific features such as SpeedGrader, Canvas quizzes or Canvas-native rubrics, because those will need rebuilding on Open edX. Also confirm which LTI tools your instructors use today and whether each one supports the LTI version Open edX provides, since the Open edX release notes list the current supported release only.
Then decide who operates the platform. Open edX's maintainers recommend a service provider or Tutor for production, and bare-metal installs receive limited community support, so budget for a managed provider or an internal platform team either way. Canvas self-hosting also moves upgrades, database operations and support to you, and the Canvas Production Start guide directs installation problems to community channels rather than Instructure support. Ask any implementation partner to write down which upgrade, backup and incident duties they cover, and which ones stay with your staff, before you compare totals.
Canvas vs Open edX by scenario: credit-bearing or open enrollment
This table matches common program types to the platform that usually fits them better, and names the condition that tips the decision. Read each row as a question to answer for your own program, since the right choice depends on assessment rules, enrollment volume and who authors the content. Most institutions with both credit-bearing and open programs end up running more than one platform.
| Scenario | Better fit | Condition that makes it so |
|---|---|---|
| Credit-bearing degree courses with grades and SIS sync | Canvas LMS | Your registrar, gradebook and SIS integrations already run on Canvas, and faculty rely on its grading, rubric and LTI tool ecosystem. Moving these courses means re-validating every integration. |
| Open enrollment MOOCs with thousands of anonymous or self-registered learners | Open edX | Your goal is free or low-cost public enrollment with certificates, and you expect the course catalog to grow. Open edX is built around this course model, with Studio authoring and a learner-facing LMS. |
| Public certificate programs sold to professionals | Open edX or Canvas LMS | Open edX fits if certificates are the product and the catalog is public. Canvas fits if the certificate is tied to a credit-bearing institution's transcript or existing Canvas courses. |
| Customer or partner academies | Open edX | You need branded, externally facing enrollment, course-level access rules and identity federation with partner directories. Confirm which external identity providers your partners use, since Open edX supports OAuth2, SAML 2.0, Shibboleth and LTI sign-in. |
| Internal employee training with compliance tracking | Moodle or a dedicated corporate LMS | Your requirement is SCORM-based compliance records and HR integration rather than open courses. Open edX is less commonly chosen for this, so confirm reporting needs before choosing it. |
| Institutions needing faculty-authored courses in Canvas today | Canvas LMS, self-hosted or hosted | Staff already build courses in Canvas and migrating them would delay teaching. Consider self-hosting Canvas later if licensing or hosting control becomes the priority. |
How Open edX's course model differs for open enrollment
Open edX and Canvas both deliver courses to learners, but they were shaped for different audiences. The cards below cover how Open edX structures courses and runs, how Studio authoring works, and where Canvas's campus-oriented sections and gradebook fit better, so you can match the platform to your enrollment model.
Courses and course runs
In Open edX, a course is versioned content that can be offered in several runs, each with its own start date, enrollment window and learner roster. This matters for public programs that repeat a course every term or cohort. Canvas instead models a course as one shell that is usually reset or copied per term. Confirm how your team will version content and whether past runs must stay open for reference.
Studio for course authoring
Studio is the Open edX authoring service, separate from the LMS where learners work. Course teams build units and components there, and Verawood adds a new Studio sidebar and tagging and taxonomy management. Canvas authoring happens inside the course itself, with the Course Import Tool bringing in Common Cartridge or Blackboard exports. Ask your course designers whether a separate authoring environment fits their workflow and how many people will edit at once.
Enrollment modes and access
Open edX separates how learners enter a course from the content itself, and enrollment modes control whether a learner audits, pays or is verified. Open enrollment programs depend on these settings, so test each mode with your pricing and access rules. Canvas enrollment is driven mainly by SIS feeds and instructor roles, which suits registered students. Confirm the modes, refund rules and access windows in your own environment before you commit.
Certificates for learners
Open edX can issue certificates to learners who meet a course's passing criteria, but certificate templates, signatories and eligibility settings must be configured and tested per run. Credit-bearing courses usually need an institutional record of grades and credit, which an LMS gradebook supplies. Canvas gradebooks and SIS integration are built for that record. Verify certificate wording, rendering and verification behavior with your registrar and your own test course.
Learner scale and infrastructure
Open edX documents a modular monolith with separate Studio and LMS services and recommends a managed provider or Tutor for production, since bare-metal installs are complex. Open enrollment at high volume depends on caching, database capacity and the Redis or Memcached layer that multi-node deployments need. Canvas production guidance starts from a single server profile with Passenger and a background job daemon. Load-test both stacks against your expected peak before choosing.
Campus gradebook and sections
Canvas sections, enrollments and gradebook structures suit a campus where students register through a student information system and grades feed a transcript. Open edX has no equivalent campus-first gradebook model, so credit-bearing courses on it usually need an external record for grades. If your programs mix credit and open enrollment, decide early which system holds the official grade. Confirm this with your registrar and the integration owners before migrating.
Canvas vs Open edX capabilities side by side
This table compares licensing, authoring, identity, LTI, analytics, content import and release cadence for Canvas LMS and Open edX. Read the Open edX column as what the supplied documentation states, and treat the gap rows as items to confirm with Instructure or the Open edX community before you decide.
| Capability | Canvas LMS | Open edX |
|---|---|---|
| Source license | AGPLv3, code maintained by Instructure Inc. | AGPLv3 for edx-platform, stewarded by Axim Collaborative with no licensing fees |
| Codebase and stack | Ruby on Rails with PostgreSQL 14 or later and Redis 6.x or later | Python and Django with JavaScript, React micro-frontends, MySQL 8.0 and MongoDB 7.x |
| Authoring tool | Course content built in the Canvas interface | Studio (CMS) is the built-in authoring tool with a new sidebar in Verawood |
| Identity options | Confirm SSO connectors and SAML support against the current Canvas documentation | OAuth2 providers, SAML 2.0, Shibboleth and LTI through third-party authentication |
| LTI Advantage status | Confirm the current certification status with Instructure | LTI Advantage Complete certification added in the Verawood release |
| Analytics | Confirm reporting options and any external data export with Instructure | Aspects sends xAPI statements to ClickHouse, with Superset dashboards |
| Content import | Common Cartridge, IMSCC and Blackboard 6 to 9 and Ultra exports, plus Thin Common Cartridge | Confirm import formats with the Open edX community or your Studio version |
| Release model | Dated release tags such as release/2026-05-20 on the GitHub repository | Only the latest named release is supported; Verawood is current, with Willow and Xylon listed next |
| Production hosting | Self-hosted installs follow the Production Start guide with Passenger and a background job daemon | Service provider or Tutor is recommended over bare-metal installs |
What AGPLv3 means for Canvas and Open edX
Both Canvas and the Open edX platform code are released under the GNU Affero General Public License version 3, so the license itself does not separate them. Canvas LMS is maintained by Instructure and its source is published under AGPLv3, while the edx-platform repository is licensed under the same AGPLv3 terms. Open edX has no licensing fees and is stewarded by Axim Collaborative, a nonprofit founded by Harvard and MIT. The practical difference for a buyer is who stands behind the code, not the license text. Tutor, the official Docker-based Open edX distribution maintained by Edly, is AGPL as well, but its plugin and hooks system is licensed under Apache 2.0, which lets you write and keep private plugins under different terms.
The AGPL matters most when you modify the code and let users interact with it over a network. Under the AGPL, if you change Canvas or edx-platform and make the modified version available to users, including learners, instructors or partner staff using it through a browser, you must offer those users the corresponding source of your changes. Ask your counsel to confirm how this applies to your planned customizations, such as custom themes, LTI tools kept separate from core code, or patches to the LMS or Studio. Keeping customizations in plugins or separately deployed services, where the license terms allow, usually reduces the amount of code you must publish. Record which files you changed and who received them, because that record is what you will need to answer a source request.
Before you choose, confirm in writing what each vendor or provider includes beyond the license. For Canvas, ask Instructure whether the self-hosted or hosted edition you would consider comes with support, upgrades, security patches and contractual terms, and what the support scope is for a self-run install. For Open edX, confirm the terms of any managed Open edX provider, and confirm with Edly what professional support covers for Tutor. The Canvas Production Start guide directs self-hosters with installation problems to the community mailing list or IRC channel, so a paid support contract is a separate line item to price. Edition, support and indemnity terms are negotiated, not implied by the AGPL, so they belong in your evaluation file alongside the license review.
Where learner data lives under each option
Learner data, identity links and grade records sit in different places depending on whether Canvas or Open edX runs on Instructure's cloud, your servers or a managed provider. The cards below set out who operates each layer and what your compliance evidence must cover in each case.
Instructure-hosted Canvas
Instructure runs the platform, database and course files in its hosted environment, so data location, backups and most operational controls are set by the contract and Instructure's own documentation. Your team sees the outputs but not the infrastructure. Check where data is stored, which subprocessors touch learner records, how identity providers connect, and what evidence Instructure will share for your assessment. Ask for those answers in writing before the renewal.
Self-hosted Canvas LMS
Your organization holds the database, course files, logs and backups, so data residency is a decision you make and document. The AGPLv3 code runs on your PostgreSQL and Redis instances and your application servers. Identity integration, SMTP for notifications and backup encryption all become your configuration. Map every component that stores learner data, then confirm who will patch and monitor it.
Self-hosted Open edX with Tutor
Tutor packages Open edX as a Docker-based distribution that you deploy on your own infrastructure, including Kubernetes. Learner records, Studio content and analytics stores stay inside your environment. Identity is handled through third-party authentication such as SAML 2.0, Shibboleth or OAuth2 providers, which you configure and must test. Aspects analytics adds a ClickHouse store with its own retention and access settings, so include it in your data inventory.
Managed Open edX providers
A managed provider operates Open edX for you while the platform code remains open source. The key questions are where the provider hosts data, which of its staff can access learner records, and whether it can export complete course, grade and analytics data if you leave. Ask for its security attestations and the scope they cover, and confirm that your identity provider integration and certificate records stay portable. Contract terms define these answers more than the software does.
Learner records and grade exports
Course packages and course content do not carry grade history, completion records or certificate issuance logs in the same way that a live LMS database does. Whichever hosting model you choose, plan a separate export of learner records before any move between Canvas and Open edX. For credit-bearing courses, confirm that the registrar retains the official grade record. For open enrollment, confirm what certificate evidence learners need to keep.
Compliance evidence and auditor roles
DeployOpen prepares controls, configurations and evidence packs for your compliance assessment, including access reviews, backup records and change logs. It does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations, so agree the evidence list and the assessment scope with them before work starts. Each hosting model shifts which evidence comes from the vendor and which comes from your team.
What each platform asks of your operations team
A self-hosted Canvas LMS is a conventional Rails-style web application stack, and the Production Start guide in the project wiki describes it. The guide was written and tested on Ubuntu 22.04 LTS and recommends at least Ruby 3.4.1 as of the 2025-07-02 release. Your team is responsible for every layer the hosted service normally hides.
- Database and cache: PostgreSQL 14 or later, since the stable/2024-11-20 release, plus Redis 6.x or above for caching and OAuth2.
- Web and job tier: Apache with Passenger serves the application, and a background daemon runs automated jobs.
- Mail: an outgoing SMTP server must exist for notifications and account messages.
- Capacity: the guide recommends a server with at least 8GB of RAM as a starting point, with more for larger course loads.
- Support: the guide directs installation problems to the community mailing list or IRC channel rather than to Instructure support, so troubleshooting is community-only unless you contract a partner.
Confirm with your platform team which Ruby and PostgreSQL versions your release tag requires before building images, and agree in writing who patches the operating system and runs upgrades between Canvas releases.
Open edX is a Python and Django platform with JavaScript front ends, and it separates Studio for authoring from the LMS for learners. The maintainers recommend running it in production through a service provider or with Tutor, and they note that bare-metal installation is complex and receives limited community support. Your team should treat the stack as a set of managed services rather than a single application.
- Runtime: Python 3.12 and Node.js for the application and front-end build.
- Data stores: MySQL 8.0 for the relational data and MongoDB 7.x for course content and modulestore data.
- Cache: Memcached is used for caching, and multi-node deployments need a shared Django cache backend such as Redis or Memcached.
- Distribution: Tutor packages the stack as Docker images and supports Kubernetes deployments and plugins, which reduces hand-built configuration.
- Support: Edly maintains Tutor and offers professional support, and managed Open edX providers take on operations for a fee.
Ask any provider or partner to show, in writing, which parts of the MySQL, MongoDB, cache and upgrade work they run for you and which parts stay with your staff.
Upgrades are where operating effort recurs. Both platforms ship on a release cycle, and the cost of keeping pace depends on how often your team can test and deploy. Neither platform offers a long-term support window in the sense many enterprise buyers expect, so the plan needs to say which version you run and when you move.
- Canvas: the repository publishes dated release tags such as release/2026-05-20, and you choose which tag to deploy and when to move.
- Open edX: the latest named release is the only supported release, and the project states it cannot support more than one release at a time. Verawood is the current named release, published on 30 July 2026, with Willow and Xylon listed for December 2026 and June 2027.
- Testing: each upgrade needs a staging copy of the database, the course content and your LTI and SSO integrations.
- Scheduling: plan upgrades around term starts and program launches so a forced move never lands on learners.
Confirm with your vendor or partner how long each release stays supported and how they handle security fixes between named releases.
Backup and recovery design follows the stack. Canvas keeps most course state in PostgreSQL and Redis, while Open edX splits state across MySQL and MongoDB. Each store needs its own backup, restore test and retention rule, and the restore test is the part teams most often skip.
- Canvas data: back up PostgreSQL on a schedule, and capture the file store that holds uploaded course material.
- Open edX data: back up MySQL and MongoDB together so course structure and learner records stay consistent.
- Monitoring: watch background job queues, mail delivery and cache health, since failures in these layers look like slow pages to learners.
- Restore drills: run a timed restore into a separate environment at least before each term.
- Ownership: name who is on call for the platform, and who can approve a rollback during a live course.
Ask your team to document the recovery point and recovery time they can commit to, and confirm that the chosen partner tests restores rather than only taking backups.
What drives the cost of each option
Open edX and Canvas both carry AGPL code, so the license line is rarely the deciding cost. The real differences sit in who runs hosting, upgrades, media storage and support, and how much integration work your existing credit-bearing and open enrollment stack requires. Use the cards below to build a like-for-like comparison before asking any vendor or partner for a quote.
Licensing and code fees
The Open edX platform is licensed under AGPLv3 and carries no licensing fee, so the code itself costs nothing to obtain. Canvas LMS is also AGPLv3, so self-hosting Canvas removes the license line, but a hosted Canvas subscription is a recurring fee that Instructure sets. Confirm in writing whether any quote includes third-party modules, Instructure-branded components or paid add-ons, because those are separate from the code license.
Subscription or managed service fees
A hosted Canvas subscription or a managed Open edX provider bills for hosting, operation and support on a recurring basis. Ask each provider what is included in the base fee, how learner or enrollment volume changes the bill, and whether upgrades to new releases are part of the contract. For open enrollment programs, volume pricing can shift sharply, so model peak course launches as well as average months.
Hosting, database and caching
Self-hosted Canvas needs Ruby, PostgreSQL 14 or later, Redis 6.x or above, Apache with Passenger, a background job daemon and an SMTP server, with at least 8GB of RAM recommended. Open edX development requires MySQL 8.0, MongoDB 7.x and Memcached, and multi-node deployments need a shared Django cache such as Redis or Memcached. Both are recurring infrastructure costs that grow with concurrent learners, so size them from load tests rather than course counts.
Upgrades under the single release model
Open edX supports only the latest named release and cannot support more than one at a time, so your upgrade cadence must follow its named releases. Budget recurring engineering time to move your instance onto each new release and retest custom plugins and themes. Canvas upgrades depend on the stable release tags you choose. Ask any partner to state which releases they will support, how long test cycles take, and who signs off on regression results.
Media and file storage for course content
Video, interactive and downloadable course media usually costs more over time than the platform itself, and it recurs monthly as libraries grow. Price object storage, egress bandwidth and backup copies separately. Open edX video and asset handling in Studio should be checked against your expected library size and how many learners stream at once. Ask any quote to state storage per gigabyte, retention for old course versions and any charge for egress.
Plugin, identity and integration work
Credit-bearing courses usually need SIS sync, SSO, LTI tools, gradebook export and analytics. Open edX supports OAuth2, SAML 2.0, Shibboleth and LTI for third-party authentication, and Aspects analytics uses ClickHouse, Ralph or Vector and Superset. Each integration is a one-time build plus recurring maintenance when either side changes. Ask for a written list of integrations, the owner of each one and the test plan for every upgrade.
Support staff, partner and migration effort
Canvas's Production Start guide directs self-hosters with installation problems to the community mailing list or IRC channel rather than Instructure support, and the Open edX maintainers recommend a service provider or Tutor for production. Staffing and partner retainers are recurring costs, while content migration, course rebuilds and training are one-time. Ask for the fixed-scope deliverables, the support hours or response commitments in writing, and the exit terms for moving between options later.
What moving courses from Canvas to Open edX involves
The sequence turns Canvas courses into Open edX courses that learners can enroll in, with grades and learner records handled as a separate, verified workstream. Each step closes with a check that tells the team whether it can move on.
Inventory courses, enrollments and enrollment rules
The academic or program owner lists every Canvas course in scope, marks which are open enrollment and which are credit-bearing, and records how learners get in: self-enrollment, invitation, SIS feed or payment. Identify which courses depend on grade passback, credit transfer or accreditation rules, since those need an owner outside the course team. The inventory is done when every course has an owner, an enrollment method and a documented decision on whether it moves, is rebuilt or is retired. Ask your DeployOpen scope or the Open edX community to confirm how each enrollment type maps to the platform before you commit.
Export course content from Canvas
The course team exports each in-scope course from hosted Canvas as a Common Cartridge package, which holds modules, pages, files and many assignment and quiz structures. Keep the original Canvas course as the source of truth and store the exports in version-controlled, access-restricted storage. Confirm which content types survive the export, because quizzes, rubrics, discussion settings and embedded LTI content often need manual rebuilding. The step is complete when each course has an archived package and a written list of items that did not export cleanly.
Confirm the Open edX import path
The platform team checks how course content will enter Open edX, because Open edX does not import Canvas course packages directly. Options include rebuilding courses in Studio by hand, converting content with a script or a partner's tooling, or using components from the exported package as reference material. Ask DeployOpen or the Open edX community to confirm the path for your content types and document the decision. The step is complete when there is an agreed import method and a sample course has been moved end to end.
Rebuild assessments and certificates in Studio
Course authors recreate graded problems, quizzes, rubrics and certificate criteria in Open edX Studio, the authoring tool that builds course structure and content for the LMS. Reviewers compare each rebuilt assessment against the Canvas original for point values, attempt limits, release dates and answer keys. Certificate templates and completion rules are configured and tested with dummy learners before any real enrollment. The step is complete when a reviewer signs off on every assessment and a test learner earns the expected certificate.
Re-register LTI tools and identity providers
The platform team configures each LTI tool the courses depend on as an Open edX integration, then sets up the identity providers learners sign in with. Open edX supports OAuth2 providers, SAML 2.0, Shibboleth and LTI for third-party authentication, so confirm which of these matches your current sign-in and that each tool vendor supports the new connection. Check that roles and learner identifiers map correctly, since mismatched identifiers break grade and access records. The step is complete when test accounts can sign in, launch each tool and reach the expected course content.
Plan the separate export of grades and learner records
The registrar or program office exports grades, completion history, attempt records and enrollment data from Canvas through its reporting and data export options, since course packages do not carry them. Decide which records must be retained for the institution's own obligations, where they will be stored and who may access them. Map the exported fields to the destination so historical results stay traceable. The step is complete when a reconciliation report shows matching counts and sample records for each course and a retention owner has signed off.
Run a pilot cohort
A small group of learners and instructors uses the rebuilt courses on the Open edX deployment while the Canvas courses stay live. The pilot checks enrollment, navigation, assessment behavior, certificate issuance, tool launches and support requests, and the team logs each defect with an owner. Track results against the inventory from step one so that every course is either passed, fixed or formally deferred. The step is complete when the open defects are resolved or accepted in writing and the pilot sign-off is recorded.
Cut over and keep Canvas as a read-only archive
The team switches enrollment for each course to Open edX, announces the change to learners and sends a final reconciliation to the records owner. Canvas moves to read-only for the cut-over courses, keeping historical content available for audit and appeals. Support routes and runbooks are updated so that questions go to the people who now run the platform. The step is complete when enrollment is live on Open edX, the archive is confirmed read-only and the rollback plan has been tested or explicitly accepted.
Canvas vs Open edX questions buyers ask about cost and effort
Can a self-hosted Open edX be run without an outside partner?
Technically yes, but the maintainers recommend running Open edX in production through a service provider or with Tutor, and they describe bare-metal installation as complex with limited community support. Your team needs Python, Django, MySQL 8.0, MongoDB 7.x, Memcached or Redis, and Node.js skills, plus capacity to run Studio and the LMS. Ask whether your staff have run a Django-based platform in production before, and whether Tutor on Kubernetes fits your existing operations. Partner support is a choice driven by staff depth, not a requirement on every project.
What drives the cost of moving from Canvas to Open edX?
The license is free under AGPLv3, so cost sits in components. The main ones are hosting and databases, the people who build and run the platform, course rebuilding and content migration, identity and integrations, and ongoing upgrades. Costs rise with the number of courses, enrollment volume, custom authentication, analytics needs and the number of named releases you must track. Open edX supports only its latest named release, so plan for recurring upgrade work. Ask any quote to itemize one-time migration against recurring operations and support.
How long does a move from Canvas to Open edX take?
No duration is fixed by the platform, and the answer depends on the scope. Timing depends on how many courses are credit-bearing, how much content must be rebuilt in Studio, how many integrations must be re-established, and how many people approve each stage. Open edX Studio is a different authoring model from Canvas, so course design work is usually the longest part. Ask any firm for a written phase plan with dependencies, and confirm what your own team must provide in each phase.
Do Canvas course packages move cleanly into Open edX?
Expect partial movement, not a clean lift. Canvas can export Common Cartridge packages, but Open edX uses its own course structure in Studio, so modules, quizzes, assessments and embedded tools usually need manual rebuilding or conversion. Check which content types in your catalog are standard files such as PDFs and video, which are quiz banks, and which depend on Canvas-specific LTI tools. Run a sample course through the full path before you commit to a schedule.
How do we keep learner records and certificates during the move?
Learner records, grades and certificate history do not travel inside course packages, so export them separately from Canvas and plan how they will be stored and reissued. Open edX Aspects can capture tracking logs as xAPI statements in ClickHouse for analytics, but you must decide how historical records map to the new system. Confirm with your compliance and records owners how long records must be kept, who can access them, and whether previously issued certificates must remain verifiable. Ask any partner to document this mapping in writing.
Which identity and SSO options does Open edX support?
Open edX third-party authentication supports OAuth2 providers, SAML 2.0, Shibboleth and LTI, with older provisional support for CAS and SSL client certificates. Your identity setup usually determines a large share of integration effort, so list each login path and each user population before design starts. Confirm that your identity provider and any proprietary connectors are covered by these options, and test enrollment and role mapping with real accounts in a non-production environment.
Does Open edX fit credit-bearing courses or only open enrollment?
Open edX is strongest for open enrollment, large public programs and customer or partner academies, where its course model and certificates suit broad audiences. Credit-bearing courses also need registrar integration, grade passback, academic calendars and institutional policies, and Canvas often has stronger built-in fit there. Confirm with your academic governance team which integrations and accreditation evidence are required before choosing Open edX for credit programs.
How DeployOpen helps evaluate, implement or migrate
DeployOpen is a Chainscore Labs company that plans, implements, integrates, hardens, backs up and documents self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For Canvas vs Open edX, we start with the course types you need to run, then build and hand over only what the written scope covers.
How we scope
- We agree which course types apply: credit-bearing courses, open enrollment or both, before any platform decision.
- The written scope lists the identity providers, LTI tools, content imports and reporting needs that must work on day one.
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
- We document which Canvas or Open edX licensing, hosting and support costs are in scope and which sit with your team.
How we build
- We deploy the chosen platform in your infrastructure, using the install method your team can support over time.
- We configure authentication, course authoring access and certificate workflows against the agreed scope.
- We test course imports from Common Cartridge and Canvas exports, plus learner and instructor paths, before go-live.
- We harden the environment and set up backups, then record the configuration decisions in the handover documentation.
How we hand over
- You receive runbooks covering installation, upgrades, backups, restores and the content migration steps we performed.
- We walk your administrators and course designers through authoring, enrollment and reporting tasks in your environment.
- Migration evidence, including what moved, what was rebuilt and what still needs manual review, is delivered in writing.
- Open items, such as records that stay in the source system, are listed with owners and next steps.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- We can plan upgrades around the release cadence of the platform you choose, with each upgrade scoped in writing.
- Compliance readiness work, such as documenting controls and gathering evidence, is prepared for your independent auditor, who issues any report.
- Ask us to confirm which support tier, response expectations and upgrade responsibilities apply before signing.

