Safeguard
Compliance•

What evidence shows ISO 27001 8.19 software installation is controlled?

Control 8.19 covers installation of software on operational systems. Learn how signed images, deploy approvals and dependency allowlists can show control.

Safeguard Security Team
4 min read

For Annex A control 8.19, "Installation of software on operational systems", show that only approved software reaches production and that changes pass a defined path. Deployment approvals, image registry rules, dependency policies and a record of what is running are the artifacts that tell that story.

Reading the title for modern stacks

The title of 8.19 comes from an era of servers installed by hand, but it fits container and serverless teams too. Production is an operational system, and what lands there, including libraries pulled in at build time, is software installed on it. The control carries the same number in the 2022 edition as the title shown in lists of Annex A. Check the standard for the requirement text.

The question to answer is simple: how do you know what runs in production, and how does new software get there?

Evidence by question

QuestionArtifact
Who may deploy?Role list for the deploy tool and registry push rights
What may be deployed?Image or package source rules, approved base image list
How is a deploy approved?Pull request review, pipeline approval step, change record
What is running now?Export of running image digests and versions per service
How are unwanted installs blocked?Admission or policy rules that reject unapproved images

Of these, the running version export is the one teams forget. Without it you can describe the process but not show the result.

A tight deployment path in six steps

  1. Build only from the main branch of a protected repository.
  2. Produce images or packages in a controlled pipeline, never from a laptop.
  3. Store them in one registry with push rights limited to the pipeline identity.
  4. Deploy by digest, not by a mutable tag, so what is approved is exactly what runs.
  5. Record each deploy with who approved it, the commit, and the result.
  6. Export what is running on a schedule and diff it against the approved list.

Teams that cannot yet do all six can begin with steps 3 and 6, which yield evidence quickly.

Dependencies count too

Production software includes the packages your build pulled in. A dependency policy, such as a minimum package age or an allowlist for new packages, shows control over this path. A dated list of components per release, from an SBOM, shows what was installed.

Where you allow exceptions, log them. An exception with a reason and an end date is evidence of control. An unrecorded exception is a gap.

Try it yourself

Try the pull request gate demo and note where a change is held until a check passes. A gate like this is the approval step in your install path.

Click through it at your own pace, or open it full screen.

Where Safeguard fits

Safeguard supports policies, gates and guardrails on pull requests, plus compliance and evidence automation, so gate outcomes can be kept as records. You can try the free scan at gold.safeguard.sh/scan. Treat any export as input to your own review, not as a finding of compliance.

Quick check

Does 8.19 apply to cloud and serverless?

The title says operational systems, which includes cloud platforms. Apply the same question: how does software reach production and who approved it.

Is a mutable image tag a problem?

It makes evidence weaker, because the tag can point to different content over time. Digests identify exact content and are easier to show.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.