Katabarwa Labs
← Blog

Get one digest of every expiring Key Vault secret, key, and certificate

Azure security · August 29, 2026 · 5 min read

The way most teams find out a Key Vault secret expired is that something breaks: an app can no longer authenticate, a certificate stops validating, a pipeline fails at 2 a.m. Key Vault does have built-in expiry notifications, but they are wired per vault through Event Grid, and once you have more than a handful of vaults spread across teams and environments, nobody actually has one place that answers the question: what is expiring across all of our vaults, and what has already expired?

Why the built-in notifications do not scale

The result is a blind spot shaped like your vault sprawl: each vault might be individually wired up, or might not be, and no single view covers the whole subscription.

The DIY approach: enumerate every vault on a schedule

Instead of pushing per-vault events at handlers, flip the model: pull. A scheduled job can walk every vault in the subscription and build one report:

One detail worth knowing: certificates in Key Vault are backed by a secret, so certificate expiry surfaces through the backing secret's attributes; keys and secrets carry their expiry directly. And because the job discovers vaults by enumeration, a new vault created next week is covered automatically, with no per-vault wiring.

A ready-made option: Key Vault Digest

Our tool for this: Key Vault Digest on the Azure Marketplace. It runs as a managed application inside your own subscription, so nothing leaves your tenant.

Key Vault Digest is that pattern packaged. Every day at 08:00 UTC it enumerates every Key Vault in the subscription and posts one Teams digest (an Adaptive Card) covering expired objects, objects expiring within your thresholds (re-reported daily until renewed, so it escalates), and enabled objects with no expiry set at all. It reads only object metadata through the ARM management plane, so it can never read secret values or key material, and the only role it needs, granted post-deploy by a one-line script, is Key Vault Reader at subscription scope. There is no vendor backend: alerts go only to the Teams webhook you configure. Flat $29/mo.

Key facts

Related reading: set an Entra ID account to expire on a date.


Written by the team at Katabarwa Labs. We build small, single-purpose Azure tools that run entirely inside your own tenant. Questions: abaho@llmgraph.ai.