OpenEMR vs OpenMRS

OpenEMR fits US clinics and practices that need a certified EHR with billing out of the box. OpenMRS fits programs that must build a medical record system around local workflows, often in resource-constrained settings.

On this page

OpenEMR vs OpenMRS: which one fits your clinic, hospital or ministry

For a US clinic that needs scheduling, billing and a practice EHR without building the application first, OpenEMR is the practical choice, and its ONC-certified history is the strongest reason to shortlist it. OpenMRS is a different kind of product: a patient-based medical record platform designed for resource-constrained environments, meant to be shaped into a record system for national programs. The decision turns on four questions: how much regulatory and billing scope you need on day one, whether your team works in PHP or Java, how your data model and FHIR needs will evolve, and whether you want a finished application or a platform to build on. OpenEMR is licensed under the GNU GPL v3.0 and OpenMRS under the MPL 2.0, so both can be self-hosted and modified, but the license alone does not settle the choice.

Each option is the better fit under specific conditions. OpenEMR suits a team that has PHP 8.3 or later and MySQL or MariaDB administration on hand, since recent releases run on that stack and offer Docker deployment. Its FHIR API implements FHIR R4 with US Core 8.0 and SMART on FHIR v2.2.0, and its Bulk Data export in NDJSON format helps with extraction for migrations and analytics. OpenMRS suits a team with Java, Maven and Tomcat or Jetty skills that is willing to build clinical workflows on the platform. Its FHIR2 module focuses on R4 with translation support for R3, and its SMART module uses Keycloak as the default authorization server. The O3 reference application runs as a Docker Compose stack with MariaDB, a backend and Nginx services, so confirm which OpenMRS version and frontend your program will maintain before you commit.

Before you shortlist either option, ask for evidence that matches your deployment. For OpenEMR, confirm which version carries the current ONC certification and its certification scope, because the project told users to upgrade to version 8 by March 1, 2026 to keep an active certification. Check that on the OpenEMR home page. ONC certification applies to the product version tested, and your own hosting and controls still need review. No HIPAA certification exists, so request your organization's risk analysis and control evidence from any vendor or implementer rather than relying on badges. For OpenMRS, confirm who will carry the build work, since the OpenMRS Inc. nonprofit provides the foundation while implementer organizations customize and deploy it. DeployOpen plans and implements either platform inside your own infrastructure, and the written scope should name the version, the FHIR resources you need and the identity provider you will use.

Which OpenEMR vs OpenMRS scenario matches your team

This table maps common OpenEMR vs OpenMRS scenarios to the platform that usually fits best, with the documented basis for each choice. Read each row as a starting point, since the answer shifts with hospital workflow scope, directory and SMART requirements and the certification status of the version you deploy. Where a row says confirm, verify that point with the vendor or in a test environment before you shortlist.

ScenarioBetter fitReason and what to confirm
US outpatient practice that needs billingOpenEMRBuilt-in scheduling and billing; ONC certified as a 2015 Edition Base EHR (7.0.0). Confirm current certification for your version.
Multi-site hospital with existing Java staffOpenMRS, if scope fitsJava core on Tomcat or Jetty, with MySQL, MariaDB or PostgreSQL support. Confirm hospital workflow coverage.
National program in a resource-constrained settingOpenMRSDesigned for resource-constrained environments, with a nonprofit foundation and implementer community. Confirm local hosting and connectivity needs.
Team building a SMART on FHIR app against US CoreOpenEMRFHIR R4, US Core 8.0, SMART v2.2.0, PKCE and Bulk Data export are documented. Confirm the resources your app needs.
Team building a SMART app on OpenMRS dataOpenMRS, with validationFHIR2 module offers R4 with R3 translation; the SMART module uses Keycloak by default. Confirm which SMART version your app needs.
Organization that needs directory loginEither, after module reviewOpenEMR added LDAP and Active Directory login in 6.0.0. OpenMRS OAuth2 Login supports Keycloak and Google. Confirm your identity provider.
Team that needs a HIPAA certificateNeitherHHS states there is no HIPAA certification. Assess your own safeguards and ask each vendor for supporting evidence.

How OpenEMR and OpenMRS are built and what that means for operations

