{
    "ok": true,
    "domain": "fox29.com",
    "generated_at": "2026-08-10T22:04:26-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 81,
        "label": "Good",
        "categories": {
            "dns": 85,
            "mail": 50,
            "security": 81,
            "network": 100,
            "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": "8 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": 0,
                "lost_points": 5,
                "detail": "Certificate authority restriction."
            },
            {
                "category": "dns",
                "title": "DNS propagation",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10,
                "detail": "Agreement between public resolvers."
            },
            {
                "category": "mail",
                "title": "MX records",
                "max_points": 20,
                "earned_points": 0,
                "lost_points": 20,
                "detail": "0 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": 0,
                "lost_points": 20,
                "detail": "No tested DKIM selector responded."
            },
            {
                "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": 16,
                "lost_points": 19,
                "detail": "4 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "PTR: a23-200-156-147.deploy.static.akamaitechnologies.com"
            },
            {
                "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": "8 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": "error",
                "title": "CAA policy",
                "detail": "Certificate authority restriction.",
                "category": "dns",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "error",
                "title": "DNS propagation",
                "detail": "Agreement between public resolvers.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10
            },
            {
                "level": "error",
                "title": "MX records",
                "detail": "0 MX record(s).",
                "category": "mail",
                "max_points": 20,
                "earned_points": 0,
                "lost_points": 20
            },
            {
                "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": "error",
                "title": "DKIM",
                "detail": "No tested DKIM selector responded.",
                "category": "mail",
                "max_points": 20,
                "earned_points": 0,
                "lost_points": 20
            },
            {
                "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": "4 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 16,
                "lost_points": 19
            },
            {
                "level": "ok",
                "title": "PTR reverse DNS",
                "detail": "PTR: a23-200-156-147.deploy.static.akamaitechnologies.com",
                "category": "network",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "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": [
                "23.200.156.147",
                "23.200.156.137"
            ],
            "AAAA": [
                "2600:1407:3c00:1868::17dc:900e",
                "2600:1407:3c00:1868::17dc:9010"
            ],
            "CNAME": [],
            "MX": [],
            "TXT": [
                "\"google-site-verification=HqQAtNN1Zjc_iTsqwZAmA_-e3eqfviesZOf-FoEpvcY\"",
                "\"WnVRgqEBiYjLsYnADVtGYY/cAuTHgKUVwkC0lMNT+Q4=\"",
                "\"efn3k4wDdza/limrWu9KW+TElR/jcnCu9Z5LcC4cZQs=\"",
                "\"v=spf1 -all\""
            ],
            "NS": [
                "ns04.foxdoua.com.",
                "ns01.dns.fox.",
                "ns02.dns.fox.",
                "ns04.dns.fox.",
                "ns02.foxdoua.com.",
                "ns01.foxdoua.com.",
                "ns03.dns.fox.",
                "ns03.foxdoua.com."
            ],
            "SOA": [
                "dns1.p06.nsone.net. hostmaster.nsone.net. 1786406521 43200 7200 1209600 3600"
            ],
            "CAA": [],
            "DS": [
                "48553 13 2 03A6C70DE8C2262911D44803912D63DC78DEB72AEBD564D8D442C892 43EE70AA"
            ],
            "DNSKEY": [
                "256 3 13 3u9onSaqbxIlglXMHjh5Plcah8n2pXj0QuBVY/6YTdC6L/eUEYPDh57n OVJ8dd3fkPMrjt2Oij6J9EeLqyeuBw==",
                "257 3 13 t+4DPP+MFZ0Cr7gAXiDYv6HTyXzq/O2ESVRLc/ysuh5xBXKIsjsj5baV 1HzhBNo2F7mbsevsEo0/6UEL8+JBmA==",
                "256 3 13 StkhLrYivFRj91rx0aO6ykg4qWeYhgQxJEwwkTzMBkIYjR/DENsx7p8n 0yfXg4Of/DzazP+vhOLp0Kijh7S5pg=="
            ],
            "RRSIG": [
                "NS 13 2 86400 20260812040415 20260811020415 52254 fox29.com. sRcWNJO2rpCm/is62dpl17zHblF33R0tQat7dBPcjdaKPkdeCr5fHsMm TNu1oQvg/0jARC+6y4ojiCe6fzlsfA==",
                "AAAA 13 2 7200 20260812025030 20260811005030 52254 fox29.com. wxGUoTsQZplw772cDe3pkes7oF8NeIfEH7niyGA+WVuygvY7E1gmS/TE ssv45oQyk5tga0kUhHE4FlWjlKc8WQ==",
                "A 13 2 7200 20260812025030 20260811005030 52254 fox29.com. gmRvTcoV4XXGeXBGg7rB4Ypn/puJJ+9bg8vTzcBpyQ941nW+S3spnmtj lA4y8Wglh4IdMmpAJMvnXekL2qxxVQ==",
                "DS 13 2 86400 20260816015448 20260809004448 41446 com. Vb/8G6gLRq5xHyYhx+RCh5UWFZLbakchtlBIDBMmhwb0SdwpTEgvkE1N 1QS8nzpKs2hn6hwL5Ty5NcgkH56a9A=="
            ],
            "NSEC": [
                "\\000.fox29.com. A NS SOA TXT AAAA RRSIG NSEC DNSKEY"
            ],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "23.200.156.147",
            "23.200.156.137"
        ],
        "ipv6": [
            "2600:1407:3c00:1868::17dc:900e",
            "2600:1407:3c00:1868::17dc:9010"
        ]
    },
    "mail": {
        "spf": "v=spf1 -all",
        "dmarc": "v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com",
        "dkim_selector": "x",
        "dkim_host": "",
        "dkim": "",
        "spf_analysis": {
            "valid": true,
            "lookups": 0,
            "final": "-all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "a23-200-156-147.deploy.static.akamaitechnologies.com",
        "propagation": {
            "consistent": false,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "23.38.100.162",
                        "23.38.100.186"
                    ],
                    "time_ms": 45.84
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "23.200.156.137",
                        "23.200.156.147"
                    ],
                    "time_ms": 55
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "23.200.156.137",
                        "23.200.156.147"
                    ],
                    "time_ms": 50.21
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "23.200.156.137",
                        "23.200.156.147"
                    ],
                    "time_ms": 58.13
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "23.49.251.235",
                        "23.49.251.239"
                    ],
                    "time_ms": 51.23
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "fox29.com",
        "valid_from": "2026-08-10T13:58:57-05:00",
        "valid_to": "2026-11-08T12:58:56-06:00",
        "days_remaining": 89,
        "san": [
            "fox29.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.fox29.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "server": "nginx",
            "content-length": "0",
            "location": "https://www.fox29.com/",
            "cache-control": "max-age=90",
            "expires": "Tue, 11 Aug 2026 03:05:47 GMT",
            "date": "Tue, 11 Aug 2026 03:04:17 GMT",
            "strict-transport-security": "max-age=600",
            "akamai-grn": "0.061c2117.1786417457.49d5d9f0",
            "access-control-allow-origin": "*",
            "content-security-policy": "frame-ancestors 'self' https://layout-cms.fox29.com;",
            "content-type": "text/html; charset=utf-8",
            "etag": "\"1dc3f6-nTjBBltLCqI0sv9lMfM844rJqH0\"",
            "x-content-type-options": "nosniff",
            "x-dns-prefetch-control": "off",
            "x-download-options": "noopen",
            "x-frame-options": "ALLOW-FROM https://layout-cms.fox29.com",
            "x-xss-protection": "1; mode=block"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": true,
            "x-content-type-options": true,
            "x-frame-options": true,
            "referrer-policy": false,
            "permissions-policy": false,
            "cross-origin-opener-policy": false,
            "cross-origin-embedder-policy": false,
            "cross-origin-resource-policy": false
        },
        "server": "nginx",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://www.fox29.com/",
        "title": "FOX 29 Philadelphia | Local News, Weather, and Live Streams | WTXF-TV",
        "description": "Philadelphia news, weather, traffic and sports from FOX 29, serving Pennsylvania, New Jersey and Delaware. Watch breaking news live or see the latest videos from programs like Good Day Philadelphia.",
        "success": true,
        "error": "",
        "status": 206
    },
    "network": {
        "23.200.156.147": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "23.200.156.137": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "fox29.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 1.6,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4001,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4017.6,
                "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": 84.74
}