Skip to main contentChat with us

ISO 27001:2022 Annex A  ·  Technological Control

A.8.19
Installation of software on operational systems

To preserve the integrity of operational systems by ensuring that the software running on them got there through a controlled, approved, and reversible process.

Last reviewed: June 12, 2026  ·  Authored by TÜV SÜD & BSI Certified Lead Auditors

Control Definition

The organization must implement procedures and technical measures that securely manage software installation on operational systems — defining who may install software, requiring that only approved and tested code reaches live systems, keeping software vendor-supported, maintaining the ability to roll back, and restricting the ability of users to install software themselves.

Control Objective

To preserve the integrity of operational systems by ensuring that the software running on them got there through a controlled, approved, and reversible process.

What This Really Means

Think of an operational system the way a pilot thinks of a sterile cockpit: everything present is there for a reason, and nothing enters casually. Every piece of software installed on a production server, a domain controller, or a finance laptop changes that system's risk profile — it adds attack surface, patching obligations, license exposure, and failure modes. A.8.19 says that change must happen through one controlled doorway, not through whoever happens to hold an admin password and an installer.

In practice the control asks you to settle a few questions and then enforce the answers. Who may install software on operational systems? (Named administrators or an automated deployment pipeline — never end users with local admin rights.) What may be installed? (Only software from an approved catalog: tested, licensed, vendor-supported versions — nothing end-of-life, nothing downloaded on a whim.) How does it get there? (Through a change-controlled process with testing before production and a documented way back: previous versions retained, rollback steps written down.) And how do you know reality matches intent? (A software inventory reconciled against the approved list, with unexplained arrivals investigated.)

Two modern realities shape how you implement this. First, the strongest technical expression of the control is application allowlisting — the system simply refuses to execute code that is not approved — which is feasible today on servers and fixed-function endpoints even if it is harder on developer machines. Second, in cloud and DevOps environments "installation" mostly happens through pipelines and images: controlling which artifacts a pipeline may deploy, and building hosts from golden images (A.8.9), is the same control wearing modern clothes. The perennial enemy is shadow IT: users with local admin rights installing browser plugins, file converters, and free utilities that nobody vets, patches, or even knows about.

What auditors treat as the heart of A.8.19: pick any production system, list what is installed on it, and ask for the trail. If you can show the approval, the test evidence, the change record, and the rollback plan — and demonstrate that an ordinary user attempting an unauthorized install gets blocked — the control is working. If the inventory is full of software nobody can explain, it is not.

Why It Matters

Unauthorized and unmanaged software installation is one of the most reliable entry routes for malware, and one of the quietest. Ransomware operators do not need an exotic exploit when a user with local admin rights will run a trojanized installer for them; and a server accumulating undocumented software for five years is a server nobody can patch, harden, or confidently rebuild. Installation control is also the difference between an incident and an outage being recoverable: when a bad deployment has a retained previous version and a written rollback, it is a blip; when it does not, it is a long night.

When software installation is uncontrolled, organizations face:

  • A primary malware corridor – Trojanized installers, fake updates, and malicious "free tools" are a dominant ransomware entry path; allowlisting and removing local admin rights close it almost completely
  • An unpatchable estate – Software nobody recorded never appears in vulnerability management, so it sits unpatched for years — the exact gap attackers scan for
  • End-of-life exposure – Unsupported versions linger in production with no security fixes available, a finding that surfaces in nearly every mature audit
  • Outages without a way back – Untested installs destabilize production, and the absence of retained prior versions turns a rollback into a rebuild
  • License and supply-chain liability – Unlicensed installs create legal exposure, and unvetted packages or marketplace images import someone else's compromise into your estate

Regional Compliance Context

India BFSI organizations should treat this control as regulator-driven, not just ISO-driven: RBI's expectations for banks and regulated entities, and SEBI's CSCRF for market intermediaries, both push application allowlisting and maintained inventories of authorized software on critical systems. An ISO 27001 implementation of A.8.19 built around an approved-software register and allowlisting on critical servers satisfies both audiences with one set of evidence.

Separately, CERT-In's 6-hour incident reporting window applies to India-connected systems — and a trojanized or unauthorized installation that executes is exactly the kind of event that becomes reportable. Detection depends on knowing your baseline: an inventory reconciled regularly is what lets you notice the install at all.

Implementation Guidance

1

Define the Installation Policy and Authorized Installers

Write down who may install software on operational systems — typically named system administrators and the automated deployment pipeline, nothing else — and what is categorically prohibited (unlicensed software, end-of-life versions, tools from unverified sources). Remove local administrator rights from standard users as the enforcing measure; without that step, the policy is a suggestion.

2

