0/ 100

insecure-demo.local

Grade F · scanned in 1.3s

4 critical · 8 warnings · 0 passed · 3 info

https://insecure-demo.localSaved report · permalink

Outdated TLS protocol (TLSv1.0)

Critical

The server negotiates TLS 1.0 or 1.1, which have known weaknesses and are disabled by modern browsers.

How to fix: Disable TLS 1.0/1.1 and require TLS 1.2 or newer.

TLSv1.0

Learn more

Certificate not trusted

Critical

The certificate is self-signed (issuer == subject), so browsers will warn users the connection is untrusted.

How to fix: Install a certificate signed by a trusted CA (Let's Encrypt, etc.) and serve the full intermediate chain.
Learn more

Certificate has expired

Critical

The certificate expired on Fri, 26 Jun 2026 19:18:48 GMT. Browsers will block the site.

How to fix: Renew and reinstall the certificate immediately, then set up automated renewal.

valid_to: Fri, 26 Jun 2026 19:18:48 GMT

Possible AWS Access Key ID in page source

Critical

A string matching a known credential pattern was found in the public HTML. Page source is visible to everyone, so this is effectively a leaked secret.

How to fix: Remove the secret from client-side code immediately, rotate it, and keep it server-side only.
Learn more

No HSTS header

Warning

Strict-Transport-Security (HSTS) is missing. Without it, a user on a hostile network can be silently redirected to an insecure (HTTP) version of your site on their first request.

How to fix: Add `Strict-Transport-Security: max-age=31536000; includeSubDomains` once HTTPS is fully working.
Learn more

No Content-Security-Policy

Warning

CSP is the strongest defense against cross-site scripting (XSS) and data injection. Without it, the browser will run any script the page serves, including attacker-injected ones.

How to fix: Start permissive and tighten: `Content-Security-Policy: default-src 'self'` then add sources as needed.
Learn more

No X-Frame-Options

Warning

Without clickjacking protection, your site can be embedded invisibly by another site and trick users into clicking hidden actions.

How to fix: Send `X-Frame-Options: DENY` (or use CSP `frame-ancestors`).
Learn more

No X-Content-Type-Options: nosniff

Warning

Without `nosniff`, browsers may guess (sniff) a file's type and execute an upload as a script.

How to fix: Send `X-Content-Type-Options: nosniff`.
Learn more

No SPF record

Warning

Without an SPF (Sender Policy Framework) record, scammers can send email that appears to come from your domain.

How to fix: Publish a TXT record like `v=spf1 include:_spf.google.com -all` (replace with your mail provider).
Learn more

No DMARC record

Warning

DMARC tells receivers what to do with email that fails SPF/DKIM. Without it, spoofed mail is usually still delivered.

How to fix: Publish a TXT record at `_dmarc.yourdomain`: start with `v=DMARC1; p=none` to monitor, then move to `p=quarantine` or `p=reject`.
Learn more

Cookie missing Secure, HttpOnly, SameSite

Warning

A cookie was set without the Secure, HttpOnly, SameSite flags, which can expose it to theft (over HTTP) or cross-site delivery (CSRF).

How to fix: Add the Secure, HttpOnly, SameSite flags to this cookie.

session=abc123; Path=/

1 insecure resource(s) on an HTTPS page

Warning

The page loads images, scripts, or stylesheets over plain HTTP (mixed content). Browsers may block these or show a security warning.

How to fix: Change every asset and link URL to https://.
Learn more

No Referrer-Policy

Info

The full URL (including query strings) may be leaked to other sites when users follow links.

How to fix: Send `Referrer-Policy: strict-origin-when-cross-origin`.
Learn more

Server software is disclosed

Info

The `Server`/`X-Powered-By` header advertises your stack and version, which makes targeted attacks easier.

How to fix: Suppress these headers in your web server / framework config.

nginx/1.18.0 (Ubuntu)

No DKIM record at the default selector

Info

DKIM cryptographically signs outgoing mail. None was found at the common `default._domainkey` selector — a custom selector may still exist.

How to fix: If your mail provider supports DKIM, add the TXT record they give you.