Safeguard
Security Guides•

How do you track software support windows so nothing expires unseen?

Keep support dates in code, not a stale spreadsheet. A register, a calendar feed, alert lead times and owners keep end-of-life dates from surprising you.

Safeguard Security Team
4 min read

Track support windows by keeping one register of every runtime, framework, operating system and database you run, with its version, owner and vendor end date, and by checking it automatically against a calendar. Alert at fixed lead times, such as 180, 90 and 30 days, so a date is never a surprise.

Why spreadsheets rot

A spreadsheet works for a week. Then someone upgrades a service and forgets to edit the row. Dates move. New services never get added. Within a quarter nobody trusts it.

The fix is to make the register come from the same places your systems already declare versions: build files, Dockerfiles, infrastructure code and SBOMs. A person then only maintains the exceptions.

What a useful register holds

FieldExampleWhy
Product and cyclePostgreSQL 14The unit vendors use for dates
Where it runsbilling-db, prodSo the owner knows what is affected
Ownerteam nameSomebody must decide
Vendor end date12 Nov 2026The deadline
Source of the datelink to vendor pageSo reviewers can verify
Decisionupgrade by Sept, or exceptionThe action

Where to get the dates

The vendor's own page is the authority. Examples are the Python developer guide, the PostgreSQL versioning page and the .NET support policy. A community calendar such as endoflife.date collects many products in one place with a JSON API, which suits automation. Use it to find dates and then link the vendor page as the source.

Some projects mark future dates as scheduled. The Python guide says dates in italics can be adjusted. Re-read the source on a schedule instead of copying a date once.

Set up the checks

  1. Scan repositories and images weekly to rebuild the version list.
  2. Match each cycle to a calendar entry by script.
  3. Raise a ticket at 180 days out for each match, assigned to the owner from your repository ownership file.
  4. Raise a second alert at 90 days and a page to the manager at 30 days.
  5. Close the ticket only when the version changes or an exception is approved with an end date.
  6. Review exceptions monthly. An exception without an expiry is a decision nobody made.

Lead times that work

Small libraries can move in days. A database major version or an operating system upgrade needs a rehearsal and a change window. Pick lead times from your slowest upgrade, not your fastest. If a Postgres major upgrade takes you three months, 90 days out is too late.

Try it yourself

Watch how the monitoring view surfaces changes over time. Look for what triggers a new finding on a component that has not changed.

Click through it at your own pace, or open it full screen.

Quick check

Who should own an end-of-life date?

The team that runs the service. A central group can maintain the calendar, but the owner decides and schedules the work.

Is a calendar reminder enough?

It is a start, but it breaks when the person leaves. Tie alerts to a ticket queue and a team.

Where Safeguard fits

Safeguard's SBOM and dependency scanning and continuous scanning give you the always current component list this process needs. The free scan shows what one repository contains.

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.