How do you retire a threat model for a decommissioned service so it stops being cited as evidence?
answer
- the artefact outlives the system
- audit truth is the asset here
- status and last-verified date on every model
- retire by recording, never by deleting
- generate packs from the index, not copies
basics
~20 sGive every model a status and a verification date, mark this one retired with the date, reason and successor, and generate assurance packs from the live index rather than circulated copies, so a retired model can never read as current coverage.
solid answer
~50 sThe failure is not that an old file exists; it is that a copy of it is still being handed to auditors as current coverage. I treat models as assurance artefacts with a lifecycle: each carries a scope statement naming the system and release it describes, a status - current, under review, superseded, retired - and the date and evidence of its last verification. Retirement is a recorded state change, not a deletion: reason, date, decommission evidence, and a pointer to whatever absorbed the functionality. The assurance pack then has to be generated from that index rather than assembled from attached files, otherwise a two-year-old coupon-redemption model keeps circulating as a PDF long after the monolith was switched off. I also refuse to retire early. If the service is off but its data is retained, the exposure is still real and a reduced model covering that store stays current until the data is actually gone.
go deeper
Know that a threat model describes a specific system and release, and that once that system is gone the document must be marked so no one reads it as describing something still running.
Be able to describe the metadata that makes this work: scope, status, last-verified date, successor pointer. Explain why retiring means recording a state change rather than deleting the file.
Show the judgment about partial decommission - data retained, endpoints still resolving, credentials still valid - and insist on evidence before status changes. Say where open threats go when the capability moves to another system.
Own the assurance mechanics: packs generated from a live index rather than circulated copies, who may declare retirement, and the argument for reporting honest lower coverage over inflated coverage that includes dead systems.
## Why a dead model is a live problem When a service is switched off, its threat model does not become harmless - it becomes a *false positive in the assurance record*. Someone assembling evidence for a customer questionnaire, a certification, or an internal control attestation finds a model with a plausible date and a full set of mitigated threats, and includes it. Two years after a coupon-redemption monolith stopped serving traffic, its model can still be sitting in an assurance pack as proof that the redemption capability is modeled. The asset at stake here is **audit truth**: the organisation's ability to state accurately what it has and has not analysed. Three concrete harms follow. 1. **Coverage is overstated.** The estate looks better modeled than it is, so effort is not directed at what is genuinely unexamined. 2. **The successor is invisible.** Redemption did not disappear; it moved into another service, most likely one that was never modeled. The dead model actively conceals that gap, because the capability appears to be covered. 3. **Stale controls are lent current status.** "Mitigated by the tokenisation service" was true of a system that no longer exists; nothing verifies that the claim holds for whatever replaced it. ## Model lifecycle as the fix A model needs the same metadata any controlled record needs: - **Scope statement** - which system, which release or version range, which environments. "The coupon-redemption monolith, as deployed in production, release 2024.3." - **Status** - one of *draft*, *current*, *under review*, *superseded* or *retired*. Absent status is the root cause of most of this; a file with no status defaults, in every reader's mind, to current. - **Last verified** - the date the model was last reconciled against the running system, and what evidence was used. A model dated by its authoring date only tells you when someone drew a picture. - **Successor pointer** - what supersedes it, whether that is a newer version of the same model or a different system's model that absorbed the capability. ## Retirement as a recorded state change Retiring is not deleting. Deleting destroys the history an incident review or an audit legitimately needs - the model as it stood when a decision was made is evidence about that decision. Retirement means: 1. **Evidence of decommission** - the deployment removed, the routing gone, the credentials revoked, the data disposed of or migrated. The service owner asserts it; the assurance function records it. 2. **A status change on the record**, with the date and the reason, and the pointer to the successor system or the model that absorbed the threats. 3. **Disposition of anything still open.** Open threats do not evaporate with the compute. Either the risk is genuinely gone with the system, or the functionality moved and the threat belongs to the successor's model. Say which, per item. 4. **Removal from the live set** that reporting and assurance draw on, while the artefact remains readable in history and visibly stamped, so a stray copy cannot masquerade as current. ## The structural fix: an index, not attachments The reason a dead model keeps appearing is almost always that assurance packs are **assembled from copies**. Once a PDF is in a shared folder or a customer's data room, no status change reaches it. The durable fix is that the pack is generated from a live index of models, each entry carrying system, status, last-verified date and owner, so what a reader receives reflects the current state at the time of generation. Copies then become obviously dated snapshots rather than the record. ## Do not retire too early The most common misjudgement is retiring on the decommission announcement rather than the decommission. Partial states are normal and each keeps some of the model alive: - **Traffic off, data retained.** Two years of redemption records still sit in a database with access paths, backups and operators. The confidentiality exposure is intact. Keep a reduced model covering the retained store, its access paths, and the scheduled deletion date; retire it when the data is gone. - **Endpoint still resolving.** DNS or a load-balancer rule still points somewhere. Anything still reachable is still in scope. - **Credentials and integrations still valid.** Partner API keys, queue permissions and service accounts often outlive the service they were minted for, and are precisely the kind of forgotten path an attacker likes. ## Who decides Make the decision two-sided. The **service owner** asserts decommission with evidence; the **assurance or security function** records the status change and disposes of open threats. A modeler retiring a model unilaterally is how a system that is still running quietly loses its coverage - the opposite failure, and a worse one. ## The judgment to voice in an interview A smaller library of models with honest status is worth far more than a large one where a reader cannot tell live from dead. Say that you would rather report lower coverage accurately than higher coverage that includes retired systems - and that you would treat the number of models with no status or no verification date as a defect to be driven down, because those are the ones that will be cited by someone who does not know better.
- The service is switched off but its database still holds two years of redemption records. Do you retire the model?No. The compute is gone but the asset is not: the store has access paths, backups and an operator population, so the confidentiality exposure is intact. I keep a reduced model covering the retained data, who can reach it, and the scheduled deletion date, and retire it once the data is actually disposed of and the credentials that reached it are revoked.
- What concrete harm does leaving the dead model in the assurance pack do?It overstates coverage, so effort goes to the wrong places. It hides that the capability moved into a successor system nobody modeled. And it lends current status to control claims about components that no longer exist. All three degrade the organisation's ability to say truthfully what has been analysed, which is the thing assurance exists to provide.
- Who should be able to declare a model retired?Two parties. The service owner asserts the decommission and produces evidence - deployment removed, routing gone, credentials revoked, data disposed of. The assurance or security function records the status change, the reason and the successor pointer, and decides where open threats go. A modeler retiring a model alone risks dropping coverage for something that is quietly still running.
- How would you handle open threats attached to the model at retirement?Item by item, with a stated disposition. Either the risk genuinely disappeared with the system, or the functionality moved and the threat belongs in the successor's model, where it should arrive with its context rather than as a fresh discovery. Retiring a model with open items and no disposition is how known risks quietly leave the record.
It is the difference between shredding an expired passport and stamping it CANCELLED: destroying it loses the history, but leaving it unmarked lets someone present it as valid.
saying these in an interview costs you the question
- Deletes the model file, destroying history an audit or incident review needs
- Retires the model while the service's data is still retained
- Assumes the successor system inherits the retired model's assurance
- Treats the attached copy as the record instead of a live index
- Leaves models with no status and no last-verified date at all
- Retires on the decommission announcement rather than on evidence