{
    "ok": true,
    "domain": "haveibeenpwned.com",
    "generated_at": "2026-08-08T22:51:01-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 92,
        "label": "Excellent",
        "categories": {
            "dns": 100,
            "mail": 90,
            "security": 88,
            "network": 70,
            "availability": 100
        },
        "category_weights": {
            "dns": 25,
            "mail": 20,
            "security": 25,
            "network": 10,
            "availability": 20
        },
        "items": [
            {
                "category": "dns",
                "title": "IPv4 (A)",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "2 IPv4 address(es) detected."
            },
            {
                "category": "dns",
                "title": "IPv6 (AAAA)",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "2 IPv6 address(es) detected."
            },
            {
                "category": "dns",
                "title": "Name server redundancy",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "2 NS record(s); 2 or more required."
            },
            {
                "category": "dns",
                "title": "SOA record",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "Authoritative zone record."
            },
            {
                "category": "dns",
                "title": "DNSSEC chain",
                "max_points": 15,
                "earned_points": 15,
                "lost_points": 0,
                "detail": "DS and DNSKEY detected."
            },
            {
                "category": "dns",
                "title": "CAA policy",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0,
                "detail": "Certificate authority restriction."
            },
            {
                "category": "dns",
                "title": "DNS propagation",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "Agreement between public resolvers."
            },
            {
                "category": "mail",
                "title": "MX records",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "2 MX record(s)."
            },
            {
                "category": "mail",
                "title": "SPF",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "SPF policy published."
            },
            {
                "category": "mail",
                "title": "DMARC",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "DMARC policy published."
            },
            {
                "category": "mail",
                "title": "DKIM",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "A DKIM selector was verified."
            },
            {
                "category": "mail",
                "title": "MTA-STS",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "detail": "Mail transport policy."
            },
            {
                "category": "mail",
                "title": "TLS-RPT",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "detail": "TLS reporting policy."
            },
            {
                "category": "security",
                "title": "Valid TLS certificate",
                "max_points": 55,
                "earned_points": 55,
                "lost_points": 0,
                "detail": "89 day(s) remaining."
            },
            {
                "category": "security",
                "title": "Certificate lifetime",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "Full points require at least 30 days remaining."
            },
            {
                "category": "security",
                "title": "HTTP security headers",
                "max_points": 35,
                "earned_points": 23,
                "lost_points": 12,
                "detail": "6 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 0,
                "lost_points": 30,
                "detail": "PTR not detected."
            },
            {
                "category": "network",
                "title": "IPv4 diversity",
                "max_points": 35,
                "earned_points": 35,
                "lost_points": 0,
                "detail": "Two or more IPv4 addresses receive full points."
            },
            {
                "category": "network",
                "title": "IPv6 connectivity",
                "max_points": 35,
                "earned_points": 35,
                "lost_points": 0,
                "detail": "AAAA availability."
            },
            {
                "category": "availability",
                "title": "DNS resolution",
                "max_points": 40,
                "earned_points": 40,
                "lost_points": 0,
                "detail": "At least one address family must resolve."
            },
            {
                "category": "availability",
                "title": "HTTP response",
                "max_points": 40,
                "earned_points": 40,
                "lost_points": 0,
                "detail": "HTTP/2 200 "
            },
            {
                "category": "availability",
                "title": "HTTPS final URL",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "Final URL uses HTTPS."
            }
        ],
        "methodology": "Each category is normalized to 100. The total is the weighted sum: DNS 25%, Email 20%, Security 25%, Network 10%, Availability 20%.",
        "diagnostics": [
            {
                "level": "ok",
                "title": "IPv4 (A)",
                "detail": "2 IPv4 address(es) detected.",
                "category": "dns",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "IPv6 (AAAA)",
                "detail": "2 IPv6 address(es) detected.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "Name server redundancy",
                "detail": "2 NS record(s); 2 or more required.",
                "category": "dns",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "SOA record",
                "detail": "Authoritative zone record.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DNSSEC chain",
                "detail": "DS and DNSKEY detected.",
                "category": "dns",
                "max_points": 15,
                "earned_points": 15,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "CAA policy",
                "detail": "Certificate authority restriction.",
                "category": "dns",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DNS propagation",
                "detail": "Agreement between public resolvers.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "MX records",
                "detail": "2 MX record(s).",
                "category": "mail",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "SPF",
                "detail": "SPF policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DMARC",
                "detail": "DMARC policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DKIM",
                "detail": "A DKIM selector was verified.",
                "category": "mail",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "error",
                "title": "MTA-STS",
                "detail": "Mail transport policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "error",
                "title": "TLS-RPT",
                "detail": "TLS reporting policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "ok",
                "title": "Valid TLS certificate",
                "detail": "89 day(s) remaining.",
                "category": "security",
                "max_points": 55,
                "earned_points": 55,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "Certificate lifetime",
                "detail": "Full points require at least 30 days remaining.",
                "category": "security",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "warning",
                "title": "HTTP security headers",
                "detail": "6 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 23,
                "lost_points": 12
            },
            {
                "level": "error",
                "title": "PTR reverse DNS",
                "detail": "PTR not detected.",
                "category": "network",
                "max_points": 30,
                "earned_points": 0,
                "lost_points": 30
            },
            {
                "level": "ok",
                "title": "IPv4 diversity",
                "detail": "Two or more IPv4 addresses receive full points.",
                "category": "network",
                "max_points": 35,
                "earned_points": 35,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "IPv6 connectivity",
                "detail": "AAAA availability.",
                "category": "network",
                "max_points": 35,
                "earned_points": 35,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DNS resolution",
                "detail": "At least one address family must resolve.",
                "category": "availability",
                "max_points": 40,
                "earned_points": 40,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "HTTP response",
                "detail": "HTTP/2 200 ",
                "category": "availability",
                "max_points": 40,
                "earned_points": 40,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "HTTPS final URL",
                "detail": "Final URL uses HTTPS.",
                "category": "availability",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            }
        ]
    },
    "dns": {
        "records": {
            "A": [
                "104.16.124.33",
                "104.16.123.33"
            ],
            "AAAA": [
                "2606:4700::6810:7b21",
                "2606:4700::6810:7c21"
            ],
            "CNAME": [],
            "MX": [
                "10 mxb.mailgun.org.",
                "10 mxa.mailgun.org."
            ],
            "TXT": [
                "\"keybase-site-verification=ImeAFts_XWPcJ4XKyCC-nGZekutZ-ks1WpqvlL6EcOM\"",
                "\"ALIAS for haveibeenpwned.azurewebsites.net\"",
                "\"v=spf1 include:mailgun.org include:sendgrid.net include:mail.zendesk.com -all\"",
                "\"google-site-verification=aby67ZMcCdhQErk_d7cWepRI0wyUU5fknvGAqX8goS4\""
            ],
            "NS": [
                "rob.ns.cloudflare.com.",
                "leah.ns.cloudflare.com."
            ],
            "SOA": [
                "leah.ns.cloudflare.com. dns.cloudflare.com. 2411693312 10000 2400 604800 1800"
            ],
            "CAA": [
                "0 iodef \"mailto:domains@troyhunt.com\"",
                "0 issue \"pki.goog; cansignhttpexchanges=yes\"",
                "0 issue \"digicert.com; cansignhttpexchanges=yes\"",
                "0 issue \"ssl.com\"",
                "0 issue \"letsencrypt.org\"",
                "0 issuewild \"ssl.com\"",
                "0 issuewild \"letsencrypt.org\"",
                "0 issue \";\"",
                "0 issue \"comodoca.com\"",
                "0 issuewild \"digicert.com; cansignhttpexchanges=yes\"",
                "0 issuewild \"comodoca.com\"",
                "0 issuewild \"pki.goog; cansignhttpexchanges=yes\""
            ],
            "DS": [
                "2371 13 2 B35B3DA0D2CC34373548FCF22E88FE447CE564750958996F05738247 BF91D7AA"
            ],
            "DNSKEY": [
                "257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==",
                "256 3 13 oJMRESz5E4gYzS/q6XDrvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8 KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA=="
            ],
            "RRSIG": [],
            "NSEC": [
                "\\000.haveibeenpwned.com. A NS SOA PTR HINFO MX TXT AAAA LOC SRV NAPTR CERT SSHFP RRSIG NSEC DNSKEY TLSA SMIMEA HIP CDS CDNSKEY OPENPGPKEY SVCB HTTPS URI CAA"
            ],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "104.16.124.33",
            "104.16.123.33"
        ],
        "ipv6": [
            "2606:4700::6810:7b21",
            "2606:4700::6810:7c21"
        ]
    },
    "mail": {
        "spf": "v=spf1 include:mailgun.org include:sendgrid.net include:mail.zendesk.com -all",
        "dmarc": "v=DMARC1; p=reject; rua=mailto:heimdall-t@dmarc.report-uri.com; ruf=mailto:heimdall-t@dmarc.report-uri.com; aspf=r; adkim=r",
        "dkim_selector": "mx",
        "dkim_host": "mx._domainkey.haveibeenpwned.com",
        "dkim": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXCBnwUTR07eU+GJVKXUgVz5/AA5t1BSxqiV+F7FOaOuPsahKIYVKWWQ6z3dckdy3usNzZDKMzG50k1VTsXlQdlRPruW5RVCBs4pY4VH+Bg0aBAtnI/qVIwNo5WLsZqrXnuVSxdHiyYYiitMPyMKraLMcBeoxf3egHX/Cm5DXEnQIDAQAB",
        "spf_analysis": {
            "valid": true,
            "lookups": 3,
            "final": "-all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "v=BIMI1;l=https://haveibeenpwned.com/Content/Images/HIBPThumbnailLogo.svg",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "104.16.123.33",
                        "104.16.124.33"
                    ],
                    "time_ms": 52.13
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "104.16.123.33",
                        "104.16.124.33"
                    ],
                    "time_ms": 47.74
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "104.16.123.33",
                        "104.16.124.33"
                    ],
                    "time_ms": 52.61
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "104.16.123.33",
                        "104.16.124.33"
                    ],
                    "time_ms": 49.42
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "104.16.123.33",
                        "104.16.124.33"
                    ],
                    "time_ms": 51.65
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Google Trust Services",
        "subject": "haveibeenpwned.com",
        "valid_from": "2026-08-08T10:46:39-05:00",
        "valid_to": "2026-11-06T10:45:57-06:00",
        "days_remaining": 89,
        "san": [
            "haveibeenpwned.com",
            "cloudflare-prometheus-exporter.haveibeenpwned.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://haveibeenpwned.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "date": "Sun, 09 Aug 2026 03:50:53 GMT",
            "content-type": "text/html; charset=utf-8",
            "server": "cloudflare",
            "cache-control": "public,max-age=3600",
            "set-cookie": "__cf_bm=klgLnnmYbsRig.M0y81RcyeSO_tKjMRZMlW9kmd44ZM-1786247453.0514953-1.0.1.1-BaMHaBLJt8SDFt6PsHhJiY_lk_Z_geHgOvB4182i1wLAQ8a2_TUZGvyQOr_mvz6FTf6QOKd8.72jXK5asCpLy4oHZrpIQx72uv4devePfk4uRwwOjMNNTu6IzdKkFa6W; HttpOnly; SameSite=None; Secure; Path=/; Domain=haveibeenpwned.com; Expires=Sun, 09 Aug 2026 04:20:53 GMT",
            "vary": "Accept-Encoding",
            "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
            "link": "</.well-known/api-catalog>; rel=\"api-catalog\"",
            "x-content-type-options": "nosniff",
            "x-frame-options": "DENY",
            "referrer-policy": "no-referrer-when-downgrade",
            "reporting-endpoints": "default=\"https://heimdall.report-uri.com/a/t/g\"",
            "report-to": "{\"group\":\"default\",\"max_age\":31536000,\"endpoints\":[{\"url\":\"https://heimdall.report-uri.com/a/t/g\"}],\"include_subdomains\":true}",
            "nel": "{\"report_to\":\"default\",\"max_age\":31536000,\"include_subdomains\":true}",
            "cross-origin-embedder-policy-report-only": "require-corp; report-to=\"default\"",
            "cross-origin-opener-policy-report-only": "same-origin; report-to=\"default\"",
            "integrity-policy-report-only": "blocked-destinations=(script), endpoints=(default)",
            "content-security-policy": "script-src 'self' cdnjs.cloudflare.com az416426.vo.msecnd.net ajax.cloudflare.com challenges.cloudflare.com static.cloudflareinsights.com *.monitor.azure.com *.applicationinsights.io 'report-sha256' 'report-sample' 'sha256-cj00wrTvlrj8ekHe2A9FqhDO5X0mvSr/lzIuvFKuMmA=' 'nonce-rFEKQgt77VEY/i5shkYheTHiJISN4CmypakWPdnMgTc='; upgrade-insecure-requests; default-src 'none'; base-uri 'self'; worker-src 'self' blob:; style-src 'self' cdnjs.cloudflare.com api.fontshare.com 'report-sample'; img-src 'self' translate.google.com logos.haveibeenpwned.com haveibeenpwned.com cdnjs.cloudflare.com i.ytimg.com data:; font-src 'self' data: cdnjs.cloudflare.com cdn.fontshare.com fonts.scalar.com; frame-ancestors 'none'; frame-src challenges.cloudflare.com www.youtube.com; form-action 'self' www.paypal.com billing.stripe.com checkout.stripe.com https://stage.haveibeenpwned.com stage.haveibeenpwned.com https://haveibeenpwned.com haveibeenpwned.com billing.haveibeenpwned.com; connect-src 'self' stage.haveibeenpwned.com api.pwnedpasswords.com stage-api.haveibeenpwned.com api.haveibeenpwned.com haveibeenpwned.com dc.services.visualstudio.com *.in.applicationinsights.azure.com *.monitor.azure.com www.google.com translate.googleapis.com cdnjs.cloudflare.com; manifest-src 'self'; report-uri https://heimdall.report-uri.com/r/t/csp/enforce; report-to default",
            "permissions-policy": "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=(), interest-cohort=()",
            "age": "1542",
            "last-modified": "Sun, 09 Aug 2026 03:28:55 GMT",
            "cf-cache-status": "HIT",
            "cf-ray": "a283cc959fe2f541-STL",
            "alt-svc": "h3=\":443\"; ma=86400"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": true,
            "x-content-type-options": true,
            "x-frame-options": true,
            "referrer-policy": true,
            "permissions-policy": true,
            "cross-origin-opener-policy": false,
            "cross-origin-embedder-policy": false,
            "cross-origin-resource-policy": false
        },
        "server": "cloudflare",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://haveibeenpwned.com/",
        "title": "Have I Been Pwned: Check if your email address has been exposed in a data breach",
        "description": "Have I Been Pwned (HIBP) is a data breach search and notification service used by security teams, developers, and MSPs worldwide. Search tens of billions of breached records, monitor corporate domains via API, and get alerted when new breaches appear.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "104.16.124.33": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "104.16.123.33": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "mxb.mailgun.org",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 8.5,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4028.5,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4021,
                "banner": "",
                "error": "Connection timed out"
            }
        ]
    },
    "visitor": {
        "ip": "216.73.217.62",
        "reverse": "",
        "country": "",
        "country_code": "",
        "region": "",
        "city": "",
        "latitude": null,
        "longitude": null,
        "isp": "",
        "organization": "",
        "asn": "",
        "timezone": "",
        "browser": "Other",
        "os": "Other",
        "language": "",
        "user_agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)",
        "is_bot": true,
        "cloudflare": false
    },
    "analysis_time_ms": 82.39
}