ISO/IEC 27001

⌘K
  1. Home
  2. Docs
  3. ISO/IEC 27001
  4. Other Doc
  5. Open-Source Software Register

Open-Source Software Register

1. Purpose

The Open-Source Software Register provides a centralized inventory of open-source software components used by the organization.

The register helps the organization:

  • Identify open-source components in use
  • Record exact versions
  • Identify applicable licenses
  • Track applications using each component
  • Identify direct and transitive dependencies
  • Record license-review status
  • Track security status
  • Record ownership and accountability
  • Track license obligations
  • Support SBOM management
  • Support vulnerability management
  • Support software license compliance
  • Provide audit evidence

Core Principle

Discover → Identify → Verify → Record → Review → Approve → Monitor → Update → Retire


2. When to Use

Maintain the register when the organization uses open-source software in:

  • Production applications
  • SaaS platforms
  • Websites
  • APIs
  • Mobile applications
  • Internal applications
  • Development environments
  • Testing environments
  • CI/CD pipelines
  • Infrastructure
  • Cloud environments
  • Containers
  • Operating systems
  • Security tools
  • AI/ML applications
  • Developer tools

The level of detail should be proportionate to the organization’s risk and software environment.


3. Register Information

FieldDetails
Register NameOpen-Source Software Register
Organization
Register Owner
Technical Owner
Security Owner
Legal/Compliance Owner
Version
Effective Date
Last Review Date
Next Review Date
Approved By

4. Master Open-Source Software Register

Maintain one record for each significant component.

OSS IDComponentVersionLicenseApplicationOwnerReview StatusRisk
OSS-001
OSS-002
OSS-003

Review Status

  • Pending Review
  • Under Review
  • Approved
  • Approved with Conditions
  • Restricted
  • Remediation Required
  • Not Approved
  • Retired

5. Component Identification

FieldDetails
OSS ID
Component Name
Package Name
Version
Package Ecosystem
Repository
Package Source
Maintainer
Organization/Project
Release Date
Direct/Transitive
Application

Examples of package ecosystems:

  • npm
  • PyPI
  • Maven
  • NuGet
  • RubyGems
  • Go Modules
  • Cargo
  • Composer
  • Linux packages
  • Container images

6. License Information

Record the license applicable to the exact version being used.

OSS IDLicense NameVersionSPDX IDLicense EvidenceVerification Date

License Verification

☐ License identified
☐ Exact version verified
☐ LICENSE/COPYING file reviewed
☐ Package metadata reviewed
☐ Repository verified
☐ License ambiguity assessed


7. License Category

OSS IDLicense CategoryLicense
Permissive
Weak Copyleft
Strong Copyleft
Network/Service Copyleft
Public Domain/Equivalent
Dual License
Custom/Other

The category is for management purposes only. Actual license terms should be reviewed where necessary.


8. Application Register

Identify where each component is used.

OSS IDApplicationRepositoryEnvironmentPurposeProduction?
Development
Testing
Production

9. Direct and Transitive Dependencies

Identify whether the component is directly included or introduced through another dependency.

OSS IDDependency TypeParent ComponentDependency PathApplication
Direct
Transitive

Dependency Type

☐ Direct
☐ Transitive
☐ Build dependency
☐ Development dependency
☐ Runtime dependency
☐ Test dependency


10. Software Version

Record the exact version used.

OSS IDCurrent VersionLatest Approved VersionVersion PinningUpgrade Status

Version Controls

☐ Version recorded
☐ Version controlled
☐ Lock file used where appropriate
☐ Upgrade process defined
☐ Unsupported version identified
☐ Security updates monitored

Avoid relying only on a package name without recording the version.


11. Source and Provenance

Record where the component was obtained.

OSS IDSourceRepositoryPackage RegistryVerified

Possible sources include:

  • Official project repository
  • Official package registry
  • Organization-approved mirror
  • Container registry
  • Operating-system repository

Provenance Checks

☐ Source verified
☐ Maintainer verified
☐ Package name verified
☐ Version verified
☐ Integrity considered
☐ Suspicious package indicators checked where appropriate


12. Business Purpose

Document why the component is used.

OSS IDComponentBusiness/Technical PurposeCriticality

