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.

Where to go next

Not released yet. Attestkeep has not shipped a version. These pages describe the product as it is being built, and the install commands become real with the first release. Nothing here is a promise about a date.