For developers • Free forever
SSL Monitoring for Developers
Side projects, client sites, staging boxes, that one weekend prototype that quietly went into production — get a Telegram ping before any of their certificates expire. Free, unlimited domains, no dashboard to babysit.
No signup • No credit card • Works with any HTTPS endpoint
The developer-shaped pain
You don't have one production site — you have a dozen. A portfolio. Three client sites. A staging subdomain for each. A toy project on a $5 droplet. A Dokku box. A Hetzner VPS running half the things you forgot you deployed.
Each of them auto-renews via Let's Encrypt or Caddy or Cloudflare — until one of them doesn't. The renewal cron silently breaks after a kernel upgrade. A DNS record gets repointed and the HTTP-01 challenge stops working. The Cloudflare proxy gets toggled off. You only find out when a client emails you a screenshot of NET::ERR_CERT_DATE_INVALID.
Enterprise SSL monitoring tools assume you have a budget and a NOC. You don't. You need a cheap, lazy, reliable safety net that pings your phone before the cert dies.
Workflows developers actually use
Three patterns that take 30 seconds each. Pick one or all three.
1. The portfolio sweep
Drop every domain you own into Telegram in one go. Two minutes, then it's done forever.
2. The CI sanity check
Verify expiry locally or in CI with one openssl line. Fails the build if the cert is too close to expiry.
3. The independent watcher
Your renewal automation lives on the server. Certimon runs externally and pings you when reality disagrees with your Ansible playbook.
Plays well with everything you already use
Certimon checks the live HTTPS certificate on port 443. It is CA- and platform-agnostic — it works whether the cert was issued by Let's Encrypt, ZeroSSL, Cloudflare, Buypass or any other CA.
Self-hosted
Caddy, Nginx + certbot, Traefik, HAProxy + acme.sh, Apache, Dokku, CapRover, K3s + cert-manager. Certimon doesn't care which one renewed it.
PaaS / hosting
Vercel, Netlify, Render, Fly.io, Railway, Cloudflare Pages, GitHub Pages, Heroku, App Platform. Same Telegram alert, same /remind command.
Edge / CDN
Cloudflare Universal SSL, Cloudflare Advanced Certificate Manager, AWS CloudFront with ACM, Fastly. Certimon sees what the browser sees.
Local dev / preview URLs
Public preview deploys (Vercel previews, Netlify deploys, Cloudflare Pages branches) — anything reachable on the public internet over HTTPS.
Why a separate watcher?
Renewal and monitoring are different jobs. Renewal lives next to your server (certbot, Caddy, cert-manager). Monitoring is the independent layer that tells you the renewal didn't happen. If both live on the same box, a server outage takes them out together.
Certimon runs externally and checks what the wider internet actually sees on port 443. If your auto-renewal silently broke six weeks ago, Certimon notices when the cert hits the 30-day window — long before the browser warning screen.
Pair Certimon with whatever you already use to renew. They complement each other and one cannot replace the other.
FAQ
Is Certimon really free for unlimited domains?
Yes — no per-domain pricing, no plan tiers, no signup. Add as many client sites and side projects as you want.
Will it work for *.dev or other newer TLDs?
Yes. Certimon checks whatever certificate the public DNS name serves on port 443. TLD doesn't matter.
Can I monitor a non-standard HTTPS port?
Send /remind example.com:8443 30 to @CertimonBot — port suffix is supported.
Does Certimon renew certificates for me?
No — it's an independent monitor, not an ACME client. Keep your existing renewal automation (certbot, Caddy, cert-manager) and use Certimon as the alerting layer.
What about internal / private domains?
Certimon needs to reach the endpoint over the public internet on port 443. For internal-only services, use a Prometheus exporter on the inside instead — see the Prometheus SSL guide.
30 seconds. Then never think about a cert expiry again.
Open @CertimonBot, send /remind yourdomain.com 30, get on with shipping.