Separation of Development, Test, and Operational Environments
To meet the separation of development, test, and operational environments requirement, you must technically and administratively isolate non-production from production, then document and enforce controlled promotion rules so only authorized, tested, and approved changes reach production. HITRUST expects clear environment boundaries, restricted access paths, and repeatable release procedures with evidence.
Key takeaways:
- Separate environments by network, identity, and data; “separate” must be enforceable, not just naming conventions.
- Define and document promotion rules (build, test, approval, deploy) and prove they are followed.
- Retain artifacts that show segregation (architecture/access) and controlled change transfer (tickets, approvals, CI/CD logs).
“Separation of Development, Test, and Operational Environments” is one of those controls that sounds simple until an assessor asks you to prove it for cloud-native stacks, shared services, and fast-moving CI/CD teams. The HITRUST requirement has two distinct operator obligations: (1) keep dev/test away from production to reduce the risk of unauthorized access or changes, and (2) define and document rules for moving software into production 1.
For a Compliance Officer, CCO, or GRC lead, the fastest way to operationalize this is to treat it as an environment governance problem with three pillars: technical isolation (network/accounts/projects), identity isolation (roles, MFA, break-glass), and change promotion discipline (versioned artifacts, approvals, and deployment controls). Your “done” state is not a policy on paper; it’s an auditable set of guardrails that engineers cannot casually bypass, plus a release trail that consistently shows who approved what, when it was tested, and how it was deployed.
Regulatory text
HITRUST CSF v11 09.d states: “Development, test, and operational environments shall be separated to reduce the risks of unauthorized access or changes to the operational environment. Rules for the transfer of software from development to operational status shall be defined and documented.” 1
Operator interpretation (what the assessor is looking for):
- Environment separation exists in design and in enforcement. You can show distinct non-prod vs prod boundaries (accounts/subscriptions/projects, networks, clusters, IAM boundaries, and tooling permissions) that materially reduce the chance that dev/test activity affects production.
- Promotion rules are defined, documented, and followed. You have a repeatable pathway for moving code/config into production that includes testing and authorization, and you can produce evidence from real releases.
Plain-English interpretation of the requirement
You must prevent developers, testers, and non-production systems from having the same access and blast radius as production. Then you must control how changes reach production so production is only changed through an authorized, tracked process.
This is fundamentally about two risks:
- Unauthorized production access (credential sprawl, shared admin roles, “temporary” access that never gets removed).
- Unauthorized or unreviewed production changes (hotfixes, direct database edits, “just this once” deployments).
Who it applies to
Entity scope: All organizations implementing HITRUST CSF controls 1.
Operational scope (where it shows up in practice):
- Applications that store, process, or transmit sensitive data, especially regulated workloads (health data environments commonly fall here).
- DevOps and platform teams managing CI/CD, infrastructure-as-code, containers/Kubernetes, and cloud resources.
- Managed services and third parties that can touch your production environment (outsourced development, MSPs, cloud admins). Treat them as privileged operators in the same control boundary.
What you actually need to do (step-by-step)
1) Define your environments and draw hard boundaries
Deliverable: An environment inventory that maps systems to Dev, Test/QA/UAT, and Production.
Operational steps:
- Decide what counts as “production” (customer-facing services, production databases, production secrets, production logging pipelines).
- Map your hosting model: separate cloud accounts/subscriptions/projects for prod vs non-prod where possible; if not, separate via resource groups/projects plus IAM boundaries that prevent cross-environment access.
- Document shared services explicitly (SSO, ticketing, logging). Shared services are allowed; uncontrolled shared compute and shared admin roles are where separation collapses.
2) Enforce separation through IAM (identity is usually the control point)
Deliverable: Role-based access model showing distinct privileges per environment.
Operational steps:
- Create distinct roles/groups for Prod Admin, Prod Deploy, Non-Prod Admin, Read-only Prod, and Break-glass.
- Require stronger controls for production access (MFA, approval workflows, session logging where feasible).
- Remove standing production access for developers where possible; prefer time-bound access with approvals for operational needs.
- Ensure service accounts used by CI/CD have environment-scoped permissions (non-prod pipelines cannot deploy to prod).
Common assessor test: “Show me a developer who can deploy to prod.” Your goal is to show that deployment requires a controlled role and an auditable approval path.
3) Separate networks and compute paths (make “accidental access” hard)
Deliverable: Network diagrams and security group/firewall rules demonstrating non-prod cannot reach prod admin endpoints and databases.
Operational steps:
- Use separate VPC/VNet segments (or equivalent) for prod vs non-prod.
- Block inbound administrative access to production from developer networks by default.
- Restrict production database access to production app subnets and authorized admin paths (bastions, privileged access workstations, or controlled VPN segments).
- Ensure Kubernetes clusters/namespaces follow the same model: ideally separate clusters; if shared, enforce strict namespace RBAC and network policies.
4) Control data movement: no production data in lower environments without governance
Deliverable: Data handling standard for non-prod, with approval and sanitization rules.
Operational steps:
- Prohibit copying production data into dev/test by default.
- If business requires it (debugging, performance testing), require formal approval and documented masking/de-identification steps.
- Ensure secrets are separate per environment (no shared API keys, no copying prod secrets into dev).
5) Define and document promotion (transfer) rules from development to production
Deliverable: A release management procedure that engineers actually follow.
Minimum rules to document (align them to your SDLC):
- Code changes must be version controlled.
- Builds produce immutable artifacts (build numbers, signed images, tagged releases).
- Testing gates exist (unit/integration/security checks appropriate to your stack).
- Change approval is required before production deployment (CAB or risk-based approval).
- Deployments occur through approved tooling (CI/CD) rather than manual SSH and ad hoc scripts.
- Emergency changes are allowed but require retrospective review and documentation.
This is the “rules for the transfer of software from development to operational status” portion of the requirement 1.
6) Prove it with sampling and monitoring
Deliverable: Ongoing evidence that separation and promotion rules are working.
Operational steps:
- Run a quarterly access review focused on production roles and third-party access.
- Sample recent releases: confirm ticket, approvals, test evidence, deployment logs, and post-deploy validation exist.
- Alert on risky events: direct production changes outside CI/CD, privilege escalations, new prod admin grants, and production secret access from non-prod contexts.
Required evidence and artifacts to retain
Keep artifacts in a form you can export for an assessment window. A practical evidence list:
Environment separation
- Environment inventory (systems mapped to dev/test/prod)
- Cloud/org structure evidence (account/subscription/project list or diagrams)
- Network diagrams and key firewall/security group rules
- IAM role and group listings showing environment-scoped access
- Access review records for production privileged roles
Promotion rules and execution
- Documented release/change management procedure (including emergency change path)
- CI/CD configuration showing gated deployments to production
- Sampled change tickets with approvals, testing results, and deployment records
- Artifact repository evidence (tagged builds/images, checksums, release notes)
- Logs that show who deployed what to production and when
Common exam/audit questions and hangups
- “Are dev, test, and prod physically separate?” They may accept logical separation if it’s enforceable (IAM/network controls) and you can show boundaries.
- “Who can access production, and how is it approved?” Expect to show a current list, approvals, and removal of stale access.
- “Can developers make direct changes to production?” If yes, you need a tightly controlled break-glass story and evidence of monitoring and retrospective review.
- “Do you copy production data into test?” If yes, be ready with approvals, masking evidence, and justification.
- “Show me the rules for transfer to production.” If it’s only tribal knowledge, you’ll struggle. A written procedure plus real change samples usually resolves this.
Frequent implementation mistakes and how to avoid them
- Same admin group across all environments. Fix: split roles; production admin is a separate group with tighter controls and review cadence.
- “Separation” by naming convention only. Fix: enforce network segmentation and IAM scoping so credentials and permissions cannot cross environments casually.
- Manual production deployments. Fix: require CI/CD for production, or document a controlled manual procedure with approvals and logging.
- Shared secrets across environments. Fix: separate secret stores/keys; block non-prod workloads from reading prod secrets.
- Uncontrolled third-party access. Fix: third parties get the same environment-specific access model, with contracts and access approvals tied to tickets and time bounds.
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for this requirement, so this page does not cite specific actions. Practically, weak environment separation shows up during incident response as faster lateral movement, higher chance of unauthorized production changes, and greater exposure from compromised developer endpoints. Assessors also treat it as a foundational control that supports change management, access control, and system integrity.
Practical execution plan (30/60/90-day)
Use this as an operator’s plan of record. Adjust sequencing to your stack and engineering capacity.
First 30 days (stabilize and define)
- Publish environment definitions and scope: what is dev/test/prod in your org.
- Inventory production admin access (humans + service accounts) and remove obvious excess.
- Document release promotion rules at a minimum viable level (what approvals/tests/logging are required).
- Identify top separation gaps: shared accounts, shared clusters, shared secrets, direct prod SSH.
Days 31–60 (enforce guardrails)
- Implement IAM separation: distinct roles, prod access approvals, break-glass procedure.
- Lock down network paths: restrict administrative access routes to production; block dev/test to prod where possible.
- Move CI/CD toward gated production deploys (or tighten existing pipelines): require approvals and artifact immutability.
- Establish evidence capture: decide where diagrams, role exports, and release samples are stored for audit.
Days 61–90 (prove repeatability and close edge cases)
- Run a formal production access review and retain sign-off.
- Perform a release sampling exercise internally and fix documentation gaps (missing approvals, missing test evidence, missing deployment logs).
- Address data movement: implement masking/approval workflow for any production-to-non-prod data use.
- Add monitoring and alerting for direct production changes and privilege escalations.
Where Daydream fits naturally: If you are coordinating separation across internal teams and multiple third parties (outsourced development, cloud administrators, MSPs), Daydream can centralize evidence requests and recurring access-review workflows so you can collect role exports, approvals, and deployment samples without re-chasing the same stakeholders every audit cycle.
Frequently Asked Questions
Do dev, test, and production need separate cloud accounts/subscriptions?
HITRUST requires separation, but it does not prescribe a specific architecture 1. Separate accounts are the cleanest proof; if you cannot do that, you need strong IAM and network controls that make cross-environment access demonstrably difficult.
Can developers have production access?
Sometimes you will allow limited production access for operational support, but it should be tightly controlled, approved, and auditable. Prefer time-bound access and restrict deploy permissions to a small, reviewed group.
We run a single Kubernetes cluster with multiple namespaces. Is that “separated”?
It can be, but it is harder to defend in an assessment. You need strict namespace RBAC, network policies, secret isolation, and clear evidence that non-prod workloads and identities cannot impact prod.
Are UAT and staging considered “test” or “production”?
Treat them as non-production unless they are customer-facing or process real operational data in a way that makes them production-equivalent. Document the classification and apply controls consistent with the risk.
What counts as “rules for transfer of software” in CI/CD terms?
Your documented rules should cover: source control, build artifact creation, testing gates, approval requirements, and controlled deployment methods into production 1. CI/CD logs, merge approvals, and deployment records are common evidence.
What’s the fastest evidence set to satisfy an assessor?
Provide an environment diagram, production access role/group exports with review sign-off, your written promotion procedure, and a small sample of recent production changes showing approvals, tests, and deployment logs. Make sure the samples tie back to the documented rules.
Footnotes
Frequently Asked Questions
Do dev, test, and production need separate cloud accounts/subscriptions?
HITRUST requires separation, but it does not prescribe a specific architecture (Source: HITRUST CSF v11 Control Reference). Separate accounts are the cleanest proof; if you cannot do that, you need strong IAM and network controls that make cross-environment access demonstrably difficult.
Can developers have production access?
Sometimes you will allow limited production access for operational support, but it should be tightly controlled, approved, and auditable. Prefer time-bound access and restrict deploy permissions to a small, reviewed group.
We run a single Kubernetes cluster with multiple namespaces. Is that “separated”?
It can be, but it is harder to defend in an assessment. You need strict namespace RBAC, network policies, secret isolation, and clear evidence that non-prod workloads and identities cannot impact prod.
Are UAT and staging considered “test” or “production”?
Treat them as non-production unless they are customer-facing or process real operational data in a way that makes them production-equivalent. Document the classification and apply controls consistent with the risk.
What counts as “rules for transfer of software” in CI/CD terms?
Your documented rules should cover: source control, build artifact creation, testing gates, approval requirements, and controlled deployment methods into production (Source: HITRUST CSF v11 Control Reference). CI/CD logs, merge approvals, and deployment records are common evidence.
What’s the fastest evidence set to satisfy an assessor?
Provide an environment diagram, production access role/group exports with review sign-off, your written promotion procedure, and a small sample of recent production changes showing approvals, tests, and deployment logs. Make sure the samples tie back to the documented rules.
Authoritative Sources
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream