Markdown Editor

Dependency Management Policy Template (SSDF, Scorecard)

Dependency policy: tiers, intake scoring, approved sources, lock files and SHA pinning, cooldown, update targets, malicious packages, licences, forks, metrics

सॉफ़्टवेयर और इंजीनियरिंगपूर्णNIST SP 800-218 SSDF 1.1 PW.4; OpenSSF Scorecard v5; OSPS Baseline v2026.08.28dependencymanagementpolicy
एडिटर में खोलें.md डाउनलोड करें

उपयोग कैसे करें: Use it when you need rules for how teams add, pin, update and remove open source and commercial dependencies, including CI actions and base images. Fill the tiers and approved sources first, then the cooldown and currency targets with AppSec. The main pitfall is covering application libraries but not build tools and CI actions.

प्रीव्यू

Dependency Management Policy: [Organisation or product line]

Policy for adding, sourcing, pinning, updating, monitoring and removing third-party dependencies: open source and commercial libraries, container base images, build plug-ins and CI actions. It sets intake criteria, approved sources, lock and integrity rules, update cadence with a release-age cooldown, vulnerability and malicious-package response, licence gates, vendoring and removal. It is based on NIST SP 800-218 SSDF version 1.1 practice PW.4 (reuse existing, well-secured software) and uses OpenSSF Scorecard v5 checks and the OpenSSF Open Source Project Security Baseline (OSPS Baseline, release v2026.08.28) as evaluation signals, with the CISA Known Exploited Vulnerabilities (KEV) catalog as an exploitation signal. Replace every [bracketed] value and every row marked Example.

Document control

FieldValue
Document ID[POL-DEP-001]
Version[0.1]
Status[Draft / Approved / Superseded]
Owner[@platform-engineering-lead]
Approvers/reviewers[@vp-engineering], [@appsec-lead], [@legal-open-source-counsel], [@architecture-board-chair]
Last updatedYYYY-MM-DD
Classification[Internal]
Applies to[All repositories, build pipelines and images owned by Organisation]
Ecosystems in scope[npm/pnpm, Maven, PyPI, Go modules, container images, GitHub Actions, Terraform providers]
Effective fromYYYY-MM-DD
Next scheduled reviewYYYY-MM-DD

Approvals

