Drupal vs Strapi

Drupal is a full, GPL-licensed CMS that renders pages and gives editors their tooling. Strapi is an MIT-licensed Node.js headless CMS that serves content over APIs and leaves the front end to your team.

On this page

Drupal vs Strapi: when each one is the right choice

Choose Drupal when the site needs to render its own pages and your editors need the tools to do it: theming, layout, menus, permissions, moderation and multilingual content in one codebase. Drupal is GPL-2.0-or-later with no paid edition of Drupal itself, so the licence cost is zero, but your PHP developers will own the theme, the modules and the upgrade path. Choose Strapi when a separate front-end team already builds the website or app in React, Vue or a similar framework and needs content served over REST or GraphQL. Strapi's Community Edition is MIT-licensed and runs on Node.js, so the back end fits a JavaScript team, but the editorial experience is the admin panel, not a finished website. Neither choice is wrong on licence alone. The decision turns on four questions: whether a front-end team already exists, whether PHP or Node.js skills are in-house, how much theming and editorial tooling you need out of the box, and how often your team can absorb major upgrades.

Timing matters because both projects are in a version transition. Drupal 10 reaches end of life on December 9, 2026, with no new Drupal 10 releases after that date, and Drupal 12.0.0 is scheduled for the week of December 7, 2026, so a Drupal 10 site started now will need a move to Drupal 11 or 12 within a short window. Ask your team how long a major upgrade took last time and whether the modules you rely on have Drupal 12 releases planned. On the Strapi side, v4 reached end of life on April 30, 2026, and its final release will receive no further updates. Any Strapi project still on v4 needs a planned move to Strapi 5, which the Strapi v4 to v5 migration introduction and FAQ covers, including a database backup before you start because downgrading is not supported. Confirm the Node.js version your Strapi 5 release accepts before you pick a runtime, since Strapi 5 runs only on Active or Maintenance LTS versions.

A practical test is to map where editorial work happens. If editors need to preview pages, arrange blocks and publish without a developer, Drupal's theme and page-building layer is the part you pay for in build effort, and that work sits with your PHP team. If editors only manage structured entries that a separate front end displays, Strapi keeps the editing surface simple, but you must budget for the front end, its preview integration and its hosting. Check which governance features your plan includes before you commit, because audit logs and review workflows are Enterprise features in Strapi's self-hosted plans, while content history and releases start at Growth. Single sign-on for the Strapi admin panel is an add-on for Growth and included in Enterprise. Confirm these details against the current Strapi pricing page and your own identity requirements before you rely on them.

Which platform fits which team and site

Each row names the platform that fits a team or site scenario and the condition that makes it the better fit. Read the right-hand column as the deciding factor, since the same team can land on either side depending on front-end skills, editorial needs and identity requirements.

ScenarioBetter fitCondition that decides it
Content-heavy site where editors build page layouts and have no front-end engineersDrupalDrupal renders pages itself with its own theming and editorial tooling, so editors and site builders can work without a separate front-end team. Confirm which page builder and theme approach your team will use before committing.
Product team sending the same content to a mobile app and several web front endsStrapiStrapi only serves content over REST and GraphQL APIs, so each channel needs its own front-end build and hosting. This fits when front-end engineering capacity already exists for each channel.
Regulated organization requiring SAML or OIDC sign-in for editorsDrupalDrupal has contributed SAML (samlauth) and OpenID Connect modules for end-user authentication. Strapi SSO covers administrator login to the admin panel, and its SSO add-on is listed for the Growth plan, so confirm the editor login model against your identity requirements.
Team already running Node.js and React across its stackStrapiStrapi is Node.js and runs only on Active or Maintenance LTS Node.js versions, so your existing runtime skills and CI pipelines carry over. Drupal requires PHP, so that stack will need PHP skills for hosting and upgrades.
Organization that expects frequent Drupal major upgrades and has a PHP operations teamDrupalDrupal 12 is scheduled for the week of December 7, 2026, and Drupal 10 reaches end of life on December 9, 2026. A team that already runs PHP can plan the major upgrade on the core schedule, but it needs time to rebuild and test modules.
Editorial workflow that needs audit logs and review workflowsDrupalStrapi lists audit logs and review workflows as Enterprise plan features. Confirm whether Drupal's core and contributed workflow modules meet your approval and audit requirements, since these need configuration and testing in your environment.
Team that needs a headless API with a custom admin UI and no built-in themingStrapiStrapi's admin panel is a content editing tool, not a page layout system. This suits teams that will build all presentation in their own front end and do not need theming inside the CMS.
Site with a strict requirement that the database must be MongoDBDrupalStrapi 5 does not support MongoDB or other NoSQL databases. Drupal supports MariaDB, MySQL, PostgreSQL and SQLite in core, with Microsoft SQL Server and MongoDB available through contributed modules, so confirm the module's maturity before relying on it.

