Launch offer: the first 1,000 users get Settl free for a year*Claim your spot
settlbuilding in public

Check What the HTTPS Padlock Actually Proves

The padlock answers a narrow question: is this connection encrypted to the hostname in the certificate? It does not say the business is honest, the page is free of malicious code, or the person who registered the domain is who you hoped they were.

That is still an important promise. It is just a transport promise, so test it like one.

Inspect the real handshake

Start with the public hostname rather than a certificate file copied from a dashboard:

openssl s_client -connect app.example.com:443 \
  -servername app.example.com -showcerts </dev/null

Verify four things separately:

  1. The hostname appears in the certificate's Subject Alternative Names.
  2. The leaf and intermediate certificates build to a trusted root.
  3. Every required certificate is within its validity window.
  4. HTTP redirects finish on the intended HTTPS hostname.

The -servername flag matters because many servers host several domains on one IP. Without SNI, you can inspect the wrong certificate and spend an hour debugging evidence from another virtual host.

Keep transport and application trust separate

A phishing site can have a perfectly valid certificate. So can an app that leaks data after the TLS connection reaches it. Put the remaining checks in a different column:

The padlock is telling the truth. It is answering a different question.

Never fix TLS by disabling TLS

Flags such as -k, --insecure, or rejectUnauthorized: false are useful only as a labeled diagnostic to prove certificate verification is the failing layer. They are not production fixes. The repair is the correct hostname, chain, trust store, or renewal.

Add a renewal alert with enough lead time to investigate the full chain. Also test every hostname users actually visit, including www, API subdomains, redirects, and callback endpoints. One valid certificate on the apex does not cover an unlisted name.

What Claude can help with

Claude can turn handshake output into a checklist and separate certificate facts from application risks. It should not label a site safe based on a valid certificate. The workflow makes that boundary explicit and keeps the raw chain, dates, and redirect targets as evidence.

Run the starter locally

npm test
npm run validate
npm run sample

The safe dry-run returns a reviewable report shape. Docker Compose adds n8n for orchestration. No certificate, DNS record, or server configuration is changed by the starter.

Download the runnable pack

Get the next one in your inbox