Service · S/02 Delivery

HIPAA-Compliant CI/CD pipelines, built to ship and prove it.

We design and build CI/CD pipelines for healthcare engineering teams who need to ship fast and pass HIPAA audits without making the two compete. Parent/child pipeline architecture, continuous evidence collection, signed artifacts, and policy gates across GitLab CI/CD, GitHub Actions, and Argo CD.

Engagement Fixed-fee build
or audit + roadmap
Timeline 2 weeks (audit)
6 weeks (build)
Platforms GitLab CI/CD
GitHub Actions · Argo CD
Clouds AWS · GCP · Azure · OCI
incl. GovCloud variants
01 — The Problem

Generic CI/CD was designed for unregulated software.

Most CI/CD platforms optimize for speed and simplicity. That works fine until your auditor asks for cryptographic evidence that every artifact deployed to production was scanned, signed, approved, and traced — at which point your team is collecting evidence by hand for two weeks before each audit window.

We have seen the same scene play out across hospital systems, pharmacy benefit managers, biotech, and clinical SaaS startups: an engineering team that ships well, a security team that knows what HIPAA wants, and a pipeline in the middle that satisfies neither. Engineers complain that compliance slows them down. Security complains that engineers route around them. Both are right.

The fix is architectural, not procedural. A pipeline that emits compliance evidence as a property of how it operates — not as a side activity that happens before audits — keeps both sides honest without the friction.

02 — Control Mapping

What the HIPAA Security Rule actually demands of pipelines.

HIPAA's Security Rule (45 CFR § 164.308 through § 164.312) does not specify pipelines. It specifies safeguards. A correctly-built CI/CD pipeline is one of the most efficient places to satisfy the technical safeguards continuously, instead of producing them as quarterly evidence runs.

The controls the pipeline most directly touches:

  • §164.308(a)(5)(ii)(C) Log-in monitoring. Every deployment must be attributable to an identity with audited access.
  • §164.308(a)(8) Continuous evaluation of security measures. Pipeline scans run on every change, not on a schedule.
  • §164.312(b) Audit controls. The pipeline records who deployed what, when, and against which approval chain.
  • §164.312(c)(1) Integrity controls. Artifacts are signed, signatures are verified before deployment, and tampering is detectable.
  • §164.312(e)(1) Transmission security. Deployments to PHI-bearing environments use mutually-authenticated, encrypted channels.

None of these are exotic. All of them are routinely missed in pipelines built without the controls in mind from day one.

03 — The Architecture Pattern

Three principles, applied without exception.

Every HIPAA-compliant pipeline we build follows the same three principles. The implementation differs across GitLab, GitHub Actions, and Argo CD, but the architecture is identical.

Principle 1: Parent/Child Pipeline Separation

For any non-trivial application, a single monolithic pipeline becomes unmaintainable and unauditable. We use a parent pipeline that handles environment-level concerns (compliance gates, evidence aggregation, deployment authorization) and child pipelines that handle service-level concerns (build, test, container scan, deploy).

This separates the auditor's question — "show me that production deploys are gated" — from the developer's question — "why did my unit test fail?" The parent pipeline is the system of record for compliance. The child pipelines are the system of record for code.

In GitLab CI/CD this is implemented with parent-child pipeline triggers, downstream artifact propagation, and matrix builds for environment parity. In GitHub Actions, with reusable workflows and workflow_call. In Argo CD, with ApplicationSets and progressive delivery patterns. The pattern ports cleanly because the underlying logic is platform-independent.

Principle 2: Matrix Builds for Environment Parity

HIPAA workloads typically run across four environments: dev, staging, production, and a separate validation environment for production-like testing with synthetic PHI. A matrix pipeline runs the same compliance and security gates against every environment, so dev gets the same scrutiny as production.

This catches drift before it ships. When a security scan fails in dev but the production environment somehow allowed a vulnerable container, the matrix structure makes that discrepancy a build failure, not a quarterly surprise.

Principle 3: Continuous Evidence Emission