How Drupal and Strapi are built and what that means for operations

Drupal and Strapi both run on your own infrastructure, but they put different components on the request path and ask for different skills to patch and host. The cards below walk through the request path, runtime, database support, and upgrade cadence so you can match each platform to the team that will run it.

Request path and delivery

Drupal renders pages itself, combining its theme layer with content from its database, so a Drupal site serves HTML to visitors by default. Strapi is a content API: it returns JSON or GraphQL responses and has no theme layer of its own. If you need a rendered website, Strapi means building and hosting a separate front end, which adds a deployment pipeline, preview setup and caching decisions your team owns. Confirm who will build and host that front end before you choose.

Runtime and language skills

Drupal runs on PHP, and the Drupal.org PHP requirements set PHP 8.3 or later for Drupal 11 and PHP 8.5 or later for Drupal 12. Strapi runs on Node.js, and it only supports Active or Maintenance LTS Node.js versions, so your Node.js upgrade path is tied to Strapi's support. Check whether your team already operates PHP or Node.js in production, because the runtime you patch every month is the one your staff must understand.

Database support for Drupal 11

Drupal 11 supports MariaDB 10.6 or later, MySQL 8.0 or later, PostgreSQL 16 or later and SQLite 3.45 or later, with Microsoft SQL Server and MongoDB available through contributed modules. Those contributed options carry their own maintenance and support questions, so treat them as a separate evaluation. Confirm your chosen database version against the Drupal database requirements before you provision hosting.

Database support for Strapi 5

Strapi 5 supports PostgreSQL 14 or later, MySQL 8.0 or later, MariaDB 10.3 or later and SQLite 3, and it does not support MongoDB or other NoSQL databases. A team that has standardized on MongoDB cannot run Strapi 5 on it without changing database. Because the minimum PostgreSQL version differs from Drupal 11, a shared database server may need a version change before both platforms can use it.

Patching and upgrade cadence

Drupal core releases follow a published schedule: bugfix releases arrive on the first Wednesday of each month and security releases on the third Wednesday, with new major versions typically every three years. Strapi 5 minor releases have shipped roughly weekly, so patching is more frequent and needs a routine. Plan a test environment and a database backup before each Strapi upgrade, because the Strapi migration docs say downgrading is not supported.

Hosting footprint and operations

A Drupal site usually runs a web server, PHP-FPM, a database and a cache layer, and the Drupal database requirements define what you must provision. A Strapi deployment runs a Node.js process and a database, and a separate front end host if you serve pages. Count every component you operate, including the Node.js process manager, the front-end host and its build pipeline, since these are the parts that generate on-call work.

Side-by-side: capabilities that decide the shortlist

This table compares the capabilities that most often decide between Drupal and Strapi, from licensing and editorial tooling to databases and upgrade paths. Read each row against your own team's skills and plan needs, since several Strapi features depend on a paid plan and several Drupal features depend on contributed modules.

CapabilityDrupalStrapi
License and free termsGPL-2.0-or-later with no paid edition of Drupal itself. Contributed modules follow their own licenses.MIT Expat for code outside ee directories without a Strapi Cloud account. ee directories use the proprietary Enterprise license.
Theming and page buildingDrupal renders pages and owns the theme layer. Drupal CMS adds the Drupal Canvas visual page builder.Serves content over REST and GraphQL APIs only. Your team builds and owns the entire front end separately.
Editorial workflow and historyRevisions and moderation are configured per content type. Confirm the approval chain you need against core and contributed options.Content history and releases start at the Growth plan. Review workflows require the Enterprise plan.
Audit logs and review workflowsLogging is available, but detailed audit trails typically depend on a contributed module or an external log pipeline. Confirm coverage.Audit logs and review workflows are Enterprise plan features on self-hosted installations.
Administrator SSOConfirm the admin login path with your chosen contributed module, such as SAML Authentication or OpenID Connect.SSO is an add-on on Growth and included in Enterprise. It covers admin panel login only.
End-user authenticationCore accounts plus contributed SAML Authentication or OpenID Connect modules that create accounts on first sign-in.Handled by the Users and Permissions plugin, separate from the admin panel SSO setup.
Supported databasesMariaDB 10.6+, MySQL 8.0+, PostgreSQL 16+ and SQLite 3.45+. Microsoft SQL Server and MongoDB need contributed modules.MySQL 8.0+, MariaDB 10.3+, PostgreSQL 14+ and SQLite 3. No MongoDB or other NoSQL databases.
Runtime requirementsDrupal 11 requires PHP 8.3+ and Drupal 12 requires PHP 8.5+. Runs on Apache, Nginx and other web servers.Runs only on Active or Maintenance LTS Node.js versions. Confirm the current LTS line before you build.
Upgrade pathDrupal 10 reaches end of life on December 9, 2026. Drupal 12 is scheduled for the week of December 7, 2026, so plan a major upgrade.Strapi v4 reached end of life on April 30, 2026. Strapi 5 uses codemods and a data migration on first start, and downgrades are not supported.

