What this control covers
Establish and maintain a detailed inventory of all licensed software installed on enterprise assets. The software inventory must document the title, publisher, initial install/use date, and business purpose for each entry; where appropriate, include the Uniform Resource Locator (URL), app store(s), version(s), deployment mechanism, and decommission date. Review and update the software inventory bi-annually, or more frequently.
Why it matters
Risk is the language an executive team understands; this control connects technical reality to board-level decisions and budget allocation.
How to implement
AWS
Codify the policy intent as SCPs, AWS Config conformance packs, and Security Hub standards so the cloud enforces what the document says.
Azure
Codify in Azure Policy initiatives (built-in regulatory compliance for CIS, ISO 27001, SOC 2, HIPAA) and assign at management-group level.
GCP
Cloud Asset Inventory exports a daily snapshot of every resource and IAM policy to BigQuery; combine with Org Policy for tag enforcement.
GitHub
Dependabot security updates + version updates, plus CodeQL for SAST and a renovate bot for major-version drift management.
On-premises
Maintain a policy library with a documented review cadence (annual minimum); store in your GRC tool with attestation tracking. Map each policy to controls so an audit pull cites the exact policy clause.
Evidence to collect
policy_document— A signed, version-controlled policy stating leadership intent and the named owner.
Signed policy or standard documents the safeguard. Focus: Establish and Maintain a Software Inventory.
Quick checklist
- Establish And Maintain — Software Inventory / Uniform Resource Locator
- Document — Software Inventory / Uniform Resource Locator
Related articles on this site
- NIST 800-171 3.4.1 Establish and maintain baseline configurations and inventories of organizational systems (including hardware, software, firmware, and documentation) throughout the respective system development life cycles.
- CMMC 2.0 CM.2.061 Establish and maintain baseline configurations and inventories of organizational systems (including hardware, software, firmware, and documentation) throughout the respective system development life cycles.
- NIST 800-171 3.4.8 Apply deny-by-exception (blacklisting) policy to prevent the use of unauthorized software or deny-all, permit-by-exception (whitelisting) policy to allow the execution of authorized software.
- NIST 800-171 3.4.9 Control and monitor user-installed software.