Open source · Apache-2.0 · runs locally and in CI
191 shutdown dates.
Which ones are in your code?
Model retirements have calendar dates, and the dates do not move. Ebb reads your repository against a public registry of 191 dated retirements across 5 providers and tells you which ones you are carrying — with the file, the line, and the day it stops working.
Source stays local Every result links to evidence Unknown is never reported as clear
Real repositories. Reproducible results.
The output above is not a mock-up. Ebb was run against
langchain-ai/langchain pinned at commit
e92c8a0, and every result below links to the exact
source line at that exact revision. Re-run the same command and you get the same
answers.
Those 179 are the references carrying a real published deadline. The scan returned 1,542 results in total across all five checks — the large majority unknown, meaning no verified registry entry exists for them. Unknown is reported as unknown, never as clear, and it is not counted here as though it were a problem we had found.
Every finding is the same shape
Expected, observed, and the evidence that proves the difference. One format across every check, so a deadline and a missing alert read the same way. These rows are real — they come from pointing all five checks at public repositories and publishing everything that came back.
| Check | Subject | Expected | Observed | Evidence | State | Due |
|---|---|---|---|---|---|---|
| ebb | gpt-4 | supported | retires 2026-10-23 · invocation reference, use gpt-5.6-sol | eval_chain.py:169:43 | ≠drift | 37 days |
| charter | docs-langchain | declared tools enumerated | http server, not enumerated | .mcp.json:3 | ?unknown | — |
| lading | aiohappyeyeballs | licence resolved | PSF-2.0 — attribution | uv.lock | ✓clear | — |
| telltale | openapi.yaml | a contract to check | no spec at repo root | — | ?unknown | — |
unknown is a real state, not an absence of one. When a check cannot see something, it says so — it never reports clear. Each report above links to every result from that scan, including the checks that found nothing and said why.
How it works
Three steps, in order, because each depends on the last.
Scan locally
Source, configuration, Terraform, Dockerfiles, notebooks and environment templates are read locally. Nothing is executed or uploaded.
Resolve aliases against a reviewed registry
Dated snapshots, regional prefixes and version aliases resolve to canonical model identifiers with cited provider sources.
Route every deadline to an owner
CODEOWNERS is used first, with git blame as fallback, and results are ranked by time remaining and blast radius.
A public registry you can challenge.
Every date carries the page it came from and the day a person last checked it. Nothing is scraped straight into your results — the refresher opens a pull request, and a person verifies it before it can change an answer. A model we cannot verify is reported as unknown, never as safe. The published registry currently holds 191 dated entries across 5 provider pages (anthropic, bedrock, cohere, google, openai), counted on 2026-09-17.
What these never do
Each check is pointed at something sensitive. The constraints are the product.
Four scanners. One finding shape.
Ebb, Telltale, Charter, and Lading are public Apache-2.0 packages with dedicated product pages and CI Actions. Undertow remains a scheduled monitoring product, not an installable CLI.
Pricing
The four public scanners run free on your machine, forever, with no account. The hosted hub adds shared history and policy across a team: free for three repositories, and €39 a month when you need more.
Open-source scanners
Free
Apache-2.0 · unlimited repositories
- Unlimited repositories
- Terminal, Markdown, JSON and SARIF output
- GitHub Action and pull-request annotations
- Runs locally without an account
Foretop Hub Free
Free
Sign in with GitHub — no card, no sales call, no waitlist
Shared history, policy, ownership and evidence when one repository becomes ten.
- 3 repositories, then 10 on Team
- 30 days of finding detail, then 365 days on Team
- 20 scans per repository each day, then 200 on Team
- Shared policies and baselines
- Ownership, escalation and expiring suppressions
- Dated evidence exports
First sign-in creates your organization and you can mint a CI token yourself. Need self-hosting, or more than Team covers? Tell us about your setup.
Foretop Hub Team
€39 /month incl. tax
For teams tracking drift across up to 10 repositories
- 10 repositories
- 365 days of finding detail
- 200 scans per repository each day
- Shared ownership and review
- Repository history and comparisons
- Policies and expiring suppressions
- Dated evidence exports
Prices include tax. Paddle is our merchant of record and calculates, collects and remits the applicable VAT or sales tax out of the price shown, so the amount you see is the amount you are charged. Cancel from the billing portal at any time; cancellation takes effect at the end of the paid period.