Examples:

  • Web framework
  • Authentication
  • Database connectivity
  • Encryption
  • Logging
  • API processing
  • Data transformation
  • UI development
  • Testing
  • Monitoring

13. Criticality

Classify the importance of the component.

☐ Low
☐ Medium
☐ High
☐ Critical

Consider:

  • Production use
  • Customer impact
  • Business dependency
  • Security function
  • Data processing
  • Availability dependency
  • Difficulty of replacement
  • Number of applications affected

14. License Review

OSS IDLicense Review DateReviewerReview ResultEvidence

Review Result

☐ Approved
☐ Approved with Conditions
☐ Further Review Required
☐ Legal Review Required
☐ Remediation Required
☐ Not Approved


15. License Obligations

Record identified obligations.

OSS IDObligationApplicableRequired ActionStatus
Copyright Notice
Attribution
License Notice
NOTICE File
Source Availability
Modification Notice
Other

Do not assume that every open-source component has the same obligations.


16. Distribution Model

Record how the software is used or distributed.

OSS IDInternal UseSaaSBinary DistributionSource DistributionCustomer Product

Distribution Status

☐ Internal only
☐ Hosted service/SaaS
☐ Distributed to customers
☐ Distributed to suppliers
☐ Embedded in product
☐ Mobile distribution
☐ Container distribution


17. Modification Status

OSS IDModified?Modification DescriptionForked?Distributed?

Status

☐ No modification
☐ Configuration only
☐ Modified source
☐ Forked
☐ Patch applied
☐ Custom version


18. Security Status

Track the security condition of the component.

OSS IDVulnerability ScanKnown VulnerabilitiesSeveritySupported VersionSecurity Status

Security Status

☐ No known significant issue
☐ Vulnerability identified
☐ Patch available
☐ Remediation in progress
☐ Compensating control
☐ Unsupported
☐ Security review required


19. Vulnerability Reference

Where vulnerabilities are identified:

OSS IDVulnerability IDSeverityAffected VersionFixed VersionActionStatus

Examples of vulnerability identifiers may include vendor advisories or public vulnerability identifiers.


20. Maintenance Status

Assess whether the open-source project remains actively maintained.

OSS IDProject StatusLast ReleaseMaintainer ActivitySecurity SupportAssessment

Status

☐ Active
☐ Limited Activity
☐ Inactive
☐ Archived
☐ Unknown

An acceptable license does not automatically mean that a component is suitable from a security or operational perspective.


21. Software Bill of Materials

Where an SBOM exists:

ApplicationSBOM LocationVersionGenerated DateOwnerStatus

The SBOM may be the detailed source for component inventory while this register maintains the governance-level record.


22. Automated Discovery

Open-source components may be identified through:

☐ SCA tools
☐ SBOM generation
☐ Package managers
☐ Dependency files
☐ Container scanning
☐ Repository scanning
☐ Build pipelines
☐ Software inventory
☐ Developer declaration
☐ Security scanning

Discovery Tool

Tool: __________________________

Last Scan: ______________________

Owner: _________________________


23. License Scanning

Where automated license scanning is available:

Scan DateApplicationToolComponents FoundUnknown LicensesConflictsReviewer

Automated results should be reviewed where the license, intended use, or distribution model creates uncertainty.


24. License Compatibility

For applications containing multiple open-source components:

ApplicationComponentLicenseRelated ComponentCompatibility IssueResolution

Status

☐ No known issue
☐ Review required
☐ Potential conflict
☐ Legal review
☐ Remediation required


25. AI and Machine Learning Components

Where applicable, record open-source AI/ML components.

OSS IDModel/FrameworkVersionLicenseApplicationDataset/Model Rights ReviewedSecurity Review

Consider:

  • Open-source models
  • AI frameworks
  • Model weights
  • Tokenizers
  • Datasets
  • Evaluation tools
  • ML libraries
  • AI development packages

License review should consider the actual terms applicable to the model, weights, code, and associated datasets separately where necessary.


26. Container and Image Components

Where containers are used:

Image IDContainer ImageVersion/TagBase ImageLicenseApplicationRegistry

Review:

☐ Base image identified
☐ Components identified
☐ License information available
☐ Vulnerability scan performed
☐ Image source verified
☐ Version controlled


27. License Conflicts

