C5-Readiness

BSI C5

C5 domain DEV: making development and changes audit-ready

The DEV domain, in the catalogue “Procurement, Development and Modification of Information Systems”, uses 15 criteria to set out how a cloud service provider develops and changes its service securely. For a SaaS provider this mainly means: every change runs traceably through tests and approval, production and test environments are separated, and third-party software is known. This page shows how to set this up in a CI/CD pipeline so that an auditor can follow it.

Dark workstation with a monitor on which a pipeline of connected stages glows in golden light

Last updated: 2026-11-06

This page covers the DEV domain (Procurement, Development and Modification of Information Systems) of C5:2026, section 5.11 of the catalogue. How criteria and subcriteria are structured in general is explained on the page C5 criteria catalogue.

What is the DEV domain about?

DEV sets out how the provider develops, changes and deploys its service and the related system components securely. The domain comprises 15 criteria, DEV-01 to DEV-15, with 32 basic subcriteria and 10 complementing additional subcriteria; there are no sharpening additional subcriteria in DEV. According to the BSI change history, five criteria are new compared with C5:2020: DEV-05, DEV-11, DEV-13, DEV-14 and DEV-15. The operation of the service, such as patch and vulnerability management or backup, is covered by the OPS domain.

Starting point: a SaaS provider with its own pipeline

Fictitious example, not a client. A provider runs a document management system for local authorities as SaaS. Twelve people in two teams develop the service in a Git system; a CI/CD pipeline builds container images, tests them and rolls them out several times a week to a managed Kubernetes on a cloud platform. The team describes network, cluster and databases as code in the same Git system. An external agency develops the mobile app for case workers. The product contains several hundred open source libraries. Several local authorities require a C5 type 2 attestation for a tender.

The starting position is good: much of what DEV requires is already done by the pipeline. What is usually missing are the rules behind it and the evidence that they applied over the whole audit period.

Who is responsible for what: provider, platform, customer?

The DEV criteria apply to everything the provider develops and changes itself, including platforms, virtual infrastructure and other system components, not only to the application (supplementary information on DEV-01). In the example, the boundaries with platform and customer look like this:

AspectProviderPlatform (subservice organisation)Customer (local authority)
Policies, code, tests and approvalssets the rules, develops, tests and approves (DEV-01, DEV-03, DEV-06 to DEV-10)-tests or approves on its own side where the contract provides for it (complementary customer criteria for DEV-07 and DEV-10)
Pipeline, infrastructure code and own configuration on the platformis responsible for them as its own changes under DEVprovides tools and managed services-
Changes to the managed services themselvesmonitors the platform under SSO-05, see SSOchanges the managed services, for example updates of the Kubernetes control plane or the database engine-
Separation of environments and list of software componentsprotects and separates development, test and production and keeps the list per release (DEV-11 to DEV-13)provides separate accounts or projects-
Outsourced developmentsteers the agency and remains responsible for the result (DEV-02)--

The auditor tests the provider’s own controls; the platform’s controls come in through its report and your monitoring. The complementary customer criteria are general notes in the catalogue and are not exhaustive. Which customer controls your service assumes is for you to decide, and you describe them as complementary customer controls (also called complementary user entity controls, CUEC); how to do that is explained on the page Complementary customer criteria.

How does change management in a CI/CD pipeline become audit-ready?

By mapping every stage of the pipeline to a criterion and making it leave a trail. The catalogue does not require a centralised change management process with a change advisory board; agile methods are expressly permitted as long as they adhere to the defined procedures and technical safeguards (supplementary information on DEV-03). Two clarifications from the catalogue help with the scoping:

  • What a change is: anything that can change the configuration, functionality or security of system components in production, that is, infrastructure and source code, and expressly also network configuration and container images.
  • Releases count as one change: If you combine many commits into a release, the release is the change within the meaning of DEV-03, not each individual commit.
