Stop getting surprised by expired certificates.
certy monitors your SSL certificates and domains, and warns you in time.
See how it works →Set it up once. Stop worrying.
Three steps to never tracking a renewal date in a spreadsheet again.
01Add what to watch
Drop in the hosts and domains you care about — up to ten. Each list is private to your account.
02See it at a glance
A colour-coded dashboard shows days-left for every target: green when healthy, amber as it nears, red when it's urgent.
03Get warned in time
A daily check runs on its own and emails you at 30, 14, 7 and 1 days out — once each, never nagging.
Real certificate checks
A direct TLS handshake reads each host's certificate and its true expiry — the same thing a browser sees. Nothing to install on your side; we check every host from the outside.
Domain expiry too
A raw WHOIS lookup tracks when each domain registration lapses, so a missed renewal can't quietly drop your name from under you.
Tiered alerts, no spam
Warnings fire at 30, 14, 7 and 1 days out — each sent exactly once per expiry. Renew, and the countdown quietly resets.
Check on demand
Don't want to wait for the nightly run? Hit Check now on any target and watch the status refresh live.
It's just a handshake and a lookup.
No magic, no black box — the same low-level checks you'd run by hand, watched for you around the clock.
Built from scratch — no framework.
A deliberate exercise in doing more with less: ~5,000 lines of plain PHP 8, zero Composer dependencies, deployed and running in production.
Hand-rolled foundations
A tiny regex router, a thin PDO wrapper, and global helpers stand in for a framework. SQL lives in the controllers — no ORM, no magic, every query visible.
Real protocol work
Certificates are read over a raw TLS socket and parsed with OpenSSL; domains over a raw WHOIS query on port 43. With strict mode, the chain and hostname are verified too.
Secure multi-tenancy
Every record is scoped to its owner (404 on a miss), every POST is CSRF-checked, passwords are argon2id, and output is escaped by default.
Production ops
A Linux VPS behind Caddy (automatic HTTPS), a systemd timer running the scans, nightly database backups, and push-to-main auto-deploy via GitHub Actions.
See it working in one click.
Jump into a live, pre-loaded demo — or create your own account to watch your hosts.
Create an account