Stop review churn
Overdue shims fail CI before merge — not six months later in production.
Temporary code lifecycle
Add an @expiry comment above code you plan to delete — tied to a ticket, date, flag, or env var. Expiry scans your repo in CI and, with Pro, opens a PR when it's time to remove it.
// @expiry issue:ENG-442:closed | Remove legacy auth shim
export function legacyAuthShim() {
return verifyLegacyToken();
}
banner.py:2date passedcheckout.ts:1env var goneauth.ts:1issue DEMO-42Temporary code is expensive when nobody owns deletion.
Overdue shims fail CI before merge — not six months later in production.
Health scores and SARIF export give security teams an audit trail.
Pro opens draft PRs when conditions fire — engineers review, not hunt.
Same @expiry comment in Python, Go, Rust, Java, C#, Ruby, SQL, Vue, and TypeScript — one scan across the whole repo.
Pricing
Find temporary code for free. Pay when you want draft PRs and alerts.
$0
Most popular
$49/mo
$199/mo
Expiry replaces vague promises with verifiable conditions your pipeline checks every run.
TODO: remove later
@expiry issue:ENG-442:closed
From incident hotfixes to multi-year migrations.
Nothing is as permanent as a temporary fix.