Stage in the pipelineCriteriaWhat should result from it (our recommendation)
Create the change, categorise the riskDEV-03, DEV-06merge request with a risk class according to your change policy; for high risk, documented mitigation measures before deployment
Version code and configurationDEV-08, DEV-09every change attributed to a person or a system account, rollback to a previous state possible, roles in the Git system according to IAM-01
TestDEV-05, DEV-07scope of testing according to risk class, security features tested against their specification, errors assessed according to defined criteria
ApproveDEV-10approval by authorised persons or system components before deployment, segregation of duties between author and approver
DeployDEV-08deployment only via the pipeline, log with a reference to the change
Exception, emergency changeDEV-15, DEV-03defined path for emergencies with subsequent review and documentation
Diagram “A change on its way into production”. Five stages from left to right: create the change and categorise the risk (DEV-03, DEV-06); version, every change attributed to a person or a system account (DEV-08, DEV-09); test, scope according to risk class (DEV-05, DEV-07); highlighted approve, by authorised persons or system components, author and approver separate (DEV-10); deploy only via the pipeline, with a log (DEV-08). A dashed path “Exception: emergency change” (DEV-15, DEV-03), a defined path for emergencies with subsequent review and documentation, leads to deployment. Below, two separate areas: development and test with their own risk assessment and safeguards (DEV-11), without production data unless the customers have explicitly approved it and without keys, certificates or other secrets of production; production, physically or logically separated (DEV-12), without unauthorised access to customer data from test and development, with our recommendation that only the pipeline account may write to production.
Tap the graphic to open it at full size.A change on its way into production, with the related DEV criteria. Source: BSI, Cloud Computing Compliance Criteria Catalogue C5:2026, version 1.0.1, section 5.11; own illustration.

You inform customers about the type and scope of changes and any resulting obligations to cooperate as the contract provides; under DEV-03 this belongs in the policy. For a type 2 report, significant changes to the system of internal control during the period are also included in the system description; how to word them is explained on the page Significant changes and events.

How do you separate development, test and production environments under DEV-12?

Physically or logically, so that test and development allow no unauthorised access to customer data, no spread of malware and no unintended changes to production (DEV-12.01B). Two rules from DEV-12 are easy to overlook:

  • No production data in test or development unless the customers have explicitly approved it. For tests with customer data, DEV-07.03B additionally requires the data to be anonymised beforehand.
  • No shared secrets: keys, certificates and other secrets of production are not reused in other environments. If this is unavoidable, document and justify the exception via the exception process (SP-03) and risk management (DEV-12.02B).

Our recommendation for the example: a separate account or project on the cloud platform for each environment, separate clusters for production and staging, separate secret stores and a pipeline account that is the only one allowed to write to production. This is easier to evidence than separation via namespaces in a shared cluster. Under DEV-11 the development and test environments themselves need a risk assessment and appropriate safeguards; the necessary parts belong in the backup plan.

Example control description for DEV-10

This is how the approval control could look in the example. The template is our own wording, not catalogue text; the field scheme is explained on the page System description.

FieldExample
Control IDK-DEV-10-01
Mapped toDEV-10.01B; also supports DEV-07.01B, DEV-07.02B and DEV-08.02B. DEV-10.02B (involvement of customers) is covered by a separate control.
ObjectiveNo change reaches production without passing the mandatory tests and without approval by a second authorised person.
OwnerHead of development (control owner); approvals by persons with the “Maintainer” role; configuration of branch protection by the platform team
Trigger and frequencyevery change to the main branch and every release (ongoing, automated); reconciliation monthly
ExecutionThe merge request contains the risk class according to the change policy. The pipeline runs unit, integration and security tests (static analysis, dependencies, container image). Branch protection requires approval by a person other than the author, for risk class “high” two approvals, one of them by the information security officer. Only the pipeline account may deploy.
CheckEach month the head of quality assurance uses a script to reconcile all production deployments from the deployment log with the approved merge requests and examines every deviation. Each quarter the platform team compares the exported branch protection configuration with the target state.
EscalationA deployment without approval or a changed protection rule goes to the information security officer as a ticket within one working day, is assessed under the exception process and appears in the monthly ISMS report to management.
EvidenceMerge request history, pipeline logs, deployment log, monthly reconciliation record, configuration exports

Whether the control covers all mapped subcriteria is for the auditor to assess. A criterion counts as not met if a single subcriterion is not met (section 3.4.12).

What evidence the auditor wants to see

Above all, records from the systems that are created anyway, and for the whole audit period. For a type 2 report it is not enough to demonstrate the pipeline on the day of the audit. Our overview for the example:

