Every answer you send has an expiry date. Nobody set it.
A fact changes on a Tuesday. Your answer changes whenever someone notices. The distance between those two dates is your real exposure.
A bid defense meeting. Two months after we had submitted the response.
The customer had the document in front of them, and they raised a section on our project delivery framework. Not because it was wrong. Because it was generic — a standing answer that had gone out unchanged, never tailored to what they had actually asked for or the requirements they had actually set out.
They noticed. In the room. In front of the people deciding.
That is the quiet version of this failure, and it is more common than the dramatic one. The answer had not been updated and it had not been fitted to the buyer. Both are the same underlying problem: nobody owned the question of whether that paragraph was still the right paragraph, for this deal, today.
Two dates, and nobody writes down either one
Every answer you send has two dates attached to it.
The first is the date the underlying fact changed. A region was added. A vendor was swapped. An audit report was reissued with a new scope. A retention window moved. Someone whose name appears in your escalation path took another job.
The second is the date your answer changed to match.
Not because it’s hard to measure. Because neither date gets recorded.
The first date lives in a system that doesn’t know your answer library exists — a change ticket, a vendor renewal, a board slide, an org chart. The second date lives in a document whose “last modified” timestamp refreshes when somebody fixes a typo in the second paragraph.
That’s the quiet part.
Modified is not verified.
A library full of recent timestamps can be a library nobody has actually checked in a year. Most teams have the first number and believe it’s the second.
A rotting library never throws an error
When a system breaks, it tells you. Something fails, someone gets paged, the failure has a timestamp and an owner.
A stale answer does the opposite. It behaves perfectly. It’s well written, formatted, pre-approved, and it has been sent before — which is the strongest endorsement any answer gets inside a company. Nothing about it looks wrong, because nothing about it is wrong except the fact underneath it.
Then it propagates. The answers that get reused most are the ones that have been around longest, so the oldest content is the most-copied content.
Decay doesn’t sit still in a folder. It gets distributed.
And the feedback comes back mislabeled. A buyer’s security team doesn’t call to tell you your data residency answer was out of date. They downgrade you quietly, or they add a follow-up round, or they route the risk score somewhere it costs you position. What you see on the loss report is “price.” Or “timing.” Or “went with the incumbent.” The mechanism that actually cost you the deal never appears in the field where you’d look for it.
There’s a version of this that AI makes worse rather than better. A model retrieving from an unmaintained library produces stale answers faster, in more places, in more confident prose. Speed is an output of a governed system, not a substitute for one. Point a generator at a rotting library and you’ve industrialized the rot.
Different answers age at different speeds
Here’s the practical idea, and it’s the one most teams skip.
Most response libraries have one review cadence. An annual refresh. A cleanup before the big renewal cycle. A push when someone new inherits the folder. One interval, applied to everything.
That guarantees two failures at once. You spend real hours re-reviewing content that hadn’t moved, and you miss entirely the answers that went stale in week three. A single cadence isn’t a compromise between the fast and the slow content. It’s wrong for both.
Answers age by domain, and the domains aren’t close to each other:
And what actually moves each one: rare corporate events for boilerplate; renewals, churn and reference fatigue for commercial proof; the release cycle for product; reorgs and departures for people and process; and for infrastructure and security, change tickets, vendor swaps, reissued reports and incidents.
Read the fastest row and the slowest row against each other. Boilerplate is the content most teams govern well, because it’s short, it’s on the website, and someone in marketing owns the words. Infrastructure and security is the content that moves fastest, carries the most weight with the sharpest reader in the evaluation, and is most often governed on the same yearly clock as the mission statement.
Two rows deserve a closer look.
Certifications and attestations are the only answers that expire honestly. They carry a printed date. And they’re still sent stale constantly, because the date lives on the PDF and the answer that references it lives somewhere else. The expiry is real; the link between the expiry and the answer is not.
Roadmap language decays on a schedule you set yourself. “Planned for this year” is accurate the week it’s written and quietly false by the fourth quarter, without anyone touching the file. Any answer containing a relative time reference has an expiry date built into its own grammar.
What a review cadence actually looks like
Not a recurring calendar invite. Three parts, in order of how much work they do.
A verified stamp, not a modified stamp
Every answer carries who verified it and when — and “who” means a person who can actually confirm the fact, not the person who reformatted the table. That’s one field. It converts an invisible gap into a column you can sort by, which is the entire difference between a problem you have and a problem you can work.
A clock per domain, with the shortest clock winning
Tag each answer to a domain. Give the domain an interval. Sort by oldest verified date and review that, in small batches, continuously. What you’re avoiding is the library refresh project — the big one-time cleanup that gets funded once, feels great, and starts decaying the day it ships.
Event triggers, which do most of the real work
Intervals are the floor. Triggers are the mechanism. When a release ships. When a subprocessor changes. When an audit report is reissued. When a region is added. When someone leaves whose name is written into an escalation path. Every one of those is already a moment when somebody files something — the only new step is that the filing also flags the answers that depend on it.
The honest part: the interval is easy and the trigger is hard. Making a change ticket reach an answer library is part integration and part habit, and the habit is the harder half. But it’s the only piece that shortens the gap rather than just measuring it.
That’s what I mean by Commercial AI Governance, applied to one question. It governs the commercial answer surface — RFPs, security and vendor-risk questionnaires, sales content. Every answer, decision and approval has a named owner, a date, and one place it lives.
To be exact about the boundary: I govern the answer, not the model. No GxP, no computer-system validation — that’s a different discipline and a different vendor.
I’ve built and audited more than 5,000 responses and maintained a vetted library of over 2,000 questions and answers, for buyers in clinical research, health systems, insurance and financial services. Across a thousand-plus proposals, the pattern almost never involved a bad writer. It was a good answer that had quietly stopped being true, sent by someone with no way of knowing.
The half-life, not the perfection
You can’t stop facts from changing on Tuesdays. Change tickets are supposed to close. Vendors are supposed to get swapped. That part is the business working correctly.
What you can control is the distance. The goal was never a library that’s always right — that library doesn’t exist at any company. The goal is a library where wrong has a short half-life, and where the shortest clocks sit on the answers that move fastest.
Pick the answer your team sends most often. When was it last verified — not edited, verified — and by someone who could actually confirm it?
If you can’t answer that in under a minute, you’ve just found your gap.