SSL certificate is valid and auto-renews
Why it matters
An expired or self-signed SSL certificate triggers browser security warnings that block every user from accessing the site, destroying conversions and search engine trust simultaneously. CWE-295 and OWASP A02 both flag unvalidated certificates as a critical attack surface: a lapsed cert is trivially exploitable by any network-path attacker via downgrade or MITM. Most vibe-coded projects rely on hosting platforms for automatic provisioning, but custom server deployments or certbot misconfigurations can silently fail to renew, leaving the site offline on a Sunday at 3am.
Severity rationale
Critical because a lapsed certificate takes the entire site offline for all users and opens every in-flight session to network interception under CWE-295.
Remediation
Verify SSL validity and expiry before launch, then confirm automatic renewal is in place.
# Check certificate expiry
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates
For managed platforms (Vercel, Netlify, Fly.io, Railway, Render, Cloudflare), SSL is auto-provisioned and renewed — no action required beyond deploying with a configured domain. For self-managed servers, install Certbot with a daily renewal cron: certbot renew --quiet. For container deployments, use Caddy as a reverse proxy — it handles certificate lifecycle automatically.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Pre-Launch Checklist Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-295 — Improper Certificate Validation
- owasp:2021 · A02 — Cryptographic Failures
- nist:rev5 · SC-8 — Transmission Confidentiality and Integrity
- iso-27001:2022 · A.8.24 — Use of cryptography
Taxons
History
- 2026-04-18·v1.0.0·Initial import from pre-launch·automated