Certificate Expiration Tracking
Zero expired certs in prod
Certificates expire silently until they don't. TLS cert on the customer-facing API, mTLS certs between services, code-signing cert for the mobile app, SSL cert for the vendor callback URL — every one has an expiry date, and every one becomes an outage the moment it passes. Someone manually maintains a spreadsheet; the spreadsheet drifts; the on-call engineer discovers the expired cert during the Sunday-night outage.
An hour-by-hour walkthrough.
Step by step.
- 01
Discover certificates from every source
Cert transparency (public), cloud cert managers, load balancer configs, ingress, service mesh, code-signing, client mTLS. Normalize to unified cert records with hostname + issuer + expiry.
Cert transparency · AWS ACM · GCP · Azure · nginx · Kubernetes · Istio - 02
Assign owner + renewal mechanism per cert
Owner from Context Graph (service → team). Renewal mechanism from deployment (cert-manager annotations, ACM auto-renew, manual with vendor). Certs without clear owner escalate to security ops.
Context Graph · CODEOWNERS · Cert-manager annotations - 03
Track renewal cadence + open tasks 60 days out
Auto-renew: verify automation is healthy (last renewal on schedule, DNS validation passing). Manual: open task with runbook. Code-signing: coordinate with mobile / desktop team on longer cadence.
Task queue · Runbook library - 04
Nudge + escalate on approach to expiry
60d owner task, 30d owner nudge, 14d manager cc, 7d security lead, 3d critical alert. Fresh escalation each threshold; no silent expiry.
Slack · Teams · PagerDuty · Escalation ladder - 05
Verify post-renewal + digest
Post-renewal: verify new cert is served on the hostname, expiry date updated in registry, old cert deprecated. Weekly digest with upcoming renewals + auto-renew health + at-risk items.
TLS probe · Cert registry · Slack digest
What you connect to make this run.
Cert transparency · Certificate Search
readPublic source of every TLS cert issued for the company's hostnames. Catches shadow certs — someone provisioning outside the standard process. Comprehensive discovery.
AWS ACM · GCP Certificate Manager · Azure Key Vault
read+writeCloud-managed certs. Auto-renew status, DNS validation health, deployment attachment. Write: trigger manual renewal for auto-renew failures.
cert-manager · Vault PKI · Step CA
read+writeInternal PKI + Kubernetes ingress cert-manager. Read renewal history + health. Write: force reissue for at-risk certs.
Apple Developer · Windows Authenticode · Android
read+writeCode-signing cert lifecycle — usually multi-week renewal with EV validation. Coordinate with mobile / desktop teams; cert expiry breaks all releases.
Before and after, honestly.
Playbooks that pair with this one.
Secret & API Key Rotation
Same rotation-lifecycle pattern for secrets + API keys.
SOC2 / Vanta Evidence Collection
Cert expiry management is a common SOC 2 control; evidence flows from this scan.
Incident Response Orchestration
Cert expiry incidents route through the incident-response pipeline.
Answers about this playbook.
What about internal-only certs (not internet-facing)?
Internal PKI (Vault, Step, ADCS) scanned for internal certs. Cert transparency doesn't cover them; direct scan of the internal CAs picks them up. Same lifecycle management.
How does it handle pinned certs (mobile apps, embedded systems)?
Pinned cert rotation requires coordinated app update. Sig detects pinning in mobile app releases + adds a longer coordination timeline (must ship app update before cert rotation). Special handling.
What if we use short-lived certs (Let's Encrypt 90 days)?
Short-lived certs must have working automation. Sig monitors renewal health continuously; any missed renewal alerts within hours, not days. Automation health more important than expiry warning for these.
How does it coordinate with the cert authority for revocation?
Revocation happens outside this playbook (compromised key, no-longer-needed). Sig tracks revoked certs in the registry so they don't trigger renewal reminders + updates any deployments still serving them.
What about wildcard certs vs. per-hostname certs?
Both tracked. Wildcards have larger blast radius on expiry (many hostnames affected); Sig applies higher priority to wildcard renewals and clearer coordination with DNS + WAF teams.
See it run on your data.
Free plan, no credit card. Connect the systems this playbook needs and run it against a past event first.