OpenEMR and OpenMRS differ in language, runtime, database and how the user interface is delivered. Those differences decide who patches what, which skills your hosting team needs and how much of the stack you own after go-live.

OpenEMR's PHP application stack

OpenEMR runs as a PHP application on a MySQL- or MariaDB-compatible database, and the project offers Docker deployment options. Recent releases require PHP 8.3 or later, so your team must own PHP runtime upgrades alongside application upgrades. Confirm which PHP and database versions your target release supports before you pick a host image, and check whether your existing PHP tooling already meets that floor.

OpenMRS core on Java servlet containers

The OpenMRS core is Java built with Maven and runs on Tomcat or Jetty. Your hosting team needs Java application server operations, including JVM tuning, WAR deployment and module management, rather than PHP administration. Ask the implementer which container and JDK versions they have tested, and who owns module compatibility when the core is upgraded.

Database choice on each side

OpenEMR targets MySQL or MariaDB, while OpenMRS core supports MySQL, MariaDB and PostgreSQL. If your DBA standard is PostgreSQL, OpenMRS gives you a supported path that OpenEMR does not. If your team already runs MariaDB well, OpenEMR fits that standard with less change. Confirm backup, replication and high-availability tooling with your database team before choosing either application.

O3 Reference Application's four services

The O3 Reference Application Docker Compose setup runs a MariaDB database, the OpenMRS backend, an Nginx frontend serving the 3.x modules and an Nginx gateway, with an optional Certbot service for SSL certificates. Each service is a separate patch target, so your operations runbook must cover image updates for all four. Check how certificate renewal and secrets are handled before you run it outside a lab.

Platform 2.x versus 3.x frontend

OpenMRS 2.x is the platform, while O3 is a newer user-facing frontend built on micro-frontend modules. Choosing O3 means your team maintains both the Java backend and the JavaScript module set, and that legacy HTML forms may need migration. Ask which 2.x modules you depend on are available for the 3.x frontend before you commit to a version.

Patching cadence and in-house skills

OpenEMR's release notes show security fixes shipped in quick succession in 2026, including fixes to FHIR APIs, the patient portal and billing. Plan a standing patch window and confirm who can apply a PHP or application update within it. For OpenMRS, budget for Java and module maintenance instead. In both cases, ask your implementer whether patching is covered by a retainer or a one-time handover.

OpenEMR and OpenMRS feature comparison on supplied facts

This table compares OpenEMR and OpenMRS on license, scope, FHIR and authorization support, directory login, certification and recent releases. Read each row against your own setting: a practice or hospital in the US will weigh certification and directory login differently from a national program that needs offline-capable record keeping and a configurable data model.

CapabilityOpenEMROpenMRS
LicenseGNU GPL v3.0MPL 2.0, with the OpenMRS Healthcare Disclaimer; copyright held by OpenMRS Inc.
Primary scopeElectronic health records plus scheduling, billing and practice management for outpatient practicesPatient-based medical record platform designed for resource-constrained environments, built to be customized by implementers
FHIR version and profilesFHIR R4 (4.0.1), US Core 8.0 and FHIR Bulk Data v1.0 export in NDJSON at system, patient and group levelFHIR2 module focused on FHIR R4, with translation support for R3; confirm which resources and profiles your deployment exposes
SMART on FHIRSMART on FHIR v2.2.0 with OAuth 2.0 and OpenID Connect, PKCE for public apps and granular scopesVia the openmrs-module-smartonfhir module, supporting the SMART App Launch Framework with Keycloak as the default authorization server
Authorization modelOAuth 2.0 and OpenID Connect built into the FHIR APIOAuth2 Login module replaces basic authentication with an OAuth 2.0 provider, creates users on the fly and supports JWT service accounts
LDAP and Active Directory loginAdded in version 6.0.0; the directory validates passwords but the user must still exist in OpenEMRConfirm with the project and your implementer whether directory login is supplied by a module in your chosen distribution and version
Certification statusONC certified: OpenEMR 7.0.0 certified 7/19/22 as a 2015 Edition Base EHR; the project asks users to upgrade to version 8 to keep active certificationConfirm with the OpenMRS project whether any ONC or other health IT certification applies to your distribution; none is stated in the supplied sources
Latest releasesOpenEMR 8.4.1 released September 20, 2026, after 8.4.0 (September 13, 2026) and 8.3.0 (August 18, 2026)OpenMRS 3.x Reference Application 3.7.1 released July 13, 2026; OpenMRS Platform 2.8.1 released October 7, 2025

