{
    "ok": true,
    "domain": "almanac.com",
    "generated_at": "2026-08-09T05:20:00-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 83,
        "label": "Good",
        "categories": {
            "dns": 80,
            "mail": 70,
            "security": 77,
            "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": "4 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": 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": "156 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": 12,
                "lost_points": 23,
                "detail": "3 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "PTR: ec2-32-199-29-9.compute-1.amazonaws.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": "4 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": "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": "156 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": "3 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 12,
                "lost_points": 23
            },
            {
                "level": "ok",
                "title": "PTR reverse DNS",
                "detail": "PTR: ec2-32-199-29-9.compute-1.amazonaws.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": [
                "32.199.29.9",
                "35.153.240.77"
            ],
            "AAAA": [
                "2600:1f18:327f:a501:b538:27a3:8324:554e",
                "2600:1f18:327f:a500:cd16:999:6ba3:b171"
            ],
            "CNAME": [],
            "MX": [
                "10 smtp4.webnames.ca."
            ],
            "TXT": [
                "\"google-site-verification=YeTWE-J-8Vwyt8DPZHf1XAKciNrxQPF5_C-PwXDY0oE\"",
                "\"brave-ledger-verification=c132cd80e273cfdb5bff0db6ea82f9f44c0d82ce78f60cc47db2049553445ccb\"",
                "\"v=spf1 include:shops.shopify.com include:mail.zendesk.com include:mail.cdsfulfillment.com include:listrak.com include:spf.mtasv.net  a:spf10.webnames.ca ~all\""
            ],
            "NS": [
                "ns-716.awsdns-25.net.",
                "ns-20.awsdns-02.com.",
                "ns-1952.awsdns-52.co.uk.",
                "ns-1390.awsdns-45.org."
            ],
            "SOA": [
                "ns-716.awsdns-25.net. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400"
            ],
            "CAA": [],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "32.199.29.9",
            "35.153.240.77"
        ],
        "ipv6": [
            "2600:1f18:327f:a501:b538:27a3:8324:554e",
            "2600:1f18:327f:a500:cd16:999:6ba3:b171"
        ]
    },
    "mail": {
        "spf": "v=spf1 include:shops.shopify.com include:mail.zendesk.com include:mail.cdsfulfillment.com include:listrak.com include:spf.mtasv.net  a:spf10.webnames.ca ~all",
        "dmarc": "v=DMARC1; p=reject; pct=100; rua=mailto:re+l2psnisf92h@dmarc.postmarkapp.com; aspf=r; adkim=r;",
        "dkim_selector": "x",
        "dkim_host": "",
        "dkim": "",
        "spf_analysis": {
            "valid": true,
            "lookups": 6,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "ec2-32-199-29-9.compute-1.amazonaws.com",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "32.199.29.9",
                        "35.153.240.77"
                    ],
                    "time_ms": 46.6
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "32.199.29.9",
                        "35.153.240.77"
                    ],
                    "time_ms": 25.57
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "32.199.29.9",
                        "35.153.240.77"
                    ],
                    "time_ms": 40.12
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "32.199.29.9",
                        "35.153.240.77"
                    ],
                    "time_ms": 71.68
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "32.199.29.9",
                        "35.153.240.77"
                    ],
                    "time_ms": 126.93
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Amazon",
        "subject": "almanac.com",
        "valid_from": "2026-06-28T19:00:00-05:00",
        "valid_to": "2027-01-12T17:59:59-06:00",
        "days_remaining": 156,
        "san": [
            "almanac.com",
            "*.almanac.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_128_GCM_SHA256"
    },
    "http": {
        "url": "https://www.almanac.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "date": "Sun, 09 Aug 2026 10:19:52 GMT",
            "content-type": "text/html; charset=utf-8",
            "content-length": "123377",
            "location": "https://www.almanac.com/",
            "server": "nginx",
            "cache-control": "max-age=10800, public",
            "x-drupal-dynamic-cache": "UNCACHEABLE (poor cacheability)",
            "content-language": "en",
            "x-content-type-options": "nosniff",
            "x-frame-options": "SAMEORIGIN",
            "expires": "Sun, 19 Nov 1978 05:00:00 GMT",
            "last-modified": "Sun, 09 Aug 2026 05:18:03 GMT",
            "etag": "\"1786252683\"",
            "vary": "Cookie",
            "x-generator": "Drupal 11 (https://www.drupal.org)",
            "x-drupal-cache": "HIT",
            "x-ypi-origin": "ip-10-0-3-32",
            "x-ypi-cache": "BYPASS",
            "content-security-policy": "frame-ancestors 'self'",
            "x-robots-tag": "all"
        },
        "security_checks": {
            "strict-transport-security": false,
            "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.almanac.com/",
        "title": "The Old Farmer’s Almanac: Gardening, Weather, Moon, Calendar",
        "description": "The Old Farmer’s Almanac is your trusted source for long range weather forecasts, moon phases, full moon dates and times, gardening tips, sunrise and sunset times, Best Days, tide charts, home remedies, folklore, and more. All from the oldest continuously-published and best-selling farmers’ almanac in North America.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "32.199.29.9": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "35.153.240.77": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "smtp4.webnames.ca",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 70.9,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4094.3,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4072.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": 100.56
}