How SSO and SAML work differently for editors and end users

The first thing to settle is which login paths your identity provider must cover, because Strapi and Drupal divide them differently. In Strapi, SSO applies only to administrator login to the admin panel through an identity provider such as Microsoft Azure Active Directory. It supports auto-registration, a default role for new administrators and an optional local login lock-out that disables email and password sign-in once SSO is working. End-user authentication for the public application is handled separately by the Users and Permissions plugin, so customers or members who sign in through your front end do not pass through that SSO setup at all. Confirm whether Strapi SSO is available on your plan (the self-hosted pricing page lists it as an add-on for Growth and included in Enterprise) before you design around it.

Drupal handles both groups in one site. The contributed *samlauth* module lets a Drupal site act as a SAML service provider, and its latest stable release, 8.x-3.14, supports Drupal 10.3 and later and Drupal 11. The contributed *OpenID Connect* module lets external OpenID Connect providers authenticate users and creates accounts on first sign-in, with built-in clients for generic OAuth 2.0, GitHub, Google, LinkedIn, Facebook and Okta. Editors and end users therefore share one authentication layer, and role mapping decides what each person can do. Check which modules your Drupal version and your identity provider both support, and whether first-sign-in account creation matches your provisioning rules.

Test each login path in your own environment before go-live. For Strapi, sign in as an administrator through the identity provider, confirm the default role assigned to new accounts, and verify that the local lock-out blocks password sign-in as intended. Separately, test an end-user sign-up and sign-in against the Users and Permissions configuration. For Drupal, test SAML and OpenID Connect logins with an editor account, an end user and a user who should be denied, and confirm that group or claim mapping lands each person in the correct role. Write down the result of each path, since auditors and your own security team will ask for that evidence.

What the license and paid editions cover for each platform

Drupal core and the contributed files hosted on Drupal.org that are derivative works of Drupal are licensed under the GNU General Public License, version 2 or later (GPL-2.0-or-later). There is no paid edition of Drupal itself, so using the software carries no license fee. Your spending goes to the people who build and maintain the site, the hosting it runs on and the upkeep of modules and releases.

  • No license fee: Nothing is paid to use Drupal core, so budget lines go to builders, hosting and maintenance instead.
  • Contributed modules: Modules and themes from Drupal.org that derive from Drupal follow the same GPL terms, but custom or third-party code needs its own license review.
  • Recurring release work: Bugfix and security releases arrive on a fixed monthly and quarterly rhythm, and major versions, including Drupal 12 scheduled for the week of December 7, 2026, require planned upgrade time every cycle.
  • Hosting stack: Apache or Nginx with MariaDB, MySQL, PostgreSQL or SQLite sets the infrastructure you pay for and operate.

Ask for build, hosting and release maintenance as separate lines in a written scope, and confirm the license of any commercial module before adopting it. The Drupal.org licensing page is the natural starting point for that review.

What drives the running cost of a Drupal or Strapi site

The running cost of either platform is mostly people and hosting, not licenses, because neither Drupal nor the Strapi Community Edition charges a license fee. Drupal is GPL-2.0-or-later with no paid edition of Drupal itself, and the Strapi Community Edition is MIT Expat licensed. Separate one-time costs (discovery, build, theming, content migration, integrations such as SAML or OpenID Connect sign-in) from recurring costs (web and database hosting, any separate front-end hosting, plan fees, module or plugin maintenance, patching and upgrades). For Drupal, the recurring skill cost is PHP and Drupal theming, plus Drupal's contributed module maintenance. For Strapi, it is Node.js operations plus a separate front-end framework team, because Strapi only serves content over its APIs and does not render pages.