What the GPL-3.0 and MPL-2.0 licenses mean for each deployment

OpenEMR is free and open-source software under the GNU GPL v3.0, so the application carries no license fee. The cost of running it sits in hosting, configuration, support and the staff who operate it. The certification history also shows a funding model worth understanding: OpenEMR 7.0.0 was ONC certified as a 2015 Edition Base EHR on 7/19/22, after SLI testing concluded on 6/30/22, and the community raised $16,125 to pay for that testing and certification.

  • No license fee for the application: You can deploy OpenEMR without paying the project for the software itself. Budget hosting, implementation and support as separate line items.
  • Copyleft on distributed changes: GPL-3.0 requires that modified versions you distribute be released under the same license, with source code. Running changes only inside your own organization is a different situation from shipping them to a partner or vendor.
  • Certification tied to a version: The project's home page told users to upgrade to version 8 by March 1, 2026 to keep their system's active certification. Ask which version your deployment will run and how each upgrade affects your certification status.
  • Open implementation market: Because the code is GPL-3.0, many firms can support, extend or fork it, which lowers dependence on any single vendor.

Before committing, have counsel confirm whether your planned changes, hosting arrangement or sharing with affiliates and contractors triggers distribution duties.

What HIPAA, ONC and GDPR expect from the deployment, not the software

No software product makes a deployment HIPAA compliant, and HIPAA has no certification. The HIPAA Security Rule in 45 CFR Part 164 Subpart C applies to covered entities and their business associates for all electronic protected health information they create, receive, maintain or transmit. Whichever platform you choose, the clinic, hospital or ministry operating it carries the Security Rule obligations for its own environment. Before any ePHI moves to a hosting partner, integrator or vendor that will touch it, you need a business associate contract that meets 45 CFR 164.314(a)(2)(i). That contract must require the business associate to comply with the Security Rule, flow the same terms down to subcontractors handling ePHI, and report security incidents, including breaches of unsecured PHI. Ask every candidate for its draft BAA before you run a pilot with real patient data.

OpenEMR's ONC certification is a statement about a specific software build. The certified product is OpenEMR 7.0.0, tested by SLI, which concluded testing on 6/30/22, certified as a 2015 Edition Base EHR. It does not certify how your installation is configured, patched, backed up or accessed, and it does not make your organization compliant. Confirm which OpenEMR version your deployment runs and whether it is the certified product or a later release with its own status. For OpenMRS, do not assume ONC certification or any other certification status. Ask the OpenMRS project directly for any certification it holds, the scope of that certification, and the version it covers, and check the project's own published statements before you rely on them in procurement.

Access control is the deployer's job, and the CNIL decision is a useful reminder. On 3 September 2026, France's CNIL fined Hopital Prive de la Loire EUR 500,000 under GDPR Articles 32 and 34. The regulator found that external access to the patient record system lacked VPN and multi-factor authentication, and that access control ignored the care team's need to know. Whichever platform you run, plan the remote access path, MFA for administrators and clinicians, and role-based access aligned to care team roles. In OpenEMR, review the access and security settings described in the Securing OpenEMR guide, such as allowing only HTTPS and blocking direct web access to sites/*/documents. In OpenMRS, define who administers identity providers and roles in the deployment. Document these decisions before go-live, because they are what an assessor or regulator will ask to see.

What drives the running cost of each platform

Both platforms are free to download, so the running cost comes from the people, hosting and controls around them. The cards below separate one-time setup work from recurring effort, and each one names what to put in a written quote so the two options can be compared on the same basis.

Infrastructure and hosting

OpenEMR runs on PHP 8.3 or later with a MySQL- or MariaDB-compatible database, and OpenMRS runs on Tomcat or Jetty with MySQL, MariaDB or PostgreSQL. Both need servers, backups, TLS and monitoring that recur every month. The O3 reference stack adds a MariaDB database, a backend and two Nginx services, so count the containers you will patch. Ask the quote to price hosting for production, test and backup environments separately.

In-house skills and staffing