EvidenceCriterionSourceOwnerTiming
Secure development policy and change policyDEV-01, DEV-03ISMS document repository, approved versionhead of development, information security officervalid version with approval date, over the whole period
Merge requests with risk class, test result and approvalDEV-06, DEV-07, DEV-10export from the Git systemhead of developmentall changes in the period, as the population for samples
Production deployment logDEV-08pipeline and cluster audit logplatform teamcomplete for the period
Roles and branch protection in the Git systemDEV-08.01B, DEV-09configuration export with change historyplatform teamreference date plus all changes in the period
List of emergency changes with subsequent reviewDEV-15ticket systemhead of operationsall cases in the period
List of software components or SBOM per releaseDEV-13pipeline artefacthead of developmentper release
Separation concept and account structure of the environmentsDEV-11, DEV-12architecture documentation, export of the account structureplatform teamreference date plus changes
Participation in role-based trainingDEV-04learning platforminformation security officerper person at the intended interval
Contract, risk assessment and acceptance records for the agencyDEV-02procurement, ticket systemproduct managementcontract before the start, acceptance per delivery

How to keep such records in an evidence register is shown on the page Evidence and documentation. For an initial engagement, the catalogue allows evidence from a non-production environment configured like production for controls that have not yet operated in production (section 3.4.11).

Possible gaps: cause, effect, remedy

We derive the following gaps from the requirements of the catalogue. They are not auditor findings, but they show where a pipeline that works well day to day may not yet be enough for an audit.

Possible gapCauseEffectRemedy
Administrators can bypass branch protection or deploy directlyemergency rights from the early days, personal access to the clusterchanges without approval are possible, DEV-08 and DEV-10 cannot be evidenceddirect access only via an emergency role with logging, every use reviewed as an emergency change under DEV-15
Infrastructure and network changes run outside the processthe change policy only names application code; configuration is changed in the platform consolesome changes without testing and approval, although DEV-03 covers infrastructure, network and containerschange infrastructure only via code and the pipeline, restrict console rights to read access, detect deviations by reconciliation
Staging runs with a copy of the production databaserealistic test data is missingcustomer data outside production without approval, breach of DEV-12.01B and DEV-07.03Bgenerate synthetic or anonymised test data, exceptions only with the customers’ explicit approval
The same secrets in staging and productionshared configuration file, one certificate for all environmentsa compromise of the test environment endangers production, DEV-12.02B not metgenerate secrets per environment and store them separately, document unavoidable exceptions under SP-03
List of software components only for your own codebase images and embedded tools not coveredfor a known vulnerability it cannot be determined which services are affected, DEV-13 incompletegenerate an SBOM automatically per image and store it per release; the state of the art is set out in the BSI Technical Guideline TR-03183-2

Plan the remedy before a type 2 period starts: a control that is only introduced in the middle of the period provides no evidence for the weeks before. How to put gaps across several domains into a sensible order is shown on the page Prioritising measures.

All criteria of the DEV domain

Titles as in the English version 1.0.1, number of subcriteria counted per section 5 (B = basic, AS = sharpening, AC = complementing). The column “What it covers” is our own short description, not catalogue text; the wording of the criteria in the catalogue is binding.

IDTitle (catalogue)B/AS/ACWhat it covers
DEV-01Policies for the Development/Procurement of System Components3/0/1Rules for secure development over the whole life cycle, including the aim of keeping the provider’s access to customer data low.
DEV-02Outsourcing of the Development2/0/2What has to be agreed by contract with an external development service provider and assessed as a risk beforehand.
DEV-03Policies for Changes to System Components1/0/0The change policy: risk categorisation, tests, approvals, segregation of duties, customer information and emergencies.
DEV-04Safety Training and Awareness Programme Regarding Continuous Software Delivery and Associated Systems, Components or Tools2/0/0Role-based training for everyone who develops and deploys, including external personnel.
DEV-05Design Documentation for Security Features1/0/0Security features such as encryption or authentication are documented and specified on the basis of a security analysis.
DEV-06Risk Assessment, Categorisation and Prioritisation of Changes2/0/1Every change is categorised by risk, also in combination with concurrent changes.
DEV-07Testing Changes5/0/1Tests according to risk, full tests of the security features and strict rules for customer data in tests.
DEV-08Logging of Changes2/0/1Every change in production is recorded and can be attributed to a person or a system account.
DEV-09Version Control3/0/2A protected version control system for code, configurations and third-party products, with the ability to roll back.
DEV-10Approvals for Provision in the Production Environment2/0/1Authorised persons or system components approve changes before deployment; customers according to the contract.
DEV-11Protection of Development and Test Environments1/0/0The non-production environments also need a risk assessment and safeguards.
DEV-12Separation of Environments2/0/0Production separated from test and development, without production data and without shared secrets.
DEV-13Transparency about Software Components2/0/0An up-to-date list of software components, for example as an SBOM, so that affected services can be identified when vulnerabilities arise.
DEV-14Secure Use of Third Party Hardware and Software3/0/1Rules for third-party and open source software, a list of dependencies and retrieval only from trusted sources.
DEV-15Exceptions to the Change Management Process1/0/0A regulated path for exceptions and emergency changes that limits the risks.