Strapi's recurring fees depend on the features you need, not on the base software. Per Strapi's self-hosted pricing page, Growth is listed at 45 US dollars per month including 3 users, with 15 dollars per extra user, and Enterprise is custom priced. SSO for the admin panel is an add-on on Growth and included in Enterprise, while audit logs and review workflows require Enterprise. Ask the vendor to confirm current figures, the seat count you need for editors and administrators, and whether Strapi's admin-panel SSO covers your identity provider, since end-user authentication is handled separately. On the Drupal side, check the cost of contributed modules you rely on, including whether an SAML or OIDC module needs a paid integration partner to configure.

Upgrade timing is a recurring cost driver for Drupal. Drupal 10 reaches end of life on December 9, 2026, with no new Drupal 10 releases after that date, and Drupal 12 is scheduled for the week of December 7, 2026, according to the Drupal core release schedule. A site still on Drupal 10 will need planned work before its support ends, and Drupal 11 requires PHP 8.3 or later while Drupal 12 requires PHP 8.5 or later. Retainers are the common way to cover monitoring, security patching and upgrades. Ask any implementation partner for a written quote that separates one-time build and migration work from a recurring support tier, names the hosting components and who pays for them, lists the modules and Strapi plan features in scope, states the Drupal or Strapi version targets and response windows, and says what happens at the next major upgrade.

How to move between Drupal and Strapi without losing content

This sequence takes content from one side to the other in a controlled order, starting with an inventory of what exists and ending with a verified cutover. Each step produces a written artifact so the team can confirm nothing was dropped before the old system is switched off.

  1. Inventory content types, fields and relationships

    List every content type, field, taxonomy, media library, menu and relationship in the source system, and record how many items each type holds. In Drupal this means reviewing content types, fields and views in the admin interface or configuration exports. In Strapi it means reviewing collection types, single types, components and dynamic zones. The team lead and a content owner sign off on the list. The step is complete when the inventory covers every type that editors actively use and each one has a named owner.

  2. Decide what the new front end must rebuild

    Decide which parts of the current site will be rebuilt rather than moved. Drupal 6 and 7 themes cannot be migrated, so any theme from those versions must be rebuilt as templates or components in the new front end. Drupal themes built on Twig can be replaced by a React, Vue or Astro front end when the site goes headless, and Strapi projects need a separate front end application in every case, since Strapi serves content only through APIs. The architect records which pages, templates and integrations are rebuilt, and which are retired. The output is a signed list of rebuilt versus retained components.

  3. Map roles, permissions and identity sources

    Translate each Drupal role and permission into a Strapi role, or the reverse, and document which accounts are editors, reviewers and administrators. In Strapi, administrator login can be connected to an identity provider through SSO, while end-user access is handled by the Users and Permissions plugin, so the team should confirm which plan includes SSO for its edition. In Drupal, SAML and OpenID Connect modules are contributed options that the team should verify against its own identity provider. The output is a permission matrix reviewed by the security owner.

  4. Back up the source and the target

    Take a full backup of the source database and file storage before any export or import starts. For Strapi 4 to 5 moves, Strapi advises backing up the database first because downgrading is not supported, so a restore point is the only way back. Confirm that the backup restores into a separate environment and that media files are included. The platform engineer records the backup location, checksum and restore test result. The step is complete when a restore has been verified in a non-production environment.

  5. Export and transform content

    Export content from the source using its native tooling or an API, then transform fields, references, media paths and locales into the target model. Strapi 4 to 5 projects can use the official upgrade tool, which runs codemods over project code, and data migration scripts that run on first start of Strapi 5. Strapi 5 also changes the API response format and replaces the Entity Service API with the Document Service API, so the team must check custom code against those changes. For Drupal 6 or 7 sources, the core Migrate, Migrate Drupal and Migrate Drupal UI modules or Drush are the documented routes. The output is a transformed dataset with a row-count report per content type.

  6. Rebuild templates and components

    Build the templates, components and queries that render the migrated content in the target. On the Drupal side this means Twig templates, view modes and blocks, or a decoupled front end that consumes the JSON:API endpoints. On the Strapi side it means the front end application that calls Strapi's REST or GraphQL APIs and renders the response. Developers keep the content model and the rendering code in version control. The step closes when each rebuilt component renders migrated sample content without errors.

  7. Run parallel QA on migrated content

    Run the old and new sites side by side for a defined review period, comparing sample pages, search results, redirects, media links, forms and editorial workflows. Editors check that drafts, scheduled publishing and revisions behave as they did before. Where the target plan limits features such as audit logs, review workflows or content history, the team confirms whether it needs the higher plan before cutover. Sign-off is recorded per content type and per template, with defects logged and retested.

  8. Cut over and keep the source readable

    Freeze editing on the source, run a final incremental export, switch DNS or the routing layer to the new front end and confirm that redirects resolve. Keep the source database and files read-only for an agreed retention period so the team can compare records if an issue appears. Record the cutover time, the final row counts and the owner of the rollback decision. The step is complete when the new site serves production traffic, the final counts match the signed-off report, and the rollback procedure has been written down.