OpenEMR support depends on PHP and MySQL skills, while OpenMRS depends on Java, Maven and Tomcat or Jetty administration. Hiring or training is a one-time cost that recurs whenever staff turn over. Confirm who on your team can debug the stack you choose, and whether that skill set already exists in your organization. Ask the quote to state which tasks are covered by the implementer and which remain with your staff.

Security hardening and HIPAA controls

The Securing OpenEMR guide asks you to allow only HTTPS, consider opening only port 443, remove setup.php and other admin scripts after installation, and block direct web access to sites/*/documents. These steps are one-time at go-live, but reviewing them after each upgrade recurs. OpenMRS hardening follows its own configuration, so compare the effort of both. Ask the quote to list each hardening step, who verifies it, and how evidence is kept for HIPAA Security Rule reviews.

Upgrades and certification currency

OpenEMR 8.4.1 followed 8.4.0 and 8.3.0 in 2026, and the project told users to upgrade to version 8 by March 1, 2026 to keep their system's active certification. That move is a one-time project, while the recurring cost is tracking each security release. OpenMRS upgrades are driven by the 3.x reference application and the 2.x platform, which are separate tracks. Ask the quote to cover test upgrades, rollback plans and the release cadence it assumes.

Module and form customization

OpenEMR customization happens through its own forms and modules, and OpenMRS customization happens through modules, the SDK and, for O3, micro-frontend modules. Each custom form must be retested after every upgrade, so the recurring cost grows with the number of local changes. Palladium Kenya's migration tool for legacy OpenMRS HTML forms shows that form rework can be a major project. Ask the quote to list each custom item and its retest plan.

Paid external support

Neither project sells a paid edition of its core software, so external support is a service you buy separately. Fees depend on whether you need break-fix help, upgrades, integration work or training. This cost is recurring if you retain a provider and one-time if you only hire for a project. Ask the quote for response expectations in writing, the named skills on the team, and whether the provider is an OpenMRS implementer or an OpenEMR specialist.

Moving data and workflows between OpenEMR and OpenMRS

This sequence turns a move between OpenEMR and OpenMRS into a documented, validated cutover, so each data class, form, role and billing rule is either carried over, rebuilt or deliberately retired before the old system is switched off.

  1. Confirm scope and data model mapping

    Before any export, the clinical lead, the billing lead and the implementer agree which patients, encounters, medications, allergies, orders, results, immunizations and financial records are in scope, and which are archived instead. The team then maps each source concept to its target: OpenEMR's clinical and billing tables to OpenMRS concepts, encounter types, forms and obs, or the reverse. Done means a signed mapping sheet that lists each source field, its target, its code system and the person who approved it. Confirm terminology and code set choices with your implementer and your own clinical governance, since the two systems model data differently.

  2. Export source data through a supported route

    The implementer extracts data from the source system using a route the source supports. For OpenEMR, one supplied route is the FHIR Bulk Data v1.0 export at system, patient and group level in NDJSON format, which suits bulk extraction for migrations and analytics. OpenMRS data can be read through its FHIR2 REST API (focused on FHIR R4) or through direct database access, which requires separate review of schema and privacy controls. Done means a complete export with record counts reconciled against the source system, and an export log stored in a controlled location with access limited to the migration team.

  3. Transform and load into the target

    The implementer converts the exported resources into the target's native structures and loads them into a staging environment that mirrors the production configuration. Transformation rules follow the mapping sheet, and every rejected or unmapped record goes into an exception list with a named owner. Done means a staging load with an exception report, and a sample of records checked by a clinician against the source chart. Confirm whether your target version accepts the bulk import path you intend to use, because import support differs by product and version.

  4. Rebuild forms, workflows and identity

    Custom forms, templates, order sets, scheduling rules and reports do not move automatically between the two platforms, so each one is rebuilt or deliberately dropped. Identity is rebuilt as well: users, roles and permissions are recreated, and any directory or single sign-on link is configured and tested. On the OpenEMR side, LDAP and Active Directory login and Google Sign-In are available, and on the OpenMRS side, the OAuth2 Login module and the SMART-on-FHIR module (which uses Keycloak as its default authorization server) are options to confirm against your environment. Done means a role matrix signed by the security owner and a test login for each role.

  5. Validate clinical and billing data

    Clinicians check a defined sample of charts for allergies, medications, problems, results and encounter history, and the billing lead checks open claims, fee schedules, payer mappings, superbills and patient balances against the source. Billing configuration in particular must be rebuilt by hand because it is tied to the system's own fee logic, payer settings and clearinghouse setup. Done means a written validation report with discrepancies logged, owners assigned and fixed, and a sign-off from both clinical and financial leads. Confirm with your billing vendor or clearinghouse which claim formats and submission settings they will accept from the new system.

  6. Run parallel use and close gaps

    Staff work in both systems for a period agreed in advance, with new encounters entered in the target and any changes in the source reconciled daily or on an agreed schedule. The team tracks defects, workarounds and any data that only exists in one system. Done means a gap log with no open clinical-safety items and a documented decision for each remaining difference. The length of the parallel period is a decision for your own governance and should not be assumed from this page.

  7. Retire the old system with a documented record

    Once cutover criteria are met, the old system becomes read-only, its data is archived under your retention policy, and access is removed for accounts that no longer need it. Security hardening of the retired system continues until it is decommissioned, for example by restricting network access and keeping logs. Done means a decommission record listing where archived data is stored, who can access it, the retention period set by your records policy, and the date access was removed. Confirm your legal retention obligations with counsel before deleting anything.

Where OpenEMR and OpenMRS implementations usually run long

The longest part of either project is rarely the software install. With OpenEMR, most of the effort goes into configuring scheduling templates, fee schedules and claim handling for your payers, then hardening the deployment against the project's own security guidance, including allowing only HTTPS, removing setup.php and other admin scripts after installation, and blocking direct web access to sites/*/documents. With OpenMRS, the effort shifts toward designing the concept dictionary, building forms and deciding which modules to adopt before any clinician sees a screen. Those design choices are harder to reverse than a setting in a practice EHR, so a team should budget design review time up front rather than treating it as configuration.