Record identified or suspected conflicts.

Conflict IDApplicationComponentLicenseConflictRiskActionStatus

28. Legal Review

Legal/compliance review may be appropriate for:

☐ Custom licenses
☐ Unclear licenses
☐ Strong copyleft
☐ License conflicts
☐ Customer distribution
☐ Modified components
☐ Commercial distribution
☐ Source-code obligations
☐ Customer contractual concerns
☐ Significant business exposure

OSS IDLegal Review RequiredReviewerDateResult

29. Customer Impact

Identify components that could affect customer contracts or product commitments.

OSS IDCustomer/ProductContract ImpactSecurity ImpactLicense ImpactReview Status

30. Open-Source Risk Assessment

OSS IDRiskLikelihoodImpactRisk RatingTreatmentOwner

Potential risks include:

  • License conflict
  • Unknown license
  • Security vulnerability
  • Unsupported component
  • Supply-chain compromise
  • Dependency confusion
  • Malicious package
  • Customer contractual conflict
  • Source-code obligation
  • Inability to replace component
  • Abandoned project

31. Approval Record

OSS IDDecisionConditionsApproved ByDateNext Review

Decision

☐ Approved
☐ Approved with Conditions
☐ Further Review Required
☐ Remediation Required
☐ Not Approved
☐ Replace
☐ Retire


32. Exceptions

Exception IDOSS IDRequirementReasonRiskCompensating ControlApproverExpiry

Exceptions should be:

  • Documented
  • Risk assessed
  • Approved
  • Time limited where practical
  • Periodically reviewed

33. Remediation Tracker

Action IDOSS IDFindingActionOwnerDue DateStatus

Examples:

  • Upgrade component
  • Replace component
  • Remove dependency
  • Add license notice
  • Update documentation
  • Resolve license conflict
  • Apply security patch
  • Replace unsupported package

34. Change Monitoring

Reassess a component when:

☐ Version changes
☐ License changes
☐ Project ownership changes
☐ Component is forked
☐ Component is modified
☐ Application distribution changes
☐ Customer requirements change
☐ Security vulnerability identified
☐ Project becomes unsupported
☐ Major dependency changes
☐ AI/model usage changes

Change Principle

Change → Assess License → Assess Security → Update Register → Approve


35. Component Retirement

When an open-source component is no longer required:

☐ Removal approved
☐ Application references removed
☐ Dependency removed
☐ Build configuration updated
☐ Container image updated
☐ SBOM updated
☐ Vulnerability monitoring removed
☐ License record updated
☐ Evidence retained


36. Periodic Review

Review the register periodically and when significant changes occur.

Review:

☐ Component inventory
☐ Versions
☐ Licenses
☐ License obligations
☐ Applications
☐ Dependencies
☐ Vulnerabilities
☐ Project maintenance
☐ Distribution model
☐ Customer impact
☐ AI/ML components
☐ SBOM
☐ Exceptions
☐ Open findings


37. Register Summary

CategoryTotalApprovedReview RequiredVulnerableUnsupportedLicense Issue
Production Components
Development Components
Runtime Dependencies
Build Dependencies
Container Components
AI/ML Components
Other

38. License Summary

LicenseComponent CountProduction UseReview RequiredKnown Issues

This provides management with a high-level view without replacing the detailed component records.


39. Evidence Register

OSS IDEvidence TypeLocationDateReviewer
License file
Repository
SBOM
License scan
Security scan
Review checklist
Approval

Do not store passwords, API keys, private keys, tokens, or other credentials in the register.


40. AWS SaaS Startup Example

A SaaS startup operates its application on AWS and maintains an application repository.

The application contains several open-source components.

Example Register

OSS IDComponentVersionLicenseApplicationProductionRiskStatus
OSS-001Web Framework5.xSaaS APIYesMediumApproved
OSS-002JSON Library2.xSaaS APIYesLowApproved
OSS-003Logging Library4.xSaaS APIYesMediumApproved
OSS-004Testing Framework8.xTest SuiteNoLowApproved
OSS-005AI Framework3.xAI ServiceYesHighReview Required

Example Governance Flow

Developer adds dependency

→ SCA scan identifies component

→ Component added to SBOM

→ License identified

→ Open-Source License Review Checklist completed where required