What implementing each platform involves and where projects run long

A Drupal build is mostly configuration and integration work that starts before any theme is written. The team models content types, fields, taxonomies and view modes first, then configures the editorial side: roles, workflows, text formats and the content moderation settings that decide who can publish. Module selection comes next, because every contributed module adds maintenance it will need through each upgrade, so the list should be short and reviewed against the Drupal version you plan to run. Identity setup is its own workstream. Contributed options such as the SAML Authentication module and the OpenID Connect module each need attribute mapping, role assignment on first sign-in and a test plan for logout and session expiry. The most common overrun is content model churn: editors request new fields after the theme is half built, and each change ripples into templates, views and migrated test content. Fix the model in writing before theming starts.

A Strapi build splits the work across two codebases. The back end covers content types, components, lifecycle logic and the API permissions that a Users and Permissions role grants to each public or authenticated route, which is where data exposure mistakes usually happen. A separate front end then has to be built, hosted and tested, with its own rendering, caching and build pipeline. Preview is the usual gap: editors expect to see draft content in context, and that requires a preview URL and token scheme agreed with the front-end team, not a feature assumed to exist. Deployment pipelines need to cover database migrations, environment-specific settings and Node.js version management, since Strapi 5 runs only on Active or Maintenance LTS Node.js versions and the chosen version has to be pinned and tested before each upgrade. Upgrade planning is the other frequent overrun. Teams still on v4 should confirm their timeline against the v4 end-of-life date, and any v4 to v5 move needs a database backup, because downgrading is not supported.

Before signing a fixed-scope agreement, ask the vendor to write down the content model, the list of contributed modules or Strapi plugins with their maintenance status, the identity provider and the test cases for login, role mapping and logout. For a Strapi build, confirm which features need the Enterprise plan, such as audit logs and review workflows, and whether SSO is in the quote as the Growth add-on or the Enterprise tier. Confirm who owns the front end, the preview integration, the Node.js and Drupal upgrade path, and the number of content model change requests included before work is billed separately. Ask whether the agreement covers hosting setup inside your own cloud account and a handover of runbooks, since those items are where projects typically run long.

Questions buyers ask before choosing Drupal or Strapi

How much does each platform cost to run?

Drupal has no license fee. Drupal core and its contributed modules are GPL-2.0-or-later, and there is no paid edition, so your spending goes to hosting, developers, testing and upgrades. Strapi Community Edition is free under the MIT Expat license, but the self-hosted Growth plan is listed at 45 US dollars per month including 3 users, with 15 dollars per extra user, and Enterprise is custom priced. On both platforms, most of the cost is recurring labor: keeping the stack patched, maintaining modules or packages, and building features. Cost rises with the number of admin and editor seats, the hosting footprint, and, on Strapi, the separate front-end app you host alongside it. Ask for a quote built from a written scope that lists hosting, build, integration and support as separate lines, and check the Strapi self-hosted pricing page for current plan terms before you budget.

How long does an implementation take on Drupal or Strapi?

The duration depends on scope, and no researched figure exists for a typical timeline, so confirm it against your own requirements. The main drivers are the content model, how many content types and workflows you need, the amount of custom theme work on Drupal or front-end work on Strapi, the number of integrations with identity, CRM or search systems, and any content migration from an existing site. Strapi projects also add a separate front-end build, while Drupal projects add theme and module configuration. Most DeployOpen engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ask any partner to tie the timeline to named milestones and to list which items depend on your team, such as content approvals, access to identity systems and test environments.