Establish an Approved Software Catalog

Maintain a register of software approved for operational use: product, approved versions, business owner, license status, and vendor support status. Define the intake criteria for adding new software — license check, support lifecycle, and a proportionate security review. This catalog becomes the reference point for allowlisting, inventory reconciliation, and audit sampling.

3

Require Testing and Approval Before Production

Route every production installation through change management (A.8.32): tested in a non-production environment that resembles production, approved by the system owner, and recorded with a ticket. Define a pre-approved standard-change category for routine vendor patches so the process stays fast, and reserve full review for new software and major version changes.

4

Build from Golden Images and Baselines

Bake approved software into golden images and configuration baselines (A.8.9) so systems start life in a known-good state, and rebuild rather than hand-patch where you can. In cloud environments, prefer immutable infrastructure: new image out, old image retained. Run drift detection so software added outside the pipeline surfaces as an alert, not an archaeology project.

5

Deploy Application Allowlisting Where Feasible

On servers and fixed-function endpoints, enforce execution control — WDAC or AppLocker on Windows, fapolicyd or equivalent on Linux — so unapproved code simply does not run. Start in audit mode to learn the environment, use publisher- and path-based rules rather than brittle per-file hashes, and enforce first on crown-jewel systems where the software set is stable.

6

Reconcile the Software Inventory on a Schedule

Run automated discovery (your ITAM, endpoint management, or EDR tooling already collects this) and reconcile it against the approved catalog monthly. Investigate every unexplained item: approve it retrospectively with justification, or remove it. Feed the confirmed inventory into vulnerability management (A.8.8) — you can only patch what you know exists.

7

Retain Prior Versions and Test Rollback

Keep the previous software version, configuration, and data migration notes for every operational system change, and write the rollback steps into the change record before deployment, not during the incident. Archive superseded versions for as long as the data they created may need them. Periodically test a rollback on a critical application so the procedure is proven, not theoretical.

Audit Evidence

During your ISO 27001 certification audit, auditors will expect to see the following evidence to demonstrate compliance with A.8.19:

Documentation

  • Software installation policy or procedure naming authorized installers and the approval path to production
  • Approved software catalog with versions, owners, license status, and vendor support status
  • Change records for sampled production installations showing test evidence, approval, and rollback plan
  • Monthly software inventory reconciliation reports with investigation notes for unauthorized findings
  • Allowlisting policy configuration exports or screenshots, and records of a tested rollback

Interviews

  • System administrators on how software reaches production and what technically stops an unauthorized installation
  • Change or release manager on the approval workflow, testing gates, and the emergency-change path
  • Service desk staff on how user software requests are handled and what the local admin rights policy actually is

Observations

  • A standard user attempts to install unapproved software on an in-scope endpoint or server — the auditor watches it be blocked or flagged
  • Live software inventory for sampled production servers compared against the approved catalog on screen
  • Deployment pipeline walkthrough showing that only approved, tested artifacts can be promoted to production

Practitioner Insights

Saundhi Chauhan

The gap I keep finding in startups is not the servers — it is the definition of "operational system." Every laptop has local admin because that was easiest on day one, so the finance machine is running three unvetted PDF converters and a free VPN someone installed in 2023. The fix that actually sticks is pairing the removal of admin rights with a self-service portal of pre-approved software, because shadow IT is a friction problem: when the sanctioned request takes ten minutes, people stop sideloading. Strip rights without the portal and you just create a queue of angry exceptions.

Saundhi Chauhan · ISO 27001, 27701 Lead Auditor
Surendra Pal Singh

Certification auditors rarely start with your policy on this control — they start with a production server and ask you to explain what is installed on it. The failure pattern I see repeatedly is the unexplainable inventory: software present on the box, absent from the catalog, with no change record and no owner, plus an end-of-life version or two still running. A monthly reconciliation report with its investigation notes is the single strongest piece of evidence for A.8.19, because it proves the control operates between audits rather than the week before one.

Surendra Pal Singh · CISO, DPO, CISA, ISO 27001, 27701, 42001 Lead Auditor

Common Challenges & Solutions

Challenge

Users have held local admin rights for years, and removing them triggers organizational backlash.

Solution

Phase it rather than fight it everywhere at once: start with high-risk groups (finance, HR, anyone touching production), pair removal with a same-day self-service catalog for common software, and offer a just-in-time elevation tool for genuine edge cases. Report the before-and-after malware and ticket numbers to leadership — the data usually ends the argument.

Challenge

Developers deploy to production through CI/CD pipelines, so "installation control" feels like it does not map to anything.

Solution