→ Security vulnerability assessed

→ Customer/distribution impact assessed

→ Approval recorded

→ Open-Source Software Register updated

→ Dependency monitored


41. Startup-Friendly Model

A startup does not need to manually maintain every dependency if automated tooling can provide the detailed inventory.

Use three layers:

Layer 1 — Automated Discovery

Use:

  • SCA
  • SBOM
  • Package managers
  • Repository scanning
  • Container scanning

Layer 2 — Governance Register

Maintain:

  • Component
  • Version
  • License
  • Application
  • Owner
  • Risk
  • Review status
  • Approval
  • Evidence

Layer 3 — Detailed Review

Perform deeper review for:

  • Copyleft components
  • Custom licenses
  • Modified components
  • Customer-distributed software
  • Critical production components
  • Unknown licenses
  • License conflicts
  • High-risk AI/ML components

This avoids creating unnecessary manual work while retaining audit evidence.


42. Common Mistakes

Avoid:

  • Maintaining only the direct dependencies.
  • Ignoring transitive dependencies.
  • Recording a component without its version.
  • Assuming package name identifies the license.
  • Relying exclusively on automated license scanners.
  • Ignoring container dependencies.
  • Ignoring AI/ML models and datasets.
  • Ignoring security vulnerabilities.
  • Ignoring abandoned projects.
  • Failing to update the register after dependency upgrades.
  • Treating open-source software as automatically unrestricted.
  • Mixing license compliance with security approval.
  • Failing to retain evidence of important license decisions.

43. Relationship With Other ISMS Documents

DocumentRelationship
Open-Source License Review ChecklistPerforms detailed license assessment
Software License RegisterMaintains broader software licensing inventory
Intellectual Property RegisterRecords IP ownership
Open-Source Software PolicyDefines organizational requirements
Software License Compliance ProcedureDefines license-management process
SBOMProvides detailed component inventory
Vulnerability Management ProcedureTracks security vulnerabilities
Secure Development PolicyGoverns software development
Change Management ProcedureControls dependency changes
Supplier Security AssessmentAssesses external software providers
Customer Contract Security ReviewIdentifies customer-specific obligations
Risk RegisterTracks significant OSS risks

44. ISO/IEC 27001 Connection

The Open-Source Software Register can support the organization’s risk-based management of:

  • Software assets
  • Intellectual property
  • Secure development
  • Technology supply-chain risks
  • Vulnerability management
  • Change management
  • Supplier relationships
  • Legal and contractual requirements
  • Information-security risks

The Open-Source Software Register is not itself a universally mandatory ISO/IEC 27001 document.

The organization should determine the appropriate level of inventory and review based on:

  • Risk
  • Software development model
  • Product architecture
  • Customer commitments
  • Legal/licensing requirements
  • Security requirements
  • Technology supply-chain exposure

The relevant controls should be addressed through the organization’s risk assessment and applicable Statement of Applicability.


45. Audit Evidence

Examples of evidence include:

  • Open-Source Software Register
  • SBOM
  • Dependency manifests
  • Package-lock files
  • SCA reports
  • License scan reports
  • LICENSE files
  • Repository records
  • Version records
  • Vulnerability reports
  • Security scan results
  • Open-Source License Review Checklists
  • Approval records
  • Legal reviews
  • Exception records
  • Remediation records
  • Software change records
  • Retirement records

46. Final Audit Trail

For each significant open-source component, the organization should be able to demonstrate:

What component are we using?
Which exact version are we using?
Where did it come from?
Which application uses it?
Is it direct or transitive?
What license applies?
Has the license been reviewed?
What obligations apply?
Are we modifying or distributing it?
Are there security vulnerabilities?
Is the project maintained?
What customer or contractual impact exists?
Who approved its use?
What evidence supports the decision?
When will it be reviewed again?


47. Final Principle

Discover → Identify → Version → Verify License → Map to Application → Assess Security → Assess Obligations → Approve → Record → Monitor → Update → Retire

The Open-Source Software Register should be a living governance record, not simply a spreadsheet created for an audit.

The strongest approach is to connect SCA/SBOM discovery → license review → security assessment → risk decision → approval → ongoing monitoring so that the organization can demonstrate exactly what open-source software it uses and why its continued use is acceptable.