Safeguard
Supply Chain•

How do I check a project's security policy before adopting it?

Before adopting an open source project, find its security policy, supported versions, reporting route and announcement channel. A short checklist.

Safeguard Security Team
3 min read

Open the repository's Security area and look for a security policy, usually a SECURITY.md file. Check four things: which versions get fixes, how to report a vulnerability, where announcements go, and whether the project has published advisories before. Missing answers are a finding in themselves.

Where to find it

GitHub's documentation says a security policy gives instructions on how to report a security vulnerability in a project. Maintainers add it from the repository's Security and quality tab, under Reporting, then Security policy, which creates a SECURITY.md file. The file should include supported versions and how to report.

If there is no SECURITY.md, look in the README, the project website and the documentation for a security page. Large projects often have one. The Kubernetes site, for example, has a page on security and disclosure that names its announce group and report route, and the Go project publishes a full security policy.

The four checks

CheckWhat good looks likeRed flag
Supported versionsA clear list or table with end datesNo statement, or only "latest" with no history
Reporting routeA private contact or form, and a response expectationA public issue tracker only
Announcement channelA list, feed or advisory pageSilence after past fixes
Track recordPublished advisories with fixed versionsKnown bugs fixed without any notice

Supported versions matter most. Django's policy shows why: its notices list only supported versions, and older ones may be affected but are not investigated. A project without a clear support statement leaves you guessing.

Ten minute process

  1. Find the policy and read it end to end.
  2. Look at the advisory list for the repository, if any. Count how many exist and how quickly fixes followed.
  3. Check the release history for security entries.
  4. Note the last release date and the number of active maintainers.
  5. Write a three line summary in your dependency approval ticket.

If you need to go deeper on health, see our guide to maintainer health signals before adopting a dependency.

What to do when a policy is missing

A missing policy does not make a project unsafe. Many small, well run projects never wrote one. It does mean the route for reporting and the support promise are unclear. You can ask in public on the issue tracker, as long as you are not disclosing a vulnerability, and you can plan to own more of the risk, for example by pinning versions and reviewing updates yourself.

Record the decision

Keep the summary with your approval record. When an advisory later appears, it tells you whether the project behaved as its policy said, and whether you should keep the dependency.

Where Safeguard fits

Safeguard's SBOM and dependency scanning lists the open source components you already use, so you can run this check on the ones that matter most. Try a free scan at gold.safeguard.sh/scan.

Quick check

Is a missing SECURITY.md a reason to reject a dependency?

Not on its own. It means you should look for other signals and plan to carry more of the risk.

What should the policy include?

At minimum, the supported versions and how to report a vulnerability, according to GitHub's guidance.

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.