It maps directly: the pipeline is your authorized installer, so control it like one. Protected branches and mandatory review decide what can merge, signed artifacts from a trusted registry decide what can deploy, and environment gates decide who can promote to production. Human installation on a production host then becomes the rare, ticketed exception that gets extra scrutiny.

Challenge

Application allowlisting keeps breaking legitimate software and the team wants to abandon it.

Solution

Most allowlisting failures are sequencing failures. Run audit mode for several weeks to inventory what actually executes, build rules on publishers and trusted paths instead of per-file hashes, and enforce first on servers — their software set barely changes. Keep developer workstations on a looser policy backed by EDR rather than forcing one rule set on everyone.

Challenge

The software inventory is perpetually out of date, so reconciliation against the catalog never quite happens.

Solution

Stop maintaining the inventory by hand — agent-based discovery through your endpoint management, EDR, or ITAM tooling gives you a live view for the platforms that matter. Fix the reconciliation as a monthly calendar event with a named owner and a simple output: list of unexplained items, decision on each. Imperfect-but-monthly beats comprehensive-but-never.

Challenge

Emergency hotfixes routinely bypass the approval process, and the exceptions are swallowing the rule.

Solution

Build the emergency path into the process instead of around it: a defined emergency-change route with verbal or chat approval from a designated approver, mandatory retrospective documentation within 48 hours, and post-implementation review (A.8.32). Then track the emergency-change rate — when "emergency" exceeds a small fraction of changes, that is a planning problem to raise with management, and auditors will read it the same way.

Frequently Asked Questions

What counts as an "operational system" under A.8.19?
Any system performing live business work: production servers and cloud workloads, databases, network and security appliances, and the endpoints staff use for daily operations. The contrast is with development and test environments, which carry their own expectations under A.8.31. A practical rule: if its compromise or outage would affect real business operations or real data, treat it as operational and control installations on it.
Does A.8.19 still apply if we are fully cloud-native and never "install" anything by hand?
Yes — the mechanism changes, not the obligation. Your installations happen through container images, marketplace AMIs, IaC modules, serverless deployments, and third-party apps connected via OAuth, so the control becomes: approved base images only, artifacts deployed solely through a gated pipeline from a trusted registry, provenance checks on third-party packages, and review of marketplace and OAuth integrations. Auditors increasingly expect exactly this translation rather than a policy written for on-premises servers.
Is application allowlisting mandatory for this control?
No — A.8.19 requires secure management of installation, and allowlisting is the strongest available measure rather than a literal mandate. That said, it is explicitly the direction of travel: feasible today on servers and fixed-function endpoints, and expected by several regulators for critical systems (RBI and SEBI frameworks in India push it directly). If you choose not to deploy it on critical systems, document the risk-based justification and the compensating controls, because auditors will ask.
Do routine patches and updates need the full approval process every time?
No — that would make the control unworkable and slow security patching, which is worse. Define a pre-approved standard-change category for routine vendor updates that follow a tested deployment ring (pilot group first, then broad rollout), and an emergency path for critical security patches with retrospective documentation. Reserve the full test-and-approve cycle for new software, major version upgrades, and anything touching crown-jewel systems.
How should a small company without a change advisory board handle this control?
Lightweight works fine if it is consistent. A one-page policy naming who may install, a short approved software list, endpoint management that removes local admin and offers a self-service catalog, and a pull-request-based pipeline for production deployments will satisfy the control for most startups. Auditors at small organizations look for evidence of consistent practice — a tidy trail of tickets and an inventory that matches the catalog — not for ceremony.
What is the difference between A.8.19 and A.8.9 configuration management?
A.8.9 defines and enforces the desired state of a system — its hardened baseline, settings, and approved build. A.8.19 controls the act of changing what software is installed on it: who may do so, with what approval, and how it is reversed. They interlock — golden images express the baseline, installation control protects it, drift detection polices the gap — but the evidence differs: baseline documents and drift reports for A.8.9 versus installation approvals, inventory reconciliations, and rollback records for A.8.19.

Written By Expert Auditors

Saundhi Chauhan
Saundhi Chauhan
Lead Auditor
ISO 27001 Lead AuditorISO 27701 Lead Auditor
Surendra Pal Singh
Surendra Pal Singh
Chief Information Security Officer & Data Protection Officer
CISODPOCISAMCSEITILISO 27001 Lead AuditorISO 27701 Lead AuditorISO 42001 Lead Auditor
Last reviewed: June 2026Content verified by certified lead auditors

Get in touch

Book a free consultation or send us your requirements. We respond within 24 hours.

Quick Call

Pick a time slot

Send Requirements

Get a custom quote in 24 hours

We're Online

⚠️ Business inquiries only. Personal email addresses will be rejected.

24hr Response
Free Consultation
No Obligations