Across both platforms, the places where projects typically run long are data migration, interface testing, identity integration and staff training. Migration depends on how clean the legacy records are and how they map to the target model. Interface testing covers any FHIR, laboratory or billing connection, and should be tested against the exact FHIR and SMART versions each product supports, not against a generic specification. Identity work is the one most often underestimated: OpenEMR supports LDAP and Active Directory login and Google Sign-In, while OpenMRS typically relies on its OAuth2 Login module or the SMART-on-FHIR module with Keycloak as the default authorization server. Confirm which identity path your environment needs before the scope is signed, because it changes the testing plan.

Because DeployOpen works on fixed-scope engagements, the written scope defines the work. A scope that lists the forms, modules, interfaces, migration sources and training audiences by name is far easier to price and deliver than one that says "configure the system." For OpenMRS form work, the Palladium Kenya tool that migrates legacy HTML forms to the O3 form schema, which the community adopted, is one reference point for estimating how much of an existing form library can be carried forward. Ask any implementer to show which forms convert automatically and which need manual rebuilding, and record that in the scope.

OpenEMR vs OpenMRS cost, effort and team questions

What drives the cost of implementing OpenEMR?

Implementation cost follows the written scope, and the main drivers are the number of sites and users, the practice's billing and clearinghouse set-up, the data you need to migrate from a legacy system, the interfaces you must connect (labs, imaging, patient portal, payers), and the hosting model you choose. OpenEMR itself is free under GPL-3.0, so you pay for the platform work around it: planning, configuration, migration, integration, hardening, backup set-up and documentation, plus any recurring support or upgrade retainer. Hosting in your own cloud account or data center is a separate recurring cost that you pay directly to your provider. Ask each bidder to price these items separately so you can compare them line by line. OpenEMR's release notes show that security fixes arrive in regular releases, so ask whether upgrades are included or billed as a retainer.

What drives the cost of implementing OpenMRS?

OpenMRS is also open source under MPL 2.0, so the license is not the cost. The larger items are usually the clinical and data model work, the concept dictionary and forms, the number of sites and the connectivity to laboratories, pharmacies and national reporting systems, and the training of staff who will use and maintain the system. OpenMRS is often deployed through implementer organizations that customize and deploy it, so the quote may bundle these services. The platform choice (the 2.x platform or the O3 reference application, which runs as a Docker Compose stack with MariaDB, an OpenMRS backend and Nginx services) changes the build and the skills needed. Ask the bidder which version they will deliver, how the forms will be built and who will maintain the modules after handover.

