{
    "ok": true,
    "domain": "fitnyc.edu",
    "generated_at": "2026-08-10T18:09:03-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 81,
        "label": "Good",
        "categories": {
            "dns": 80,
            "mail": 90,
            "security": 65,
            "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": 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": "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": "39 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": 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": "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": "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": "39 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": "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.18.3.5",
                "104.18.2.5"
            ],
            "AAAA": [
                "2606:4700::6812:305",
                "2606:4700::6812:205"
            ],
            "CNAME": [],
            "MX": [
                "1 mxa-00040801.gslb.pphosted.com.",
                "1 mxb-00040801.gslb.pphosted.com."
            ],
            "TXT": [
                "\"google-site-verification=V2CWGC3vfvd3F7801NL8Js5-qp_IdLx99szHGfmfv9U\"",
                "\"amazonses:4nBL19ExXzsCK0RShBy9eO56S0kZypTiEbG1bynFmRQ=\"",
                "\"autodesk-domain-verification=piGA4vIRbGjjDEiAZ2fG\"",
                "\"apple-domain-verification=ATCDLDOSiOGohO0W\"",
                "\"e2ma-verification=0j7eb\"",
                "\"adobe-idp-site-verification=b912fa4614472887bbb97efdce11373c3da6135402c088dc7b08413d155d92c0\"",
                "\"google-site-verification=sA9ackSVcNA_-ZzrMb2D80X7UKw0qJgR-KvmInVsPrw\"",
                "\"v=spf1 include:%{ir}.%{v}.%{d}.spf.has.pphosted.com ~all\"",
                "\"google-site-verification=M3ZCDI8U8i7R3cetOj7cBSPo13bQwoqqUXfpdBeDXOE\"",
                "\"n51nk4yq2gtt1p1yskprrlxl9p5twsq8\"",
                "\"fastly-domain-delegation-OTYxV1xMJAOSiKkr-2022-03-08\"",
                "\"jamf-site-verification=g62v3J2FLiRXF6_iBJ6Erw\"",
                "\"MS=ms43780682\"",
                "\"cisco-ci-domain-verification=328f75a9aa9d7a3de9e212ff295cbb2c8da9cf07b708870e58eedd5d497ec46f\"",
                "\"e2ma-verification=v0mcb\"",
                "\"MS=ms72669391\""
            ],
            "NS": [
                "alla.ns.cloudflare.com.",
                "gannon.ns.cloudflare.com."
            ],
            "SOA": [
                "alla.ns.cloudflare.com. dns.cloudflare.com. 2411215258 10000 2400 604800 1800"
            ],
            "CAA": [],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "104.18.3.5",
            "104.18.2.5"
        ],
        "ipv6": [
            "2606:4700::6812:305",
            "2606:4700::6812:205"
        ]
    },
    "mail": {
        "spf": "v=spf1 include:%{ir}.%{v}.%{d}.spf.has.pphosted.com ~all",
        "dmarc": "v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com,mailto:cybersecurity@fitnyc.edu; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;",
        "dkim_selector": "selector1",
        "dkim_host": "selector1._domainkey.fitnyc.edu",
        "dkim": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCU7JtfY0nsdG3vQdsMkrkDlzLEOMDw5dWZZPSedV7OPxkVsf7e8dla7AkZ5VazBDsqDCe7Bcl5UaojSqTstjOTa+3lS/KlQ7+vcDQtvDyZWXQvbBpqtOsnoxJv0cnJaAG2B4GHiUGM9+VxI1BveeU2Zepx5HnZxT2l1XQL121DBQIDAQAB; n=1024,1450347647,1",
        "spf_analysis": {
            "valid": true,
            "lookups": 1,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "none"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "104.18.2.5",
                        "104.18.3.5"
                    ],
                    "time_ms": 53.55
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "104.18.2.5",
                        "104.18.3.5"
                    ],
                    "time_ms": 47.39
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "104.18.2.5",
                        "104.18.3.5"
                    ],
                    "time_ms": 82.09
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "104.18.2.5",
                        "104.18.3.5"
                    ],
                    "time_ms": 111.35
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "104.18.2.5",
                        "104.18.3.5"
                    ],
                    "time_ms": 144.57
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "fitnyc.edu",
        "valid_from": "2026-06-21T09:43:29-05:00",
        "valid_to": "2026-09-19T09:43:28-05:00",
        "days_remaining": 39,
        "san": [
            "*.fitnyc.edu",
            "fitnyc.edu"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.fitnyc.edu/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "date": "Mon, 10 Aug 2026 23:08:49 GMT",
            "content-type": "text/html; charset=UTF-8",
            "location": "https://www.fitnyc.edu/",
            "server": "cloudflare",
            "set-cookie": "X-Mapping-fjhppofk=C884F95E83DFB0883624AF40EFCBE2C5; path=/",
            "cf-cache-status": "DYNAMIC",
            "cf-ray": "a292aa25ea71e9ee-STL",
            "access-control-allow-origin": "*",
            "x-powered-by": "PHP/7.2.24"
        },
        "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": "cloudflare",
        "powered_by": "PHP/7.2.24"
    },
    "webpage": {
        "url": "https://www.fitnyc.edu/",
        "title": "Home",
        "description": "FIT, a part of the State University of New York, has been an internationally recognized leader in career education in design, fashion, business, and technology for over 75 years. Providing an uncommon blend of practical experience and theory on a foundation of arts and sciences, FIT offers a wide range of affordable programs that foster innovation, collaboration, and a global perspective. FIT draws on its New York City location to provide a vibrant, creative environment for learning, exploration, and research. The college offers nearly 50 majors and grants AAS, BFA, BS, MA, MFA, and MPS degrees, preparing students for professional success and leadership in the new creative economy. Visit fitnyc.edu.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "104.18.3.5": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "104.18.2.5": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "mxa-00040801.gslb.pphosted.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 10041.8,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 922.7,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 2511.2,
                "banner": "",
                "error": "Connection refused"
            }
        ]
    },
    "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": 91.81
}