{"engine":"web","target":"example.com","checked_at":"2026-10-29T19:49:20+00:00","cached":false,"duration_ms":3532,"error":null,"score":75,"counts":{"pass":6,"caution":2,"fail":1,"note":3,"skipped":0},"data":{"host":"example.com","ips":["104.20.23.154","172.66.147.243","2606:4700:10:0:0:0:6814:179a","2606:4700:10:0:0:0:ac42:93f3"],"http":{"start":"http:\/\/example.com\/","hops":[{"url":"http:\/\/example.com\/","ip":"104.20.23.154","status":200,"location":null,"ms":21}],"final":{"url":"http:\/\/example.com\/","status":200,"ip":"104.20.23.154","http_version":"HTTP\/1.1","headers":{"date":"Thu, 29 Oct 2026 19:49:20 GMT","content-type":"text\/html; charset=utf-8","transfer-encoding":"chunked","connection":"keep-alive","server":"cloudflare","last-modified":"Sat, 24 Oct 2026 11:34:40 GMT","allow":"GET, HEAD","cf-cache-status":"HIT","age":"7","content-encoding":"br","cf-ray":"a524b3f58d07a580-LHR","alt-svc":"h3=\":443\"; ma=86400"},"body_bytes":577,"timings":{"dns_ms":0,"connect_ms":6,"tls_ms":0,"ttfb_ms":21,"total_ms":21},"title":"Example Domain"},"error":null,"loop":false},"https":{"start":"https:\/\/example.com\/","hops":[{"url":"https:\/\/example.com\/","ip":"104.20.23.154","status":200,"location":null,"ms":54}],"final":{"url":"https:\/\/example.com\/","status":200,"ip":"104.20.23.154","http_version":"HTTP\/2","headers":{"date":"Thu, 29 Oct 2026 19:49:20 GMT","content-type":"text\/html; charset=utf-8","server":"cloudflare","last-modified":"Sat, 24 Oct 2026 11:34:40 GMT","allow":"GET, HEAD","age":"4","cf-cache-status":"HIT","content-encoding":"br","cf-ray":"a524b3f5dec52059-LHR","alt-svc":"h3=\":443\"; ma=86400"},"body_bytes":577,"timings":{"dns_ms":0,"connect_ms":6,"tls_ms":0,"ttfb_ms":54,"total_ms":54},"title":"Example Domain"},"error":null,"loop":false},"tls":{"verified":true,"verify_error":null,"cert":{"subject":"example.com","issuer":"SSL Corporation Cloudflare TLS Issuing ECC CA 3","not_before":"2026-09-26T22:49:11+00:00","not_after":"2026-12-25T22:56:35+00:00","days_left":57,"sans":["example.com","*.example.com"],"matches_host":true,"key_type":"ECDSA","key_bits":256,"signature_algorithm":"ecdsa-with-SHA256","serial":"01EEE6AABB521D5E14FC315FD9985690","self_signed":false},"chain":[{"subject":"example.com","issuer":"Cloudflare TLS Issuing ECC CA 3","not_after":"2026-12-25T22:56:35+00:00"},{"subject":"Cloudflare TLS Issuing ECC CA 3","issuer":"SSL.com TLS Transit ECC CA R2","not_after":"2035-05-27T19:49:44+00:00"},{"subject":"SSL.com TLS Transit ECC CA R2","issuer":"SSL.com TLS ECC Root CA 2022","not_after":"2037-10-17T17:02:22+00:00"},{"subject":"SSL.com TLS ECC Root CA 2022","issuer":"AAA Certificate Services","not_after":"2028-12-31T23:59:59+00:00"}],"negotiated":{"protocol":"TLSv1.3","cipher":"TLS_AES_256_GCM_SHA384","bits":256},"protocols":{"TLSv1":false,"TLSv1.1":false,"TLSv1.2":true,"TLSv1.3":true},"error":null},"headers":{"strict-transport-security":{"label":"HSTS","why":"Tells browsers to use HTTPS only.","value":null},"content-security-policy":{"label":"Content-Security-Policy","why":"Limits where scripts and content may load from.","value":null},"x-frame-options":{"label":"X-Frame-Options","why":"Blocks clickjacking by refusing to be framed.","value":null},"x-content-type-options":{"label":"X-Content-Type-Options","why":"Stops MIME-type sniffing.","value":null},"referrer-policy":{"label":"Referrer-Policy","why":"Controls what URL is leaked to other sites.","value":null},"permissions-policy":{"label":"Permissions-Policy","why":"Limits browser features such as camera or geolocation.","value":null}},"probe":{"region":"lon1","ping":{"target":"104.20.23.154","resolved_ip":"104.20.23.154","elapsed_ms":623,"sent":4,"received":4,"loss_pct":0,"rtt":{"min":5.379,"avg":5.426,"max":5.524,"mdev":0.058},"replies":[{"seq":1,"ttl":58,"ms":5.38},{"seq":2,"ttl":58,"ms":5.52},{"seq":3,"ttl":58,"ms":5.38},{"seq":4,"ttl":58,"ms":5.42}],"error":null},"trace":{"target":"104.20.23.154","resolved_ip":"104.20.23.154","elapsed_ms":3004,"hops":[{"hop":1,"ip":"185.119.110.1","loss_pct":0,"sent":1,"rtts_ms":{"best":1.079,"avg":1.079,"worst":1.079,"last":1.079},"ptr":null},{"hop":2,"ip":"185.27.244.17","loss_pct":0,"sent":1,"rtts_ms":{"best":4.863,"avg":4.863,"worst":4.863,"last":4.863},"ptr":"xe-0-1-5.juniper2.cwcs.net"},{"hop":3,"ip":"185.27.244.24","loss_pct":0,"sent":1,"rtts_ms":{"best":4.996,"avg":4.996,"worst":4.996,"last":4.996},"ptr":"xe-0-1-0.juniper1.thw.cwcs.net"},{"hop":4,"ip":"195.66.225.179","loss_pct":0,"sent":1,"rtts_ms":{"best":26.703,"avg":26.703,"worst":26.703,"last":26.703},"ptr":"linx-lon1.as13335.net"},{"hop":5,"ip":null,"loss_pct":100,"sent":1,"rtts_ms":{"best":0,"avg":0,"worst":0,"last":0},"ptr":null},{"hop":6,"ip":"141.101.71.125","loss_pct":0,"sent":1,"rtts_ms":{"best":5.86,"avg":5.86,"worst":5.86,"last":5.86},"ptr":null},{"hop":7,"ip":"104.20.23.154","loss_pct":0,"sent":1,"rtts_ms":{"best":5.486,"avg":5.486,"worst":5.486,"last":5.486},"ptr":null}],"reached":true,"error":null},"ports":{"target":"104.20.23.154","resolved_ip":"104.20.23.154","ports":{"80":{"open":true,"connect_ms":6},"443":{"open":true,"connect_ms":6}}}},"hosting":{"ip":"104.20.23.154","asn":13335,"asn_name":"CLOUDFLARENET - Cloudflare, Inc., US","prefix":"104.20.16.0\/20","ptr":null,"provider":"Cloudflare"},"headers_grade":{"score":0,"grade":"F","checks":[{"key":"hsts","label":"Strict-Transport-Security","ok":false,"points":0,"max":25,"why":"Missing: browsers keep trying plain HTTP."},{"key":"csp","label":"Content-Security-Policy","ok":false,"points":0,"max":25,"why":"Missing: no defence in depth against injected scripts."},{"key":"nosniff","label":"X-Content-Type-Options","ok":false,"points":0,"max":10,"why":"nosniff stops MIME-type guessing."},{"key":"frame","label":"X-Frame-Options \/ frame-ancestors","ok":false,"points":0,"max":15,"why":"Missing: pages can be framed for click-jacking."},{"key":"referrer","label":"Referrer-Policy","ok":false,"points":0,"max":10,"why":"Missing: full URLs may leak to other sites."},{"key":"permissions","label":"Permissions-Policy","ok":false,"points":0,"max":10,"why":"Switches off browser features the site does not use."},{"key":"coop","label":"Cross-Origin-Opener-Policy","ok":false,"points":0,"max":5,"why":"Isolates the window from cross-origin openers."}],"penalties":[]},"tls_score":{"score":95,"grade":"A","checks":[{"key":"valid","label":"Certificate within validity","ok":true,"points":25,"max":25,"why":"Valid for 57 more days."},{"key":"trusted","label":"Chain verifies to a trusted root","ok":true,"points":20,"max":20,"why":"Full chain sent and trusted."},{"key":"name","label":"Certificate matches the host name","ok":true,"points":10,"max":10,"why":"Host name is on the certificate."},{"key":"key","label":"Key strength","ok":true,"points":10,"max":10,"why":"ECDSA 256-bit."},{"key":"sig","label":"Signature algorithm","ok":true,"points":5,"max":5,"why":"ecdsa-with-sha256"},{"key":"legacy","label":"Legacy protocols refused","ok":true,"points":15,"max":15,"why":"TLS 1.0\/1.1 refused."},{"key":"tls13","label":"TLS 1.3 offered","ok":true,"points":10,"max":10,"why":"Modern clients get TLS 1.3."},{"key":"hsts","label":"HSTS sent","ok":false,"points":0,"max":5,"why":"Pins the browser to HTTPS after the first visit."}]}},"findings":[{"level":"pass","code":"WEB-HTTPS-OK","title":"Site answers over HTTPS","detail":"HTTP 200 in 54 ms","facet":"web"},{"level":"caution","code":"WEB-HTTP-NO-REDIRECT","title":"Plain HTTP serves content instead of redirecting to HTTPS","fix":"Redirect http:\/\/ to https:\/\/ with a 301.","facet":"web"},{"level":"fail","code":"SEC-HEADERS-GRADE","title":"Security headers grade F","detail":"0 \/ 100: almost no browser protections are declared.","fix":"Start with Strict-Transport-Security and X-Content-Type-Options, then add a Content-Security-Policy in report-only mode.","facet":"web"},{"level":"caution","code":"HSTS-MISSING","title":"No HTTP Strict Transport Security header","detail":"Browsers may still try plain HTTP first on each visit.","fix":"Send \"Strict-Transport-Security: max-age=31536000; includeSubDomains\".","facet":"web"},{"level":"note","code":"CSP-MISSING","title":"No Content-Security-Policy","facet":"web"},{"level":"note","code":"NOSNIFF-MISSING","title":"No X-Content-Type-Options header","facet":"web"},{"level":"note","code":"XFO-MISSING","title":"No clickjacking protection (X-Frame-Options or frame-ancestors)","facet":"web"},{"level":"pass","code":"TLS-SCORE","title":"TLS score 95 (A)","detail":"On our published rubric: validity, trust, key, protocols, HSTS.","facet":"web"},{"level":"pass","code":"TLS-VALIDITY-OK","title":"Certificate valid for 57 more days","detail":"2026-12-25T22:56:35+00:00","facet":"web"},{"level":"pass","code":"TLS-TRUSTED","title":"Certificate chain verifies","detail":"SSL Corporation Cloudflare TLS Issuing ECC CA 3","facet":"web"},{"level":"pass","code":"TLS-MODERN","title":"TLS 1.3 supported; legacy protocols refused","detail":"TLSv1.3","facet":"web"},{"level":"pass","code":"PING-OK","title":"Responds to ping from LON1","detail":"avg 5.426 ms","facet":"web"}],"raw":[]}