How long does an OpenEMR implementation take and what sets that?

No researched figure is available for implementation duration on either platform, so confirm timelines in a written scope rather than relying on general estimates. The main factors are the number of practices or sites, how much historical data must be migrated and cleaned, how many interfaces need building and testing, the billing set-up for each payer, and how quickly your staff can review configuration and sign off on testing. Fixed-scope engagements agree deliverables and timelines in writing before work starts, so ask for a milestone plan with a named acceptance test for each phase. Ask the bidder to state which parts of the timeline depend on your team, such as access approvals, policy decisions and test data.

What does an implementation need from our own staff?

Expect to supply a named project owner, clinical and front-office leads who can make workflow decisions, a billing or revenue cycle lead for OpenEMR, and an IT contact who can provision cloud accounts, DNS, certificates and identity integration. For OpenMRS, you will also need clinical informaticists or implementers who understand the concept dictionary and forms, and staff who can test data flows to external systems. Your security or compliance lead should review access control, backup, logging and the business associate arrangements that apply to your environment. Ask the bidder for a responsibility matrix that lists who approves each decision and who performs each task.

Can a small clinic run OpenEMR without outside help?

A small clinic with strong IT support can install and run OpenEMR on its own, because the software is free, runs on PHP 8.3 or later with a MySQL or MariaDB compatible database, and offers Docker deployment options. The harder parts are secure configuration, the HTTPS-only setup described in the Securing OpenEMR guide, removing setup scripts after installation, protecting the documents directory, billing and claims set-up, backups and patching on each release. Clinics without in-house administration usually find that outside help reduces risk in these areas, even if they run day-to-day operations themselves. A written scope lets you decide which tasks stay in-house and which go to an implementer.

Does OpenMRS suit a US practice or hospital?

OpenMRS is built for resource-constrained environments, and its community, implementer network and national program deployments reflect that focus. A US practice would need to check whether its billing, claims, certification and reporting needs are met, because OpenMRS does not present itself as a US practice management system in the material supplied. Its FHIR2 module offers FHIR R4 with translation support for R3, and SMART on FHIR support uses Keycloak by default, so identity integration is possible but must be designed and tested. Ask a bidder to walk through a US workflow for scheduling, claims and patient portal access before you commit, and confirm which US standards the team has delivered in practice.

What should we ask for in a quote for either platform?

Ask for a written scope with deliverables, milestones, acceptance criteria and a named project team, and insist that each cost component is priced separately. The quote should list one-time work (planning, configuration, migration, integration, hardening, documentation, training) and recurring items (hosting, support, upgrades, testing retainers) with the start and end of each. Ask what is excluded, such as third-party licenses, cloud provider charges, certification fees, and changes requested after sign-off. Request the assumptions behind the effort, the number of sites and users, the interfaces in scope, and the process for change requests. DeployOpen does not publish a price list, so a quote follows from the agreed scope.

How DeployOpen helps you choose, implement or migrate

DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure, so the choice between OpenEMR and OpenMRS can be tested against your environment before any build begins. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing first.

How we scope

  • We confirm whether your setting is a US practice, hospital, or a national program, since that decides which platform fits.
  • The written scope lists the FHIR, SMART, identity and billing requirements you need confirmed against each platform.
  • We document which certification, licensing and hosting questions must be answered by vendors or your own compliance team.

How we build

  • We deploy the chosen platform in your cloud account, data center or air-gapped network, following your hosting rules.
  • We configure identity integration, such as LDAP, Active Directory, OAuth or SMART-on-FHIR, against your directory and access policies.
  • We test FHIR endpoints, hardening settings and backups against the agreed acceptance criteria before go-live.

How we hand over

  • You receive the documented architecture, configuration records, runbooks and evidence produced during the engagement.
  • Handover includes the controls and evidence that your auditors or certification bodies will need to review, which DeployOpen prepares but does not issue.
  • We walk your operations and security staff through upgrades, backups and restore steps so the team can run the system.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • A retainer can cover platform upgrades, security patching and periodic testing of FHIR APIs and access controls.
  • Ask in your quote which upgrade windows, response paths and testing cadence the retainer includes.

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.