The finding arrives on a Thursday afternoon, four days into the annual audit, and one line in the draft report stops the meeting: the database cluster behind the billing system has been out of security support for eleven months. Nobody decided to run unsupported software. Three years ago the vendor's lifecycle page listed a support date comfortably far away, someone recorded it in a spreadsheet, and the spreadsheet was never opened again. Somewhere in between, the vendor revised the date forward when the product line changed hands. The page said so, publicly, for anyone who happened to re-read it. Nobody did. Now the finding needs a remediation plan, an executive explanation, and an emergency migration that will consume the next quarter.
Every audit finding that reads "unsupported software in production" started this same way: a vendor updated a lifecycle page, nobody was watching it, and a product everyone depended on aged out of security patches in silence. End-of-life dates are not secrets. Vendors publish them on lifecycle matrices, support policy pages, and product bulletins, sometimes years in advance, sometimes with uncomfortably short notice, and occasionally they move dates that were already published. The information is public; the failure is that no one owns checking it, because nobody re-reads forty pages whose dates they believe they already know.
This guide covers how IT, security, and platform teams turn vendor lifecycle pages into an automated early-warning system: what the different "end of" milestones actually mean, which pages to watch, how to build the watchlist step by step, and how the same monitors feed patch planning, budget cycles, and audit evidence.
What does "end of life" actually mean for a product?
"End of life" is not one event but a sequence of milestones, and each one triggers different operational work. Vendors announce end of sale, end of mainstream support, end of security patches, and end of extended support as separate dates, often years apart. Treating them as a single deadline either wastes budget on premature migrations or leaves you exposed after the date that actually mattered.
A practical translation of the milestones:
| Milestone | What the vendor stops doing | What it triggers for you |
|---|---|---|
| End of sale | Selling new licenses or units | Stop expanding on this product; plan the successor for new deployments |
| End of mainstream support | Feature updates, non-critical fixes | Freeze feature expectations; begin migration scoping and budgeting |
| End of security patches | Fixing vulnerabilities | Hard deadline: migrate before this date or accept documented risk |
| End of extended support | Everything, including paid support | Absolute cutoff; auditors treat anything past this as a finding |
The date that belongs on your risk calendar is the end of security patches, because that is when new vulnerabilities in the product stop being fixed and start being permanent. End of sale matters most to procurement and capacity planning. End of mainstream support matters to anyone depending on the vendor for bug fixes. Extended support, where offered, buys time at a price, and vendors increasingly introduce paid extension programs late in a product's life, which is itself a change worth catching.
Vendors do not use consistent terminology: one vendor's "end of support" is another's "end of maintenance" and a third's "sustaining support phase." Part of what a monitoring setup does is remove the need to internalize each vendor's vocabulary. You watch the page, and when any of these dates appears or moves, the diff shows you exactly which line changed.
How do you get alerted when a product gets an end-of-life date?
Monitor the vendor's lifecycle page for each product family you run, and let the diff do the reading. Lifecycle matrices are tables of versions and dates, and what matters is precisely a change to that table: a new row, a new end-of-support date, a status flip from supported to extended support. A page monitor emails you the highlighted change on the next check after the vendor publishes it.
An AI focus prompt keeps the signal clean: watch for end-of-life, end-of-support, and end-of-sale dates being announced or changed, ignore navigation, marketing modules, and unrelated product news. Daily checks are the right cadence, since lifecycle pages change rarely but consequentially, and a well-configured EOL watchlist should be silent for weeks and then decisively loud.
Aggregators are worth adding alongside vendor pages. Community-maintained sites like endoflife.date consolidate lifecycle data for hundreds of products in a consistent format, and monitoring the product pages you care about there gives you a second signal with a cleaner structure than many vendors' own pages. The vendor page is authoritative and changes first; the aggregator page is consistent and catches anything the vendor buried.
How do you set up an EOL watchlist step by step?
You build the watchlist from your asset inventory outward, one category at a time, so coverage maps to what you actually run rather than to which vendors are famous. The whole setup for a mid-size environment is an afternoon of work, and most of that afternoon is the inventory step, which you needed anyway.
Step 1: Pull the asset inventory
Export every product in the environment from wherever the truth lives: the CMDB, the endpoint management tool, the cloud asset inventory, the procurement system, or for many teams a combination plus a survey of team leads. You need product names and major versions, not per-host detail, grouped into categories: operating systems, databases and middleware, network and hardware, runtimes and frameworks, SaaS platforms.
Step 2: Map each product to its vendor lifecycle page
For every product family, find the page where the vendor publishes support dates. Search the vendor's support site for "lifecycle," "end of life," "support policy," or "product support dates." Record the URL next to the product in your inventory sheet. This mapping document is valuable on its own; it is the coverage evidence an auditor asks for.
Step 3: Add each lifecycle page as a monitor
Paste each URL into PageCrawl, one monitor per lifecycle page. Use an AI focus prompt on each: watch for end-of-life, end-of-support, end-of-sale, or extended-support dates being announced, changed, or removed for this product; ignore navigation, promotions, and unrelated announcements. Set daily checks.
Step 4: Add the endoflife.date page for each critical product
For the products whose loss of patch coverage would hurt most, add the corresponding endoflife.date page as a second monitor. Two independent signals on your most critical products means a vendor quietly restructuring their support site does not blind you.
Step 5: Route alerts by owning team
Put monitors in folders by category and point each folder's notifications at the team that owns the response: OS and runtime alerts to the platform channel, appliance alerts to the network team, SaaS lifecycle alerts to whoever owns the vendor relationship. An EOL announcement in a general inbox is a fact; one in the owning team's channel is a task.
Step 6: Reconcile quarterly against the inventory
New products enter the environment continuously, and each one arrives with a lifecycle page nobody has added yet. Quarterly, diff the current asset list against the watchlist: add monitors for anything new, retire monitors for anything decommissioned. This fifteen-minute ritual keeps the watchlist honest for years instead of quarters.
What does a full EOL watchlist look like in practice?
For a typical mid-size company, the whole watchlist lands around 30 monitors, which surprises teams who expect it to be enormous. Consider a fictional 400-person company, Fernwood Logistics, with a conventional stack. Their inventory produces:
- Operating systems (5 monitors): one Linux distribution lifecycle page for the server fleet, one for container base images, the desktop OS page, and the two mobile OS pages their field app supports.
- Databases and middleware (4 monitors): lifecycle pages for their two database engines (a relational primary and a caching layer), the message queue, and the search engine.
- Network and hardware (5 monitors): end-of-sale and end-of-support bulletin pages for the firewall vendor, the switch line, the wireless controllers, the VPN appliance, and the storage array.
- Runtimes and frameworks (5 monitors): the two language runtimes the product is built on, the web framework's supported-versions page, the frontend framework's release policy, and the container orchestrator's version support page.
- SaaS platforms (8 monitors): deprecation and lifecycle pages for the CRM, the HR system, the identity provider, the observability vendor, the CI platform, and three logistics-specific SaaS tools, several of which publish API version retirements rather than classic EOL matrices.
- Second signals (4 monitors): endoflife.date pages for the four most critical products: the server OS, both databases, and the primary runtime.
Total: 31 monitors, split into five folders, each routed to its owning channel, about 930 daily checks a month, well inside a Standard plan. In a typical quarter the watchlist fires perhaps four to eight times: a new version row on a matrix, a runtime's support window shifting, one appliance bulletin, and, once or twice a year, the alert that justifies the entire setup, a date change on something everyone believed was settled.
What do vendor lifecycle pages actually look like?
Lifecycle pages come in three broad shapes, and knowing which shape you are watching tells you how to configure the monitor. Most vendors publish either a version matrix, a bulletin stream, or a policy document, and each changes in a different way when a date is announced or moved.
Version matrices are the best case: a table of versions, release dates, and support-end dates. Changes are surgical (a new row, an edited cell) and the diff reads like a changelog. Enterprise software, operating systems, and runtimes usually publish this way.
Bulletin streams are announcement lists where each end-of-sale or end-of-support notice is a new entry, common with network and hardware vendors. Monitor the bulletin index page so new entries surface as additions; the useful information is in the entry, and the alert tells you one exists.
Policy documents are the awkward case: prose support policies, sometimes PDFs, that define support duration by formula ("N years from general availability") rather than listing dates. These change rarely, but when they change the effect is sweeping, because a redefinition of the support window silently moves the effective date for everything you run. PDF-published policies can be monitored for content changes just like HTML pages.
Two behavioral patterns cut across all three shapes. Some vendors publish dates years in advance, making their alerts plannable; others announce with months of notice, which is exactly why their pages deserve monitoring most. And late in a product's life, watch for a paid extended-support program appearing: it is simultaneously an option (budgetable breathing room) and a warning (the vendor formalizing the end).
Why do published EOL dates change, and how do you catch it?
Because lifecycle policy is a vendor decision, and vendors revise it in both directions. Dates get extended when large customers push back, pulled forward when a product line is sold or discontinued, and restructured when a vendor redefines what "support" includes, splitting security-only maintenance from full support, or moving a tier behind a paid extended-support program.
A moved date is exactly the kind of change manual checking misses, because nobody re-reads a lifecycle page whose date they already recorded in a spreadsheet. The spreadsheet becomes a snapshot of vendor policy as it stood on the day someone last looked, drifting quietly away from reality. The monitor catches the revision the same way it caught the original announcement: the page changed, and the diff shows the old date struck out and the new one added.
Extensions matter as much as accelerations. A vendor pushing a date out eighteen months can defer a migration project and free a budget line, but only if someone notices; teams have completed emergency migrations against deadlines that no longer existed. That timestamped diff in your change history is also the clean answer to the auditor's question of when you knew and what you did next.
How does EOL monitoring feed patch and budget planning?
By converting surprise deadlines into scheduled work. An end-of-support date discovered eighteen months out is a budget line and a migration project; the same date discovered three months out is an emergency. The monitoring watchlist is what determines which of those two versions your team gets.
The alerts plug into four downstream workflows. Patch and migration planning: each new date becomes a dated migration task with an owner, entered when the alert lands rather than when the deadline looms. Budget cycles: dates inside the next fiscal year surface during planning season, so the replacement appliance or extended-support contract is in the budget instead of competing for emergency funds. The risk register: a product approaching end of security patches is a risk entry with a review date, and the alert diff is the evidence for when the risk was identified. Compensating controls: when a migration slips past the support date, as some will, the security team can put segmentation, monitoring, or an extended-support purchase around the gap deliberately rather than discovering it in an audit.
Two habits close the loop. When an EOL alert lands, record the affected systems and the migration owner in the same place you track the alert, so the announcement becomes a task rather than a known-and-forgotten fact. And run the quarterly inventory reconciliation from the setup walkthrough, since each new product in the environment brings a lifecycle page nobody has added yet. This mirrors how teams already monitor vendor changelogs and release notes and API deprecation notices; EOL pages are the slower, higher-stakes end of the same discipline.
What about hardware and firmware end-of-support?
Hardware EOL deserves its own attention because the consequences compound: an appliance past its end-of-support date stops receiving firmware security fixes, cannot be RMA'd, and often anchors an entire network segment. Network and hardware vendors also publish differently, as bulletin streams announcing end-of-sale and last-day-of-support per model, rather than tidy version matrices.
The monitoring pattern is the same, with two adjustments. Watch the vendor's end-of-sale and end-of-life bulletin index for each product line you own, because individual model announcements appear there first, and end of sale is the earlier, procurement-critical signal: once a model stops selling, spares and like-for-like replacements get harder every quarter. And connect hardware EOL alerts to the refresh budget explicitly, since replacing appliances has procurement and change-window lead times that software migrations do not.
Firmware sits in the gap between the two worlds: the hardware may be supported while the firmware train you run is not. Where a vendor publishes per-release firmware support schedules, add that page for your most critical appliances.
How does EOL monitoring differ from CVE monitoring?
They watch opposite ends of the same risk. CVE monitoring tells you about specific vulnerabilities discovered in software you run, a fast-moving feed where hours matter. EOL monitoring tells you when a product will stop receiving fixes for all future vulnerabilities, a slow-moving signal where the lead time is measured in quarters. Neither substitutes for the other.
The relationship is sequential: every product that crosses its end-of-security-patches date turns future CVE alerts from "patch available, schedule it" into "no patch is coming, mitigate or migrate." That is why security frameworks treat unsupported software as a standing finding rather than a per-vulnerability issue, and why the EOL watchlist belongs to the same team that watches vulnerability feeds. Teams already tracking CVE and KEV catalogs will recognize the shape of the work: same watchlist discipline, longer fuse, and a much better ratio of warning time to required action.
In practice the two feeds meet in the risk register: a CVE against a supported product is a patching task, while the same CVE against a product inside its final year of support strengthens the case for accelerating the migration the EOL alert already put on the roadmap.
Choosing your PageCrawl plan
PageCrawl's Free plan lets you monitor 6 pages with 220 checks per month, enough to cover the lifecycle pages of your most critical platforms while you prove the workflow. Most teams graduate to a paid plan once the watchlist matches the asset inventory.
| Plan | Price | Pages | Checks / month | Frequency |
|---|---|---|---|---|
| Free | $0 | 6 | 220 | every 60 min |
| Standard | $8/mo or $80/yr | 100 | 15,000 | every 15 min |
| Enterprise | $30/mo or $300/yr | 500 | 100,000 | every 5 min |
| Ultimate | $99/mo or $999/yr | 1,000 | 100,000 | every 2 min |
Annual billing saves two months across every paid tier. Enterprise and Ultimate scale up to 100x if you need thousands of pages or multi-team access.
At an engineering hourly rate, Standard at $80/year pays for itself the first time you catch a breaking API change, a deprecated endpoint, or a silent config change before it takes down production. 100 monitored pages is enough to cover the changelogs and docs of every third-party API your stack depends on. Enterprise at $300/year adds higher check frequency, 500 pages, and full API access. All plans include the PageCrawl MCP Server, which plugs directly into Claude, Cursor, and other MCP-compatible tools. Developers can ask "what changed in the Stripe API docs this month?" and get a summary pulled from your own monitoring history. AI assistants can create monitors through conversation on every plan, including Free, turning your tracked pages into a living knowledge base instead of a pile of alert emails.
Getting Started
Pull your asset inventory and pick the six products whose loss of patch coverage would hurt most. Add each vendor's lifecycle page to a free PageCrawl account with daily checks, route the alerts to the owning team's channel, and let the watchlist run.
Then expand by category until every product in the inventory has its lifecycle page watched. The vendors will keep publishing and revising dates on their own schedule; the watchlist just guarantees that the day they do, the right team's calendar changes with it.