RoleNameDecisionDate
VP Engineering[@name][Approve / Approve with conditions / Reject]YYYY-MM-DD
Application security lead[@name][Decision]YYYY-MM-DD
Open source counsel[@name][Decision]YYYY-MM-DD
Architecture board chair[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft
1.0YYYY-MM-DD[@name]Example: Approved; 7-day cooldown made mandatory for Tier 1 services
1.1YYYY-MM-DD[@name]Example: CI actions pinned by commit SHA added to section 6

Contents

1. Purpose, scope and principles

1.1 Purpose

Most of the code [Organisation] ships was written by someone else. This policy makes sure that code is chosen deliberately, comes from where we think it comes from, is the exact version we tested, stays patched, is legally usable, and is removed when it is no longer needed. It implements SSDF practice PW.4 (reuse existing, well-secured software): task PW.4.1 (acquire well-secured third-party components and keep them maintained), task PW.4.4 (verify that third-party components keep meeting our requirements over their life cycle) and, for shared components built in-house, task PW.4.2.

1.2 Scope

In scope: every third-party component that is compiled into, bundled with, loaded by or used to build software we ship or operate. This covers direct and transitive library dependencies, container base images, OS packages installed in images, build plug-ins and compilers, CI actions and reusable workflows, infrastructure-as-code modules and providers, AI models and datasets pulled from public hubs, and commercial SDKs.

Out of scope: SaaS services consumed over the network (covered by supplier security assessment) and developer desktop tools that do not take part in builds.

1.3 Principles

  • Fewer, better dependencies. Every dependency is attack surface, licence obligation and maintenance cost.
  • Reproducible resolution. A build resolves the same bits today and in a year.
  • Trust is checked, not assumed. Provenance, signatures and integrity hashes are verified where the ecosystem provides them.
  • Updates are routine, small and automated, so that urgent security updates are not also large migrations.
  • The owning team owns its dependencies, including transitive ones.

2. Roles and responsibilities

ActivityOwning teamPlatform engineeringAppSecOpen source counselArchitecture board
Propose and evaluate a new dependencyRCCCI
Approve a Tier 1 or restricted-licence dependencyRCAA (licence)C
Operate registry proxy, update bots and scannersIA/RCII
Keep dependencies within update targetsA/RCI--
Triage vulnerable or malicious dependency alertsRCA--
Maintain licence allow and deny listsCCIA/RI
Approve forks and vendored copiesRCCCA
Approve exceptions (section 12)RCACC

R = responsible, A = accountable, C = consulted, I = informed.

3. Policy statements

IDStatementEnforced by
DEP-01New direct dependencies MUST pass the intake review in section 5 for their tier before merge.Dependency review check on pull requests
DEP-02Builds MUST resolve dependencies only through approved sources (section 6.1).Network egress policy of build runners; registry configuration
DEP-03Every repository MUST commit a lock file, and CI MUST install in frozen-lockfile mode.CI lint
DEP-04CI actions and reusable workflows MUST be pinned by full commit SHA; container base images MUST be pinned by digest.Scorecard Pinned-Dependencies check; policy as code
DEP-05Non-security version updates SHOULD respect the cooldown in section 7.2.Update bot configuration
DEP-06Dependencies MUST stay within the currency targets in section 7.1.Dependency dashboard
DEP-07Known vulnerable dependencies MUST be remediated within the SLAs of the Vulnerability Management Policy; KEV-listed vulnerabilities take the fastest SLA.SCA scanner, ticketing
DEP-08A dependency confirmed malicious MUST be treated as a security incident (section 8.3).Incident process
DEP-09Dependencies MUST have a licence in the allowed list, or an approved review, before release (section 9).Licence scanner
DEP-10Forked, vendored or patched third-party code MUST be registered (section 10).Repository audit
DEP-11Unused dependencies SHOULD be removed within one release cycle of detection.Unused-dependency report
DEP-12Products MUST produce an SBOM covering all shipped dependencies, as set by the SBOM and VEX Policy.Release pipeline

4. Ecosystems, dependency types and tiers

4.1 Dependency types

TypeExamplesMain risks
Runtime libraryParsers, HTTP clients, crypto wrappersVulnerabilities reachable in production; licence obligations on distribution
Build and test toolingCompilers, bundlers, test runners, lintersCode execution in CI with access to secrets and signing keys
CI actions and workflowsCheckout, cache, publish actionsDirect access to repository tokens and release credentials
Container base image and OS packagesDistroless or minimal OS imagesLarge inherited vulnerability surface; drift
Infrastructure modules and providersTerraform providers, Helm chartsCloud credentials at apply time
Models and datasetsPretrained models, tokenizersUnsafe serialisation formats, provenance and licence
Commercial SDKPayment or analytics SDKsClosed source, vendor support lifecycle

4.2 Tiers

Tier is set per repository by the highest-risk product it feeds.

TierApplies toIntake reviewUpdate targetException approver
Tier 1Customer-facing production services, shipped products, release and signing pipelinesFull review (5.2) with AppSec sign-offSection 7.1 strict columnAppSec lead
Tier 2Internal production services, shared librariesStandard review by a second engineerSection 7.1 standard columnEngineering manager
Tier 3Prototypes, test fixtures, internal scripts not deployedSelf-check against 5.1Best effort; security fixes still mandatoryTeam lead
RepositoryTierEcosystemsDirect depsTransitive deps
corvid-checkout-api (Example)1Maven, container48312
corvid-storefront (Example)1npm (pnpm), container611,204
corvid-ops-scripts (Example)3PyPI937
[Repository][Tier][Ecosystems][N][N]

5. Intake of a new dependency

5.1 Questions for every intake

  1. Need: what does it do that the standard library, the platform or an existing approved dependency does not?
  2. Size: how many transitive dependencies does it add? Does it run install scripts?
  3. Maintenance: are there releases and responses to issues in the last 12 months? More than one active maintainer?
  4. Security practices: does it publish a security policy, sign releases or publish provenance, and have a reasonable OpenSSF Scorecard result?
  5. Vulnerability history: open known vulnerabilities, and how fast past ones were fixed.
  6. Licence: is the declared licence in the allowed list, and do file-level licences agree with it?
  7. Identity: is this the genuine package (not a typosquat or a namespace confusion), from the expected publisher?
  8. Exit: how hard would it be to replace?

5.2 Full review criteria (Tier 1)

CriterionSignalPass threshold (Example)Weight (Example)
MaintenanceScorecard Maintained check; release and commit activityScore 5 or more; release within 12 months20
Code review and branch protectionScorecard Code-Review and Branch-Protection checksScore 5 or more15
Release integritySigned releases or build provenance; Scorecard Signed-ReleasesPresent, or compensating hash pinning15
Known vulnerabilitiesSCA scan of the candidate version; Scorecard Vulnerabilities checkNo open High or Critical20
Security policy and disclosureSecurity policy file (Scorecard Security-Policy check); OSPS Baseline Level 1 security contacts in project documentation (OSPS-VM-02.01), and preferably the Level 2 private vulnerability reporting route (OSPS-VM-03.01) and CVD policy with a response timeframe (OSPS-VM-01.01)Security contacts present; private reporting route for full credit10
FootprintNumber of new transitive packages; install scriptsUnder 20 new packages; no install scripts, or reviewed10
LicenceSPDX identifier in allowed listAllowed10

Decision rule: a candidate passes with a weighted score of at least 70 and no failed Known vulnerabilities or Licence criterion. A criterion that meets its threshold earns its full weight and one that fails earns 0; a reviewer may award partial credit on a criterion with a written reason in the intake log. Scorecard scores run from 0 to 10 per check, and a check can return -1 when the result is inconclusive: treat -1 as a fail until the reviewer has checked the signal manually. Record the Scorecard version used, because checks and probes change between releases.

5.3 Intake log

IDPackage and versionRepositoryTierScoreDecisionReviewerDate
DEP-INT-014 (Example)example-csv-stream 3.4.1corvid-checkout-api185Approved[@appsec-reviewer]2026-09-30
DEP-INT-015 (Example)example-color-utils 0.2.0corvid-storefront145Rejected: single maintainer, no release in 26 months, install script; use existing CSS utility[@appsec-reviewer]2026-10-06
[DEP-INT-NNN][Package version][Repo][Tier][Score][Decision][@name]YYYY-MM-DD

Worked score for DEP-INT-014 (Example): Maintenance 20, Code review 15, Release integrity 15, Known vulnerabilities 20, Security policy 10, Footprint 0 (24 new packages, over the threshold), Licence 10. Total 20 + 15 + 15 + 20 + 10 + 0 + 10 = 90. The reviewer reduced Release integrity to 10 because only some releases carried provenance, giving 85, and approved it with a note to track the footprint.

6. Sourcing, pinning and integrity

6.1 Approved sources

EcosystemApproved sourceNotes
npm (Example)Internal registry proxy at [registry URL] mirroring the public npm registryInternal scope @corvid resolves only from the internal registry
Maven (Example)Internal proxy of Maven CentralGroup IDs com.corvid.* blocked from upstream
PyPI (Example)Internal proxy of PyPI--index-url set to proxy; no --extra-index-url
Container images (Example)Internal mirror of approved base images, rebuilt weeklyOnly images from the golden base list
CI actions (Example)Allow list of organisations and actions in the CI settingsThird-party actions reviewed like Tier 1 dependencies
[Ecosystem][Source][Notes]

Build runners MUST NOT reach public registries directly except through the proxy. Internal package names MUST be reserved or scoped so that a public package with the same name cannot be substituted (dependency confusion).

6.2 Pinning and lock files

  • Commit the lock file for every application and service. Libraries that are published SHOULD also commit a lock file for their own CI, while declaring compatible ranges for consumers.
  • Install with the frozen or immutable lock option so CI fails when the lock file and manifest disagree.
  • Pin CI actions and reusable workflows to a full commit SHA, with the version in a trailing comment for readability, and let the update bot propose SHA updates.
  • Pin container base images by digest in Dockerfiles and deployment manifests.
  • Lock files record integrity hashes; review hash changes in pull requests that do not change versions, because they can indicate a re-published artefact.

6.3 Verification

ControlWhereTier
Integrity hash check on installPackage manager, enforced by frozen installAll
Signature or provenance verification where the ecosystem supports itInstall or admission stepTier 1
Install scripts disabled by default, enabled per package after reviewPackage manager configurationTier 1 and 2
Base image signature verified at deploy admissionCluster admission policyTier 1
Typosquat and malicious package check on new dependenciesDependency review checkAll

7. Updates and cooldown

7.1 Currency targets

MeasureStrict (Tier 1) (Example)Standard (Tier 2) (Example)
Patch and minor updates of direct dependencies mergedWithin 30 days of availability (after cooldown)Within 60 days
Major versions behind latestAt most 1 major behind; plan to adopt within 6 months of releaseAt most 2 majors behind
Runtime (language, OS)Never on an upstream end-of-life versionUpgrade plan within 3 months of upstream EOL
Base imagesRebuilt at least weekly from the patched golden imageRebuilt at least monthly

7.2 Cooldown (minimum release age)

A newly published version is not adopted for normal updates until it has been public for the cooldown period. Compromised releases and accidental breakages are often found and withdrawn within days, so a short delay removes much of that risk at low cost.

Update kindCooldown (Example)
Patch and minor, Tier 17 days
Major, all tiers14 days
Patch and minor, Tier 2 and 33 days
Security update fixing a vulnerability that affects usNo cooldown; follow section 8

Configure the cooldown in the update tooling, for example the cooldown option of Dependabot, the minimumReleaseAge option of Renovate or the minimumReleaseAge setting of pnpm; check each tool's documentation for units and defaults, which differ. Dependabot's cooldown applies to version updates only and never delays its security updates; pnpm's minimumReleaseAge is expressed in minutes, so 7 days is 10080.

7.3 Update process

  • Group related updates (for example all patch updates of test tooling) to limit pull request volume. Keep runtime-critical packages in their own pull requests.
  • Auto-merge is allowed only when the test suite meets the coverage floor of the repository and the update is patch or minor.
  • Major upgrades are planned work with an owner and target date in the backlog; read the upstream changelog and migration guide.
  • A version held back on purpose is pinned with a comment linking to the issue that explains why and when it will be lifted.

8. Vulnerable and malicious dependencies

8.1 Detection

  • Software composition analysis (SCA) runs on every pull request, nightly on default branches, and continuously against the SBOMs of released versions, so new advisories on old releases are found.
  • Advisory sources: the ecosystem advisory databases, the OSV database, vendor advisories, and the CISA KEV catalog for evidence of exploitation.

8.2 Prioritisation and remediation

Remediation SLAs, severity rules and exploitation signals are owned by the Vulnerability Management Policy (security/vulnerability-management-policy). For dependencies this policy adds:

  1. A vulnerability listed in the CISA KEV catalog, or with confirmed exploitation, takes the shortest SLA regardless of base score.
  2. When a fixed version exists, update to it; the cooldown does not apply.
  3. When no fixed version exists, apply a documented mitigation (configuration, input validation, removing the vulnerable feature) or replace the dependency.
  4. When the vulnerable code is not present or not reachable in our product, record a VEX status of not_affected with a justification, as set by the SBOM and VEX Policy (security/sbom-vex-policy).
  5. Released product versions affected by a dependency vulnerability are fixed according to the Versioning and Release Policy (dev/versioning-release-policy) backport rules.
IDPackageAdvisoryAffected reposReachableActionDueStatus
DEP-VUL-031 (Example)example-xml-lite 2.1.0GHSA-xxxx-xxxx-xxxx (fictional)corvid-checkout-apiYes, parses partner XMLUpdate to 2.1.42026-10-31In progress
DEP-VUL-032 (Example)example-img-tools 5.0.2CVE-YYYY-NNNNN (fictional)corvid-storefrontNo, only the unused TIFF decoder is affectedVEX not_affected, vulnerable_code_not_in_execute_path; update in next cycle2026-11-30VEX published
[DEP-VUL-NNN][Package][Advisory][Repos][Yes/No and why][Action]YYYY-MM-DD[Status]

8.3 Malicious packages

A dependency that contains malicious code (credential stealer, backdoor, protestware) is a security incident, not a vulnerability ticket:

  1. Block the package and version at the registry proxy immediately.
  2. Identify every build and environment that installed it, from lock files, build logs and SBOMs.
  3. Assume secrets available to those builds are exposed: rotate CI tokens, registry tokens, cloud credentials and signing keys in scope.
  4. Rebuild affected artefacts from a clean state and check released artefacts for contamination.
  5. Run the incident under the Incident Response Plan (compliance/incident-response-plan) and record lessons learned.

9. Licence compliance

CategorySPDX identifiers (Example; confirm with counsel)Rule
AllowedMIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0, ISC, Zlib, 0BSD, Unlicense, CC0-1.0Use freely; keep notices
Allowed with conditionsMPL-2.0, EPL-2.0, LGPL-2.1-or-later, LGPL-3.0-or-laterAllowed if unmodified and dynamically linked or kept as a separate file; record obligations
Review requiredGPL-2.0-only, GPL-3.0-or-later, AGPL-3.0-or-later, SSPL-1.0, BUSL-1.1, CC-BY-SA-4.0 for code, any non-SPDX or custom licenceOpen source counsel approval per use case
DeniedNo licence, licences forbidding commercial use, licences with field-of-use restrictions incompatible with our productsNot used
  • The licence scanner reads both the declared licence and file-level licence texts and reports mismatches.
  • Products that are distributed (SDKs, agents, mobile apps) MUST ship a third-party notices file generated from the SBOM.
  • Commercial dependencies are reviewed with the Software Licence and Contract Technical Review (compliance/software-licence-review).

10. Forks, vendoring and patches

  • Prefer contributing a fix upstream and pinning to the fixed release over forking.
  • When we find a vulnerability in a third-party component, report it to the maintainer through their published route. For products in scope of the EU Cyber Resilience Act, Article 13(6) makes this a duty, requires the manufacturer to remediate the vulnerability in its own product under Annex I, Part II, and, where it has developed a fix, to share the code or documentation with the maintainer, in machine-readable form where appropriate (check the consolidated text; this is a documentation format, not legal advice).
  • A temporary patch (for example through the package manager's patch mechanism) MUST link to the upstream issue or pull request and be reviewed every update cycle.
  • A fork or vendored copy MUST be registered below, keep the original licence and notices, and stay visible to SCA scanners (vendored directories are included in SBOMs).
IDComponentTypeReasonUpstream linkOwnerReview date
DEP-FRK-003 (Example)example-pdf-renderPatchUpstream fix for memory leak not yet released[Upstream PR link][@team-checkout]2026-11-15
DEP-FRK-004 (Example)example-legacy-soapForkUpstream archived; needed for one partner integration until 2027-06[Archived repo link][@team-partners]2027-01-15
[DEP-FRK-NNN][Component][Patch / Fork / Vendored][Reason][Link][@owner]YYYY-MM-DD

11. Removal and end of life

  • Unused dependency reports run monthly; unused direct dependencies are removed within one release cycle.
  • A dependency is considered abandoned when the repository is archived, the maintainers say so, or there has been no release or maintainer response for [18] months while issues accumulate. Abandoned Tier 1 dependencies need a replacement plan with an owner and date within [90] days.
  • Runtimes and frameworks follow their upstream lifecycle; the upgrade is planned before upstream end of life, as set in section 7.1.
  • When removing a dependency, also remove its configuration, licence notice entries and any exceptions that referenced it.

12. Exceptions and risk acceptance

An exception names the policy statement (section 3), repository, dependency and version, the reason, compensating controls, approver (per tier in section 4.2) and an expiry no later than [6] months. Exceptions that accept a known vulnerability are also recorded in the Risk Register (compliance/risk-register).

IDStatementRepository and dependencyReasonCompensating controlsApproverExpires
EXC-DEP-007 (Example)DEP-06corvid-checkout-api, framework 5.x (one major behind)Major upgrade needs a database driver change scheduled for Q1Security patches applied on 5.x; WAF rule for the relevant endpoint classAppSec lead2027-03-31
EXC-DEP-008 (Example)DEP-04corvid-mobile build, vendor action pinned by tagVendor publishes only signed tags; SHA pinning breaks their update channelSignature verified in workflow; action allow-listed by versionAppSec lead2027-01-31
[EXC-DEP-NNN][DEP-NN][Repo, dependency][Reason][Controls][@name]YYYY-MM-DD

13. Compliance measurement

IDMetricFormulaTarget (Example)
DEP-M01Repositories with committed lock file and frozen installcompliant repos / repos in scope x 100100%
DEP-M02CI actions pinned by SHApinned action references / all action references x 100100% for Tier 1
DEP-M03Currency of direct dependenciesdirect deps within section 7.1 target / direct deps x 10090% or more
DEP-M04Mean update lagmean days between release (after cooldown) and merge, for merged updates in the period30 days or fewer (Tier 1)
DEP-M05Overdue vulnerable dependenciesdependency vulnerabilities past SLA, count0 for KEV-listed
DEP-M06Intake reviews completednew direct deps with an intake record / new direct deps x 100100%
DEP-M07Licence violations at releasereleases blocked or shipped with a denied licence, count0 shipped
DEP-M08Open exceptions past expirycount0

Worked example (Example): corvid-storefront has 61 direct dependencies; 55 are within target, so DEP-M03 = 55 / 61 x 100 = 90.2%, just above target. The six behind are tracked in the backlog with owners.

Results are reported monthly on the dependency dashboard and quarterly to the engineering leadership review. Repositories can also run the OpenSSF Scorecard against themselves. DEP-04, and in part DEP-03 (frozen installs in scripts and workflows), map to its Pinned-Dependencies check, which inspects Dockerfiles, shell scripts and GitHub workflows; DEP-05 and DEP-06 map to its Dependency-Update-Tool check. DEP-02 has no Scorecard equivalent and is checked through runner egress rules and registry configuration.

14. Review cycle

  • Scheduled review every 12 months by the policy owner with AppSec and open source counsel.
  • Early review after: a malicious-package incident affecting the organisation or a major ecosystem; a new ecosystem adopted; a new major release of SSDF, Scorecard or OSPS Baseline; a regulatory change affecting component due diligence (for example the EU Cyber Resilience Act duty to exercise due diligence on integrated third-party components, Article 13(5), applying from 11 December 2027; check the consolidated text).
  • Review outcomes are recorded in the revision history.

15. Glossary and references

15.1 Glossary

TermMeaning
Direct dependencyA component declared in the project's own manifest
Transitive dependencyA component pulled in by another dependency
Lock fileA file recording the exact resolved version and integrity hash of every dependency
Cooldown (minimum release age)Time a new version must be public before it is adopted by routine updates
Dependency confusionSubstituting a public package for an internal one with the same name
TyposquattingPublishing a malicious package with a name similar to a popular one
SCASoftware composition analysis: identifying components and their known vulnerabilities and licences
VEXVulnerability Exploitability eXchange: a statement of whether a product is affected by a vulnerability
KEVCISA Known Exploited Vulnerabilities catalog

15.2 References

ReferenceUse
NIST SP 800-218, Secure Software Development Framework (SSDF) Version 1.1, February 2022 (csrc.nist.gov/pubs/sp/800/218/final); SP 800-218 Rev. 1 (SSDF v1.2) is an initial public draft of December 2025Practice PW.4, tasks PW.4.1, PW.4.2 and PW.4.4 (sections 1, 5, 6, 7)
OpenSSF Scorecard, release v5.6.0 (October 2026), github.com/ossf/scorecardIntake signals (5.2), metrics (13)
OpenSSF Open Source Project Security Baseline, release v2026.08.28 (baseline.openssf.org): controls OSPS-VM-01.01, OSPS-VM-02.01 and OSPS-VM-03.01Upstream project expectations (5.2)
CISA Known Exploited Vulnerabilities catalog (cisa.gov/known-exploited-vulnerabilities-catalog)Exploitation signal (8.2)
Regulation (EU) 2024/2847 (Cyber Resilience Act), Articles 13(5) and 13(6)Due diligence on third-party components and reporting their vulnerabilities (10, 14)
Dependabot options reference (docs.github.com), Renovate configuration options (docs.renovatebot.com), pnpm settings (pnpm.io), checked October 2026Cooldown configuration (7.2)
Vulnerability Management Policy (security/vulnerability-management-policy)Remediation SLAs
SBOM and VEX Policy (security/sbom-vex-policy)SBOM and VEX rules
Software Supply Chain Security (security/supply-chain-security)Periodic assessment, SLSA
OSS Project Security Baseline (security/oss-project-security-baseline)Self-assessment for projects we maintain
Versioning and Release Policy (dev/versioning-release-policy)Backports to supported releases
CI/CD Pipeline Design (dev/ci-cd-pipeline-design)Runner isolation, pinning in pipelines
Software Licence and Contract Technical Review (compliance/software-licence-review)Commercial and complex licences
Incident Response Plan (compliance/incident-response-plan)Malicious package incidents

Standard and licence note

Based on NIST SP 800-218 (SSDF version 1.1, February 2022), a work of the United States Government not subject to copyright in the United States, and on Regulation (EU) 2024/2847, Articles 13(5) and 13(6), paraphrased from the Official Journal text; the CRA parts are a documentation format, not legal advice. OpenSSF Scorecard (Apache-2.0) check names and the OSPS Baseline (OpenSSF, release v2026.08.28) level, category names and control IDs are cited by name only; no check or control text is reproduced. The CISA KEV catalog is a public US Government resource. Dependabot, Renovate and pnpm are named as configuration examples; GitHub and Dependabot are trademarks of GitHub, Inc., Renovate is a trademark of its owner, and this template is not affiliated with or endorsed by them. Licence identifiers follow the SPDX License List. Check the current official versions of SSDF, Scorecard, OSPS Baseline and the tool documentation before adopting this policy. Original text written for this collection. Template licence: MIT.

संबंधित टेम्पलेट