Every pipeline run produces signed, immutable evidence: SBOMs, vulnerability scan results, policy decision logs, deployment authorizations, and signature chains. These are stored in an evidence bucket with versioning, retention locks, and access controls that themselves are audit-logged.

When the auditor asks "show me the security review for last quarter's release", the answer is a query, not a project. When the auditor asks "show me that this container hasn't been tampered with", the answer is a signature chain that fails verification if anything changed.

04 — The Pipeline

Six stages, each emitting evidence.

The standard HIPAA-aligned pipeline runs every change through six stages, with policy gates between each. None of these are optional. None of them rely on a human remembering to do them.

Build
Test
Scan
Sign
Deploy
Verify
STAGE 01

Build

  • Reproducible builds with hash-locked dependencies
  • SBOM generation (Syft or equivalent)
  • Provenance attestation (SLSA Level 3)
STAGE 02

Test

  • Unit, integration, contract tests
  • Coverage thresholds enforced as policy
  • Test results signed and archived
STAGE 03

Scan

  • SAST (CodeQL, Semgrep, or commercial)
  • Container CVE scanning (Trivy, Grype)
  • IaC scanning (tfsec, Checkov)
  • Secret scanning (Gitleaks, TruffleHog)
  • Dependency scanning (OSV-Scanner)
STAGE 04

Sign

  • Container signing with Cosign or Sigstore
  • Signing keys held in KMS or HSM
  • Signature chains stored as evidence
STAGE 05

Deploy

  • Policy gate (OPA or Kyverno) verifies signatures, SBOM, scans, baseline
  • Deployment authorization logged with approver identity
  • Blue/green or canary patterns for PHI-bearing services
STAGE 06

Verify

  • Post-deployment compliance baseline scan
  • Drift detection against declared state
  • Synthetic transaction tests against PHI flows
05 — Environment Architecture

Pipelines deploy into isolation, not around it.

A pipeline is only as compliant as the environments it deploys to. We pair the pipeline with an isolated network architecture: each application gets its own subnet (or VPC) with explicit ingress and egress rules, private connectivity to backing services, and zero-trust between workloads.

On GCP this means private Cloud Run services or GKE Autopilot clusters with VPC-SC perimeters, Private Service Connect for database and onprem connectivity, and shared VPC architecture with isolated subnets per environment. On AWS it means Transit Gateway, RAM-shared network resources, and tightly-scoped security groups that operate on principles rather than IP allowlists.

We have shipped this pattern as a Terraform module library that automates subnet provisioning through IPAM (Infoblox or AWS IPAM), cutting environment provisioning time by roughly 85% versus manual processes. The pipeline assumes this architecture exists and refuses to deploy into anything else.

06 — Common Mistakes

Five patterns that fail audits and slow teams.

We see the same mistakes repeatedly when healthcare engineering teams build HIPAA-aligned pipelines without help. None of these are about not knowing what HIPAA requires. They are about not knowing how to structure the pipeline so it works.

  1. Treating compliance as a final gate

    Evidence is collected at the end of the pipeline, with no way to debug what failed. The auditor asks for evidence from a specific build six weeks ago and the answer is "we will have to dig." Build evidence collection at every stage so failures are diagnosable in real time and historical artifacts are queryable.

  2. A single thousand-line pipeline file

    A 1,500-line .gitlab-ci.yml cannot be reviewed, cannot be tested, and ships every time someone touches a YAML key. We use parent/child architecture and modular includes so each component can be reasoned about independently.

  3. Manual approval gates as the only control

    A human clicking "approve" satisfies nothing on its own. Approvals must be backed by signed artifacts, scan results, and policy decisions that are themselves auditable. The human is providing judgment, not validation.

  4. No environment isolation in the pipeline itself

    If your CI runner can reach production from a dev branch, that is a finding. Pipeline runners need their own network isolation, IAM scopes, and compliance posture. Regulated workloads need regulated runners.

  5. Evidence stored alongside code

    Auditors will ask "can engineers tamper with the evidence?" If audit logs live in the same Git repo as the code that produced them, the answer is yes. Evidence storage must be separate from CI infrastructure entirely, with retention locks and write-once semantics.