Relationship to ISO/IEC 27001:2022 Annex A

If you hold an ISO 27001 certificate, you will find many DEV topics in Annex A of the standard. The following mapping is our own, unofficial classification by topic. The BSI has not yet published a cross-reference for C5:2026. The catalogue refers to the BSI website for it (section 3.3). So far the table there covers C5:2020 only, and the BSI says the table for C5:2026 is “scheduled for publication in the near future” (as of 6 November 2026). According to the catalogue, even an official table only shows thematic proximity, not fulfilment of the criteria (section 3.3). The short labels are ours, not titles from the standard. What a certificate brings for C5 overall is covered on the page C5 and ISO 27001.

C5:2026ISO/IEC 27001:2022 Annex ATopic (short label)What C5 additionally requires in concrete terms (our assessment)
DEV-01, DEV-05A.8.25, A.8.26, A.8.27, A.8.28secure development and architectureaim of keeping the provider’s access to customer data low; documented security features based on a security analysis
DEV-02A.8.30outsourced developmentcontract and prior risk assessment; not for external personnel in your own processes
DEV-03, DEV-06, DEV-10, DEV-15A.8.32changesrisk categorisation of every change, approval before deployment, regulated path for emergency changes
DEV-04A.6.3trainingrole-based training on continuous delivery, including for external personnel
DEV-07A.8.29, A.8.33tests and test datacustomer data in tests only with approval and anonymised
DEV-08, DEV-09A.8.4, A.8.9source code and configurationevery change in production attributed to a person or a system account
DEV-11, DEV-12A.8.31separated environmentsno production data without the customers’ approval, no shared production secrets
DEV-13, DEV-14A.5.21, A.8.8supply chain and vulnerabilitieslist of software components that lets you find affected services when vulnerabilities arise; Annex A does not expressly name such a list

Frequently asked questions

Do we need a change advisory board for C5?+
No. The catalogue does not require a centralised change management process and expressly permits agile methods, as long as they adhere to the defined procedures and technical safeguards (supplementary information on DEV-03). Approvals by a second person in the merge request and automated tests can meet the requirements if they are regulated and evidenced.
May an automated pipeline approve changes itself?+
DEV-10.01B refers to “authorised personnel or system components of the cloud service provider” that approve changes “based on defined criteria (e.g. test results and required approvals)”. Automatic approval is therefore conceivable if the criteria are defined and the system is authorised to do so. Segregation of duties under DEV-03 and your risk categorisation still have to be observed; for high risk we recommend a human approval.
May we use production data for tests?+
Only with the explicit approval of the customers concerned (DEV-12.01B); for tests with customer data, DEV-07.03B also requires prior anonymisation and protection of confidentiality during the whole process. Synthetic test data is easier to evidence. An exception applies to restore tests of backups (supplementary information on OPS-08.01B), see BCM.
Does the list of software components have to be an SBOM?+
No. DEV-13 can be met by a sufficiently detailed list; sufficient means that it lets you identify all services affected by a known vulnerability. An SBOM is one possible way, and the state of the art for it is set out in the BSI Technical Guideline TR-03183-2.
Does DEV-02 apply if we bring freelance developers into our team?+
As a rule, no. According to the supplementary information on DEV-02, the purchase of software available on the market and the integration of external personnel into your own processes do not constitute outsourcing within the meaning of the criterion. Outsourcing exists when a service organisation develops components for your service according to its own processes, like the agency in the example.

Read more

Sources

This content provides general technical and organisational information and does not constitute legal advice (no legal services within the meaning of the German RDG).