Attestkeep docs

Attestkeep

Container image security for Kubernetes: scan, verify signatures, decide at admission, and keep the evidence that it happened.

Attestkeep runs entirely inside your cluster. It scans the images your workloads use, verifies their signatures and attestations, and answers the API server at admission time — allow or deny, according to a policy you wrote. Every decision is recorded, and those records are what an auditor is actually asking for.

What it is made of

PartWhat it does
Admission webhookAnswers the API server on every pod creation. Decides from cache — never scans in the admission path.
ScannerPulls and scans image digests in the background, on a schedule and on first sight.
ConsolePolicies, findings, exceptions, evidence packages.
PostgreSQLFindings, policy, decisions and evidence. Installed alongside, or bring your own.

Admission is cache-first

Scanning takes minutes; the API server waits seconds. So the two are never in the same path. The scanner fills a cache in the background and the webhook reads it, which is why a slow registry cannot slow down a deployment.

The consequence worth understanding before you install: a digest nobody has seen before has no scan result yet. What happens to it is a policy decision you make, and the default is to admit it and scan it immediately rather than block a deployment on a cold cache.

Nothing is fetched from outside your installation

Trivy and Cosign are built into the image rather than downloaded at install time. The console loads no fonts, scripts or analytics from anywhere. The vulnerability database comes from whichever registry you point it at — by default a public one, and in an air-gapped cluster your own mirror.

The single exception is licensing, and it is deliberately narrow: one endpoint, once a day, carrying three values. See Licensing for exactly what leaves the cluster and what happens when it cannot.

You can build the gate for free — the question is the record

Be clear-eyed about this, because your platform team will ask: admission policy engines and in-cluster scanners exist as excellent open source, and if what you need is "block :latest and fail critical CVEs", you can assemble that without us. What that assembly does not give you is the part auditors and incident reviews actually consume:

If none of that is on your requirements list, use the free tools — genuinely. The moment someone asks you to prove what your gate did and when, this is the product.

Where to go next

Current version: 1.1.0. Every published version, what it changed and how to verify what you pulled is on the Releases page.