Private equity and portfolios
Product sunset checklist for software acquirers
By SourceX Editorial · Updated
Short answer
A product sunset checklist for software acquirers should cover six phases: decide, notify, migrate, preserve, shut down and close out. The preserve phase is the one most teams skip. Before anything is deleted, separate customer data, which is returned or deleted under contract, from the company's own code, tickets and release history, which may be worth keeping.
Key takeaways
- Customer data in the product is handled under the customer contract and data processing terms, usually by return or deletion.
- The company's own engineering and support records, such as code, issues, code reviews and release notes, follow separate rules.
- A data-preservation gate blocks deletion until records are inventoried, rights are reviewed and secrets are scanned.
- Retention duties and legal holds can override both the deletion plan and the preservation plan.
What a product sunset checklist must cover#
A product sunset checklist must cover six phases: decide, notify, migrate, preserve, shut down and close out. Software acquirers retire products for familiar reasons, such as features that overlap with a sister product, an aging codebase or a customer base too small to support, and the first, second, third and fifth phases are usually well understood.
The preserve phase is where acquirers lose value and create risk. Teams often delete hosting environments, repositories and helpdesk accounts on the same schedule, without separating what must go from what the company may keep. A gate between migration and shutdown fixes that.
The phase-by-phase checklist#
The phase-by-phase checklist gives each task an owner so nothing depends on memory. Adjust the timing to your customer contracts and notice obligations.
| Phase | Key tasks | Owner |
|---|---|---|
| Decide | Confirm the business case, map customer contracts and notice duties, set end-of-sale, end-of-support and end-of-life milestones | Head of portfolio operations with the product's general manager |
| Notify | Send customer notices as contracts require, publish an FAQ, brief support and sales | Product and customer success leads |
| Migrate | Offer migration to a sister product or export tools and track each account to completion | Customer success and engineering |
| Preserve | Pass the data-preservation gate before any deletion | CTO with counsel |
| Shut down | Return or delete customer data per contract, decommission hosting, cancel third-party services | Engineering and IT |
| Close out | File deletion confirmations, update the asset register, archive the decision file | Head of portfolio operations |
What the end-of-life notice should tell customers#
The end-of-life notice should tell customers what is ending, when each milestone falls, what their options are and what happens to their data. Notices that leave the data question vague generate support tickets and, from enterprise customers, formal requests from their own counsel.
Give the end-of-sale, end-of-support and end-of-life milestones as dates, describe the migration path and any export tools, and state how and when customer data will be returned or deleted, with a contact for confirmation requests. Check each contract for the notice period and delivery method it requires, because negotiated enterprise agreements often specify both.
The data-preservation gate#
The data-preservation gate is a sign-off that no system is deleted until its records have been sorted into what is returned, what is deleted and what the company keeps. It is short, but it needs both the CTO and counsel to sign.
- Inventory every system the product used: repositories, issue tracker, CI logs, helpdesk, chat channels, docs wiki, analytics and hosting.
- Classify each record family as customer data, company records or mixed.
- Confirm customer data obligations under each contract and data processing agreement.
- Check retention duties and any legal hold before deleting anything.
- Export and archive company records in documented, readable formats.
- Scan code and tickets for secrets and pasted customer data before archiving.
- Record the decision, the signers and where the archive lives.
Customer data vs company records at sunset#
Customer data and company records follow different rules at sunset. Customer data is generally governed by the customer contract and the data processing terms, which commonly require return or deletion when the service ends. The company's own engineering and support history is generally its own, subject to confidentiality, open-source licenses and any customer-specific terms.
| Record | Usually whose | Action at sunset |
|---|---|---|
| Customer content in the product database | The customer | Return or delete as the contract requires |
| Source code and commit history | The company, apart from third-party and open-source components | Archive after secrets scanning and a license inventory |
| Issue tracker and code reviews | The company | Archive after a review for pasted customer data |
| Release notes and internal docs | The company | Archive |
| Support tickets | Mixed: company records that contain customer contacts' personal data | Archive under counsel's guidance with restricted access |
| Custom code built for one customer | Depends on that customer's contract | Check ownership clauses before keeping or reusing |
| Usage telemetry | Depends on the terms and data processing agreement | Keep only what the terms allow |
Preparing code repositories before they are archived#
Code repositories need two checks before they are archived: a secrets scan and a component inventory. Retired products often carry old API keys, database passwords and service tokens in their commit history, and some of those credentials may still work against systems the group uses today.
Open-source scanners are a common first pass. Gitleaks, an MIT-licensed tool, detects secrets such as passwords, API keys and tokens in git repositories and files, though its maintainer stated in May 2026 that it is feature complete and will receive security patches only. TruffleHog, an AGPL-3.0 scanner, says it can log in to confirm whether a detected secret is still live, which means it sends real authentication requests and should be run with operational care.
The component inventory lists third-party and open-source libraries with their licenses, plus any code a customer paid for under terms that give it ownership. Both lists decide what can be kept and what could ever be shared.
Illustrative: retiring an acquired bid management tool#
Illustrative: a fictional vertical software acquirer owns two construction products and decides to retire the smaller one, a bid management tool, after moving its customers to the sister product. The original plan deletes the hosting environment, the GitHub organization and the Zendesk account on the end-of-life date.
The head of portfolio operations adds the preservation gate. Customer bid documents are returned and deleted under each customer's contract. The code, Jira history, code reviews, release notes and internal design docs are exported, scanned for secrets and pasted customer data, and archived in the group's storage. Support tickets are archived with restricted access after counsel reviews the customer terms. One enterprise customer's custom integration is excluded because its contract assigns ownership to the customer.
The product shuts down on schedule. The archived engineering history stays available for internal reference and for a later decision on whether any of it should be licensed.
How SourceX fits into a product retirement#
SourceX fits into a product retirement at the preservation gate, before records are deleted rather than after. A metadata-only fit check on the retiring product's company records, covering systems, years of history and record families, shows whether a licensing conversation is worth having, and nothing is shared during that assessment.
If the records proceed, the SourceX five-step transaction of Supply, Rights, Preparation, Approval and Delivery keeps the company in control at each step. Customer data that the contract says must be returned or deleted stays out of scope.
Frequently asked questions
Must we delete everything when a product is sunset?
No. Customer data is usually returned or deleted under the contract and data processing terms, but the company's own code, issues, code reviews, release notes and internal docs are generally its own records. Retention duties and legal holds may also require keeping some records. Counsel should confirm the split before deletion.
How long should the archive be kept?
Keep it as long as your retention policy, any legal hold and the business case justify, and no longer. Document the decision, restrict access and review it on a schedule. Archives without a named owner tend to become unmanaged copies, which creates its own security and privacy risk.
Should customers be told about records the company keeps?
Customers should be told what happens to their data, as their contracts and notices require. Internal engineering records are not usually the subject of customer notices, but if support tickets or telemetry are kept, counsel should check whether the privacy notice and contract terms cover that retention.
Who signs off on the preservation gate?
Typically the CTO or engineering lead for the inventory and technical checks, and counsel for customer data obligations, retention duties and legal holds. In a holding group, the head of portfolio operations usually owns the overall decision file and confirms both sign-offs before shutdown.
Can the code of a retired product be licensed later?
Possibly, if the company owns it, its open-source components allow the intended use and no customer holds rights in custom parts. Secrets must be removed first. A rights review of the code and its history decides what scope, if any, is licensable.
Sources
- Gitleaks is an MIT-licensed tool for detecting secrets such as passwords, API keys and tokens in git repositories, files and stdin. Source
- On May 21, 2026, the gitleaks README was updated to state that Gitleaks is feature complete and that future releases will be security patches only. Source
- TruffleHog, an AGPL-3.0 open-source secret scanner, says that for each secret it can classify, it can log in to confirm whether the secret is live. Source
Related resources
- InsightMaintenance-mode software products: what their engineering histories hold
- InsightAI features in acquired products vs licensing records out: a holdco rule
- QuestionCan SaaS data be licensed?
- InsightRecords written with AI assistance: do they lose value for licensing?
- IndustryBPO & contact centers data
- IndustryFintech software data
See if your company qualifies
A short company assessment. No data uploads are needed.