Can our team build the Drupal theme or Strapi front end ourselves?

Yes, if your team has the right skills for each platform. Drupal renders pages itself through its theme layer, so the people who build the site need Drupal theming experience and PHP knowledge for custom modules. Strapi only serves content over its REST and GraphQL APIs, so the public site is a separate application that your team builds in a framework such as React, Vue or Astro, then hosts on its own infrastructure. That split means Strapi needs front-end and API skills, plus Node.js operations, and the Strapi installation documentation says it runs only on Active or Maintenance LTS Node.js versions. Check which skills you already have, decide who owns each layer after launch, and ask a partner to document the handover so the in-house team can maintain what was built.

Do we need a paid Strapi plan for SSO and audit logs?

Probably yes, if you need either feature on a self-hosted install. In Strapi's self-hosted plans, SSO is an add-on for Growth and is included in Enterprise, while audit logs and review workflows are Enterprise features. Content history and releases start at the Growth plan. Strapi SSO covers administrator login to the admin panel through an identity provider such as Microsoft Azure Active Directory, including auto-registration, a default role and an optional local login lock-out. End-user authentication for the site is a separate matter handled by the Users and Permissions plugin, so an admin SSO plan does not solve customer or member login. Read the Strapi SSO documentation and confirm current plan terms with Strapi before you commit.

How much work is the Drupal 12 upgrade?

The effort depends on your current version, your custom code and your contributed modules. The Drupal core release schedule lists Drupal 12.0.0 for the week of December 7, 2026, and Drupal 10 reaches end of life on December 9, 2026, so Drupal 10 sites will need a planned move before then. Drupal 12 requires PHP 8.5 or later, while Drupal 11 requires PHP 8.3 or later, so the PHP runtime is often the first change. The larger effort usually sits in checking every contributed module for Drupal 12 support, reworking custom code that uses deprecated APIs, and retesting integrations. Confirm module compatibility and your database versions against the Drupal core release schedule early, and ask any partner to estimate the upgrade from an inventory of your modules and custom code.

What should engineers check before running Strapi 5 in production?

Start with the database and runtime. Strapi 5 supports PostgreSQL 14 or later, MySQL 8.0 or later, MariaDB 10.3 or later and SQLite 3, and it does not support MongoDB or other NoSQL databases. It also runs only on Active or Maintenance LTS Node.js versions. If you are still on Strapi v4, note that v4 reached end of life on April 30, 2026, and its final release, 4.26.2, will receive no further updates. The Strapi v4 to v5 migration guide describes codemods, data migration scripts that run on first start of Strapi 5 and a breaking changes list. It also says to back up the database first because downgrading is not supported. Code that relies on the Entity Service API must move to the Document Service API, and the v4 response format header can help during migration. Test each step in a staging copy.

When should we bring in an implementation partner?

Bring in a partner when the work crosses several teams or systems, when your staff lack capacity in PHP, Node.js or front-end engineering, or when the project needs hardening, backups and compliance evidence before launch. DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. Most engagements are fixed-scope, and ongoing support, upgrades and continuous testing are available as retainers. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications. Ask for a written scope that names what your team still owns after handover, and do not expect a partner to replace internal ownership of content, access decisions or business rules.

How DeployOpen helps teams choose, implement or migrate

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For Drupal vs Strapi, we start by agreeing on the decision that matters most, which is who builds and owns the front end, before any installation work begins.

How we scope

  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
  • The written scope names which content types, front-end stack and identity setup are in or out for your Drupal or Strapi build.
  • We confirm your PHP or Node.js hosting constraints and database choice against each platform's current requirements before estimating work.

How we build

  • We install and configure the chosen platform in your infrastructure, with the database and web server your standards require.
  • For Strapi, we check that admin SSO, end-user authentication and any paid-plan features in scope are confirmed against current plan terms.
  • For Drupal, we test contributed modules, such as SAML or OpenID Connect integrations, against your target core version before go-live.

How we hand over

  • You receive the architecture record, configuration documentation and the runbook for updates, backups and content model changes.
  • Test results, access model and the upgrade path to Drupal 12 or the next Strapi major are documented for your own team.
  • Knowledge transfer sessions cover how editors, developers and administrators work day to day on the handed-over platform.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Retainers can cover scheduled core or module updates, security testing of the API and admin surfaces, and backup verification.
  • Ask for the retainer scope, response expectations and upgrade responsibilities in writing alongside the initial quote.

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.