We wrote a longer field-notes piece on these mistakes with concrete examples from healthcare engagements: 5 things healthcare engineering teams get wrong about HIPAA CI/CD →

07 — Engagement

Two ways to engage. Fixed scope, fixed price.

Most clients start with the audit. It is faster, cheaper, and produces a written roadmap that often gets approved as a follow-on build engagement. Some clients with a known audit deadline come straight to the build.

08 — Recent Work

A representative engagement.

One of our HIPAA engagements involved auditing a healthcare platform's GCP infrastructure to identify compliance gaps before a third-party audit. The internal team knew there were issues but did not have visibility into VM-level inventory across hundreds of instances.

HEALTHCARE

HIPAA GCP infrastructure audit, ahead of a third-party assessment.

The platform was running production workloads on GCP with PHI in flight. The compliance team had a list of required version baselines for Tomcat, JavaScript runtimes, and operating systems. Manually inventorying every VM against the baseline would have taken weeks.

We wrote an Ansible and Python tool that connected to each VM through GCP Identity-Aware Proxy, scraped the running versions of Tomcat, JavaScript runtimes, and OS, and produced a compliance matrix mapping current state to the required baseline. The audit team had a complete inventory in days, not weeks, and a prioritized remediation list that survived first-party review by their auditor.

From there we extended the work into the pipeline itself, codifying the baseline as a policy gate so future deployments could not regress.

~85% Reduction in inventory time
vs manual process
0 Audit findings on the
follow-up assessment
Continuous Baseline enforcement
codified in the pipeline
09 — Questions

Frequently asked, directly answered.

Q/01Which CI/CD platforms do you build on?
GitLab CI/CD, GitHub Actions, and Argo CD are our primary platforms. We also work with Jenkins, CircleCI, and AWS CodePipeline when an existing tool chain dictates the choice. The pipeline architecture pattern (parent/child separation, continuous evidence, policy gates, signed artifacts) is platform-independent and ports cleanly between systems.
Q/02Do we have to migrate CI/CD platforms to work with you?
No. Most engagements modernize an existing pipeline rather than rebuild from scratch. If you are already on GitLab or GitHub Actions, we work within that platform. Migration is a separate conversation that we will recommend only if your current platform genuinely cannot meet HIPAA control requirements without significant workarounds.
Q/03How long until our pipeline is audit-ready?
A typical HIPAA CI/CD Pipeline Build is six weeks: one week of discovery, four weeks of build, one week of handoff and runbooks. The pipeline is producing audit evidence from the end of week two. If you have a fixed audit deadline, we plan backwards from that date and align the milestones accordingly.
Q/04What happens after the build is done?
You get the pipeline, the supporting infrastructure as Terraform, written runbooks, and on-call training for your engineering team. Most clients then move to a Managed Compliance Retainer for ongoing pipeline evolution, on-call for compliance incidents, and quarterly drift reviews. The retainer is optional; the pipeline you own outright.
Q/05Does this work in GovCloud or FedRAMP environments?
Yes. The pattern translates directly to AWS GovCloud, GCP Assured Workloads, and Azure Government. The differences are mostly around runner placement (CI runners must operate inside the boundary), KMS configuration, and evidence storage location. We have shipped FedRAMP-aligned pipelines on the same architecture pattern as commercial HIPAA work.
Q/06What about SOC 2 and HITRUST?
The same pipeline pattern satisfies most of the technical controls in SOC 2 Type II and HITRUST CSF. The control mappings differ — HITRUST is more prescriptive than HIPAA, SOC 2 is auditor-driven — but the underlying engineering is the same: continuous evidence, signed artifacts, policy gates, and isolated environments. We deliver a control mapping document with each engagement that maps pipeline outputs to the relevant frameworks.

Ship to production. Pass the audit.

Most discovery calls take 30 minutes. We come back with a written proposal within 48 hours. If we are not the right fit for the engagement, we will tell you in the first call and point you somewhere that is.

Book a 30-minute call