{
    "ok": true,
    "domain": "purdue.edu",
    "generated_at": "2026-08-08T18:42:50-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 74,
        "label": "Fair",
        "categories": {
            "dns": 70,
            "mail": 90,
            "security": 65,
            "network": 20,
            "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": "1 IPv4 address(es) detected."
            },
            {
                "category": "dns",
                "title": "IPv6 (AAAA)",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10,
                "detail": "0 IPv6 address(es) detected."
            },
            {
                "category": "dns",
                "title": "Name server redundancy",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "3 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": 0,
                "lost_points": 15,
                "detail": "Both DS and DNSKEY are required."
            },
            {
                "category": "dns",
                "title": "CAA policy",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "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": "1 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": "173 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": 0,
                "lost_points": 35,
                "detail": "0 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": 20,
                "lost_points": 15,
                "detail": "Two or more IPv4 addresses receive full points."
            },
            {
                "category": "network",
                "title": "IPv6 connectivity",
                "max_points": 35,
                "earned_points": 0,
                "lost_points": 35,
                "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/1.1 200 OK"
            },
            {
                "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": "1 IPv4 address(es) detected.",
                "category": "dns",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "level": "error",
                "title": "IPv6 (AAAA)",
                "detail": "0 IPv6 address(es) detected.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10
            },
            {
                "level": "ok",
                "title": "Name server redundancy",
                "detail": "3 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": "error",
                "title": "DNSSEC chain",
                "detail": "Both DS and DNSKEY are required.",
                "category": "dns",
                "max_points": 15,
                "earned_points": 0,
                "lost_points": 15
            },
            {
                "level": "error",
                "title": "CAA policy",
                "detail": "Certificate authority restriction.",
                "category": "dns",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "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": "1 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": "173 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": "error",
                "title": "HTTP security headers",
                "detail": "0 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 0,
                "lost_points": 35
            },
            {
                "level": "error",
                "title": "PTR reverse DNS",
                "detail": "PTR not detected.",
                "category": "network",
                "max_points": 30,
                "earned_points": 0,
                "lost_points": 30
            },
            {
                "level": "warning",
                "title": "IPv4 diversity",
                "detail": "Two or more IPv4 addresses receive full points.",
                "category": "network",
                "max_points": 35,
                "earned_points": 20,
                "lost_points": 15
            },
            {
                "level": "error",
                "title": "IPv6 connectivity",
                "detail": "AAAA availability.",
                "category": "network",
                "max_points": 35,
                "earned_points": 0,
                "lost_points": 35
            },
            {
                "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/1.1 200 OK",
                "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": [
                "128.210.7.200"
            ],
            "AAAA": [],
            "CNAME": [],
            "MX": [
                "0 purdue-edu.mail.protection.outlook.com."
            ],
            "TXT": [
                "\"google-site-verification=en6dTnGVvW0yFBlNPxKv5aSBsJNG9XTRlJLx5xzkEGE\"",
                "\"jamf-site-verification=VaeBGvW_vGEVdXlQmlspfQ\"",
                "\"8c707d78-2dc6-4bac-b4f9-4f2ff625f327\"",
                "\"MS=6F64A1C5D9A24164AA0A7E59CC8C1E7758DE8E88\"",
                "\"atlassian-domain-verification=YwCJ4gAdGrIy4Trr5Fq2mBW41Vo4HOdkqNXNFssajAgT0sPIhkb7hiXXG8gCVzrz\"",
                "\"n98pbk2retfsg11ronqr8158mu\"",
                "\"00D3h000007QZV0=1TBVR00000009BN\"",
                "\"apple-domain-verification=PR5U9BqX66R0APG8\"",
                "\"v=spf1 include:%{i}._ip.%{h}._ehlo.%{d}._spf.vali.email include:spf.protection.outlook.com ~all\"",
                "\"airtable-verification=532cf661a9f1ce7337e69babb11917de\"",
                "\"coursera-domain-verification=7YtVTrT8qPN5I6TM4j0JTlG1J8oUVTHHIirDRrvnyBZsqTD5suAZAxEC9V71BoAL\"",
                "\"1B5A432253C00589C3C303313C798F60\"",
                "\"bw=ukH9x7TrdldFT0SuYfXZ8aOBpFT8H6VI3GtpDr5RdXfU\"",
                "\"_globalsign-domain-verification=LBGN_PGPzs-K_ugvlmQc5pBRof3QCVximyhc9hNKsU\"",
                "\"998371A6F52AFE55605E99B34E3987A1\"",
                "\"brevo-code:231c553f8bfc20a63e4de939455f5991\"",
                "\"airtable-verification=b01c1d3515c017805e817e21360a0506\"",
                "\"canva-site-verification=_ZOGZ-ChIB3VnGbHx8zCLg\"",
                "\"atlassian-domain-verification=rwaaUqSzGwq84NSUvMqT86CCHDKF7TMyoaPiQVgP6sQUY3/aeaNsTmHVDEBNmFQ9\"",
                "\"webexdomainverification.GDSP=4bd98732-2799-47d1-bbd3-66e6149d1cad\"",
                "\"00DE0000000bl8X=1TBRd00000009GD\"",
                "\"facebook-domain-verification=izc7cwx7c6ynlbzt3bvcasz2natro9\"",
                "\"adobe-idp-site-verification=82aaf4b4-e1ab-4a7d-bea2-10f5820faec9\"",
                "\"#^0zq4LIZZq&CRglVz*@h6QFrQYfE%r9YPjtMugJ!pfYMDS%Y&PYMB0@TDM@R%fbcn#ZZZDfrpH2qO#@1CW2rhspOp8HVd0IU7l\"",
                "\"cisco-ci-domain-verification=5e16bdfb5c92c6d57a381bafa4689d833ce3fed29b3c973bfaba11f146732613\"",
                "\"oysmqwNak8YGUW3sLWwJg1feIr+RzjS3GAjdI6bSHjLGftS6HmMqoAUagGXLrjogVk4ptcEPz+5oyrWQeCkXKw==\"",
                "\"autodesk-domain-verification=0mpL8cXJsDjFqdB61_oM\""
            ],
            "NS": [
                "ns3.purdue.edu.",
                "ns4.purdue.edu.",
                "ns5.purdue.edu."
            ],
            "SOA": [
                "ns3.purdue.edu. hostmaster.purdue.edu. 799544815 1200 180 1209600 3600"
            ],
            "CAA": [],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "128.210.7.200"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 include:%{i}._ip.%{h}._ehlo.%{d}._spf.vali.email include:spf.protection.outlook.com ~all",
        "dmarc": "v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email,mailto:dmarc-reports@purdue.edu; fo=1",
        "dkim_selector": "selector1",
        "dkim_host": "selector1._domainkey.purdue.edu",
        "dkim": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRLSZ7lFd6tuD2v6SVo0SW2EW9exN/+LXRjKDG2TEQr/EV0X4tWuSenO/X+1d6h0xWc0fI4TEEKDLnR1jMsRRuzrWTwjkluMyRNKqLB4Rsi73F4JhlHdpbxR+6h5jasRWYcOdFxDQ6se9EgCYkuJJ/MklacfXhUDmeioGVGV7pgQIDAQAB; n=1024,1453155081,1468879881",
        "spf_analysis": {
            "valid": true,
            "lookups": 2,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "quarantine"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "128.210.7.200"
                    ],
                    "time_ms": 24.71
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "128.210.7.200"
                    ],
                    "time_ms": 22.62
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "128.210.7.200"
                    ],
                    "time_ms": 46.58
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "128.210.7.200"
                    ],
                    "time_ms": 65.6
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "128.210.7.200"
                    ],
                    "time_ms": 75.55
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "InCommon, LLC",
        "subject": "www.purdue.edu",
        "valid_from": "2026-07-13T19:00:00-05:00",
        "valid_to": "2027-01-28T17:59:59-06:00",
        "days_remaining": 173,
        "san": [
            "www.purdue.edu",
            "admission.purdue.edu",
            "admissions.purdue.edu",
            "alstar-internal.ceris.purdue.edu",
            "alstar-pets.ceris.purdue.edu",
            "anglerarchive.org",
            "ansc.purdue.edu",
            "approvedmethods.ceris.purdue.edu",
            "apps.online.purdue.edu",
            "arboretum.purdue.edu",
            "atracsi.ceris.purdue.edu",
            "beekeeper.ceris.purdue.edu",
            "blogs.itap.purdue.edu",
            "btny.purdue.edu",
            "business.purdue.edu",
            "businessplan.ceris.purdue.edu",
            "care.purdue.edu",
            "cdext.purdue.edu",
            "cellwall.genomics.purdue.edu",
            "cpsiccnexusworkshop2024.org",
            "cyanosite.bio.purdue.edu",
            "cyberbridges.org",
            "cyto.ceris.purdue.edu",
            "datamine.purdue.edu",
            "dctools.it.purdue.edu",
            "decision-support.ceris.purdue.edu",
            "discover.online.purdue.edu",
            "ecdre.ceris.purdue.edu",
            "entm.purdue.edu",
            "esports.purdue.edu",
            "estebanfj.bio.purdue.edu",
            "evbatteryportal.org",
            "exed.purdue.edu",
            "extension.entm.purdue.edu",
            "fed.online.purdue.edu",
            "fishatlas.org",
            "globaleast.org",
            "globalsoundscapes.org",
            "gomeet.itap.purdue.edu",
            "gradschool.purdue.edu",
            "greatteacher.ceris.purdue.edu",
            "hcdd.purdue.edu",
            "hhs.purdue.edu",
            "hlb-reon.org",
            "honors.purdue.edu",
            "hort.purdue.edu",
            "hortcalc.ceris.purdue.edu",
            "hothog.ceris.purdue.edu",
            "i-hope.purdue.edu",
            "indianagearup.org",
            "iseb.ceris.purdue.edu",
            "it.purdue.edu",
            "itap.purdue.edu",
            "jinsuh.business.purdue.edu",
            "krannert.purdue.edu",
            "leung.bio.purdue.edu",
            "m2m.tech.purdue.edu",
            "manfratsensors.physics.purdue.edu",
            "midwestagrivoltaicsresilientcommunities.org",
            "napis.ceris.purdue.edu",
            "new.admissions.purdue.edu",
            "new.business.purdue.edu",
            "new.cco.purdue.edu",
            "new.datamine.purdue.edu",
            "new.honors.purdue.edu",
            "new.it.purdue.edu",
            "new.pcrd.purdue.edu",
            "new.soilexplorer.net",
            "new.vet.purdue.edu",
            "new.www.purdue.edu",
            "news.uns.purdue.edu",
            "nomenclator.it.purdue.edu",
            "nomenclator.itap.purdue.edu",
            "nursery-inspection.ceris.purdue.edu",
            "owl.purdue.edu",
            "pathwaytopurdue.purdue.edu",
            "pcrd.purdue.edu",
            "pesttracker.org",
            "polymers.centers.purdue.edu",
            "purdue.edu",
            "purdueplantdoctor.ceris.purdue.edu",
            "purdueplantdoctor.com",
            "recordtheearth.org",
            "smas.purdue.edu",
            "soilexplorer.net",
            "soilsoft.ag.purdue.edu",
            "spider.entm.purdue.edu",
            "successnex.us",
            "successnexus.org",
            "surveyplanning.ceris.purdue.edu",
            "sustainable.ceris.purdue.edu",
            "twigaging.ceris.purdue.edu",
            "vet.purdue.edu",
            "www-cyanosite.bio.purdue.edu",
            "www.admission.purdue.edu",
            "www.admissions.purdue.edu",
            "www.anglerarchive.org",
            "www.ansc.purdue.edu",
            "www.btny.purdue.edu",
            "www.business.purdue.edu",
            "www.care.purdue.edu",
            "www.cdext.purdue.edu",
            "www.cpsiccnexusworkshop2024.org",
            "www.cyanosite.bio.purdue.edu",
            "www.cyberbridges.org",
            "www.datamine.purdue.edu",
            "www.entm.purdue.edu",
            "www.evbatteryportal.org",
            "www.exed.purdue.edu",
            "www.extension.entm.purdue.edu",
            "www.fishatlas.org",
            "www.globaleast.org",
            "www.globalsoundscapes.org",
            "www.gradschool.purdue.edu",
            "www.hhs.purdue.edu",
            "www.hlb-reon.org",
            "www.honors.purdue.edu",
            "www.hort.purdue.edu",
            "www.i-hope.purdue.edu",
            "www.indianagearup.org",
            "www.irb.purdue.edu",
            "www.it.purdue.edu",
            "www.itap.purdue.edu",
            "www.krannert.purdue.edu",
            "www.m2m.tech.purdue.edu",
            "www.midwestagrivoltaicsresilientcommunities.org",
            "www.pathwaytopurdue.purdue.edu",
            "www.pcrd.purdue.edu",
            "www.pesttracker.org",
            "www.picc.purdue.edu",
            "www.purdueplantdoctor.com",
            "www.recordtheearth.org",
            "www.robotics.purdue.edu",
            "www.smas.purdue.edu",
            "www.soilexplorer.net",
            "www.student-orgs.purdue.edu",
            "www.successnex.us",
            "www.successnexus.org",
            "www.vet.purdue.edu",
            "zebase.bio.purdue.edu"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_CHACHA20_POLY1305_SHA256"
    },
    "http": {
        "url": "https://purdue.edu/",
        "status": "HTTP/1.1 200 OK",
        "http_version": "2",
        "headers": {
            "date": "Sat, 08 Aug 2026 23:42:41 GMT",
            "last-modified": "Sat, 08 Aug 2026 19:44:02 GMT",
            "etag": "\"23785-6588e57cf1ac4\"",
            "accept-ranges": "bytes",
            "content-length": "145285",
            "cache-control": "max-age=3, must-revalidate",
            "expires": "Sat, 08 Aug 2026 23:42:44 GMT",
            "vary": "Accept-Encoding,Cookie",
            "content-type": "text/html; charset=UTF-8",
            "set-cookie": "TS01acd742=011b6a5bcb608c8315acd79f13002f00aed1201eceedb0ae8d90da8074f86c74710a54601bfa0cfba56e19ece12478f8c49fdf808dced41bbc990195286d05afa8f4dd6363d6d6dba1b2b2cd9aa12c91dc3eb250fffb68513e3d9c834bfe1a555746bec16b; Path=/; Domain=.www.purdue.edu",
            "x-cnection": "close"
        },
        "security_checks": {
            "strict-transport-security": false,
            "content-security-policy": false,
            "x-content-type-options": false,
            "x-frame-options": false,
            "referrer-policy": false,
            "permissions-policy": false,
            "cross-origin-opener-policy": false,
            "cross-origin-embedder-policy": false,
            "cross-origin-resource-policy": false
        },
        "server": "",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://purdue.edu/",
        "title": "Purdue University",
        "description": "Purdue University is a world-renowned, public research university that advances discoveries in science, technology, engineering and math.",
        "success": true,
        "error": "",
        "status": 206
    },
    "network": {
        "128.210.7.200": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "purdue-edu.mail.protection.outlook.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 27.4,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4043.7,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4036,
                "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": 97.97
}