{
    "ok": true,
    "domain": "classdojo.com",
    "generated_at": "2026-08-11T23:09:32-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 85,
        "label": "Good",
        "categories": {
            "dns": 80,
            "mail": 100,
            "security": 73,
            "network": 65,
            "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": "4 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": "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": 15,
                "lost_points": 0,
                "detail": "DS and DNSKEY detected."
            },
            {
                "category": "dns",
                "title": "CAA policy",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0,
                "detail": "Certificate authority restriction."
            },
            {
                "category": "dns",
                "title": "DNS propagation",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10,
                "detail": "Agreement between public resolvers."
            },
            {
                "category": "mail",
                "title": "MX records",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "5 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": 5,
                "lost_points": 0,
                "detail": "Mail transport policy."
            },
            {
                "category": "mail",
                "title": "TLS-RPT",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0,
                "detail": "TLS reporting policy."
            },
            {
                "category": "security",
                "title": "Valid TLS certificate",
                "max_points": 55,
                "earned_points": 55,
                "lost_points": 0,
                "detail": "84 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": 8,
                "lost_points": 27,
                "detail": "2 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "PTR: server-18-239-83-46.ams58.r.cloudfront.net"
            },
            {
                "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": 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/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": "4 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": "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": "ok",
                "title": "DNSSEC chain",
                "detail": "DS and DNSKEY detected.",
                "category": "dns",
                "max_points": 15,
                "earned_points": 15,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "CAA policy",
                "detail": "Certificate authority restriction.",
                "category": "dns",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0
            },
            {
                "level": "error",
                "title": "DNS propagation",
                "detail": "Agreement between public resolvers.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 0,
                "lost_points": 10
            },
            {
                "level": "ok",
                "title": "MX records",
                "detail": "5 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": "ok",
                "title": "MTA-STS",
                "detail": "Mail transport policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "TLS-RPT",
                "detail": "TLS reporting policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 5,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "Valid TLS certificate",
                "detail": "84 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": "2 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 8,
                "lost_points": 27
            },
            {
                "level": "ok",
                "title": "PTR reverse DNS",
                "detail": "PTR: server-18-239-83-46.ams58.r.cloudfront.net",
                "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": "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/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": [
                "18.239.83.46",
                "18.239.83.15",
                "18.239.83.91",
                "18.239.83.25"
            ],
            "AAAA": [],
            "CNAME": [],
            "MX": [
                "5 alt1.aspmx.l.google.com.",
                "1 aspmx.l.google.com.",
                "5 alt2.aspmx.l.google.com.",
                "10 alt4.aspmx.l.google.com.",
                "10 alt3.aspmx.l.google.com."
            ],
            "TXT": [
                "\"zapier-domain-verification-challenge=b91ab80f-646d-42a7-b8e4-c3e601e1fa61\"",
                "\"MS=ms11911467\"",
                "\"jetbrains-domain-verification=18tun0er41df59494dg5eyowe\"",
                "\"ca3-a46ce20e4b71475e89771b5c574bc0f7\"",
                "\"remote-domain-verification=ba4af61d-aa6c-4bcf-a446-ca0a0122964e\"",
                "\"google-site-verification=98mVaaEPMAyIXcqhNLKX0GJY--p9RpKTUQXbWhsDFzo\"",
                "\"apple-domain-verification=zNmVzIfEYnC8uMmm\"",
                "\"6Cl4EzH4oYThdJEYngP4-f8t_1wFLA\"",
                "\"linear-domain-verification=830744\"",
                "\"sending_domain1046033=092c6db9590a163d1e325fd5c5fc0040f2b956941e24203ef22d520d8963c04e\"",
                "\"google-site-verification=eGfI401QYTlzQnLRyStZ1newdzB5XUiKsqe_-ebmaU0\"",
                "\"anthropic-domain-verification-bbtf9b=fKpSga9CziNkNqUyb7gLRBfck\"",
                "\"notion-domain-verification=SxlL2e7w1ZcGkcOz4odeXQUKPIRRm7fJXTs5MNXLuaq\"",
                "\"slack-domain-verification=pzTJPl633d3nTpbbFhyRe61O7L7Styf0P2otF5rH\"",
                "\"7BE1BA61E4\"",
                "\"zoho-verification=zb62498893.zmverify.zoho.com\"",
                "\"cursor-domain-verification-bvk9zy=BheOkImd5XIRQjoS1DrFWSAJC\"",
                "\"ca3-071499a31e814de4ac560af9562e780a\"",
                "\"pardot1046033=d1b5bb4e98668611b4263713a157efb1a125340c2da41f07d6472b52c0b6344a\"",
                "\"openai-domain-verification=dv-rKL2svvnLox9gQENW1g6fGNI\"",
                "\"google-site-verification=x_5KcxyGnlSBw9S9Zl72tMGjxV2oFNsUV3IQxtMsU8s\"",
                "\"v=spf1 a ip4:167.89.8.27 ip4:54.240.30.149 ip4:54.240.30.150 ip4:167.89.13.39 ip4:168.245.22.255 ip4:192.254.123.1 ip4:198.21.3.120 ip4:198.37.146.167 ip4:149.72.134.223 \" \"ip4:149.72.211.101 ip4:168.245.110.212 ip4:149.72.215.127 ip4:149.72.215.133 ip4:149.72.51.146 ip4:149.72.61.51 \" \"include:mail.zendesk.com include:_spf.google.com include:shops.shopify.com include:243899479.spf02.hubspotemail.net include:_spf.salesforce.com -all\"",
                "\"ca3-c6a801c783d94e0bbf52b2ab50c834d2\"",
                "\"mongodb-site-verification=KjHxZDMMkXOGgKA9ferR4KO3JT4bemaP\"",
                "\"google-site-verification=VYIxXs9o1YOPIdH7eh24u7DqefSERxAaCrMGwWDoQrw\"",
                "\"stripe-verification=866AD830BCE1E5871A93D40D76985CAF9D4BC7D89CEC77CE2E96ECAEA876D365\""
            ],
            "NS": [
                "ns-938.awsdns-53.net.",
                "ns-1734.awsdns-24.co.uk.",
                "ns-25.awsdns-03.com.",
                "ns-1347.awsdns-40.org."
            ],
            "SOA": [
                "ns-938.awsdns-53.net. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 300"
            ],
            "CAA": [
                "0 issue \"pki.goog\"",
                "0 issue \"letsencrypt.org\"",
                "0 issue \"digicert.com\"",
                "0 issue \"amazon.com\""
            ],
            "DS": [
                "6335 13 2 6C8041BADFBCDC890DC40BC6BD1D7923FDAEAB6074821734BA184EA4 13595901"
            ],
            "DNSKEY": [
                "257 3 13 lGMsJCIga3ESYxkIgXpQMcpbv/7iVFJCx5EF4g1T3UGLI7gFsYzEVPCT B//gLV2tHyCwdVBPRcg5c33ac87SQw==",
                "256 3 13 AW2BBGcRY5obEP9ElCNqHnZujHHze42hkt5x+3ZFnL48f/ZJ0GT/rzn2 j+EIr6j8TxWZjGEa7/SQCfnGESfM1Q==",
                "256 3 13 YTggmLZM5XpkVk+yofJmyMW/zuPjJamXBp6BhxfzspsFfjXW5uIqHqJp NpTPM8dvjQ2LZagO/VmuvIa95AlRlg=="
            ],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "18.239.83.46",
            "18.239.83.15",
            "18.239.83.91",
            "18.239.83.25"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 a ip4:167.89.8.27 ip4:54.240.30.149 ip4:54.240.30.150 ip4:167.89.13.39 ip4:168.245.22.255 ip4:192.254.123.1 ip4:198.21.3.120 ip4:198.37.146.167 ip4:149.72.134.223 ip4:149.72.211.101 ip4:168.245.110.212 ip4:149.72.215.127 ip4:149.72.215.133 ip4:149.72.51.146 ip4:149.72.61.51 include:mail.zendesk.com include:_spf.google.com include:shops.shopify.com include:243899479.spf02.hubspotemail.net include:_spf.salesforce.com -all",
        "dmarc": "v=DMARC1; p=reject; rua=mailto:8i4cvyng@ag.dmarcian.com; ruf=mailto:8i4cvyng@fr.dmarcian.com;",
        "dkim_selector": "google",
        "dkim_host": "google._domainkey.classdojo.com",
        "dkim": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAim63NyczRjAIZl5mbnA0YULtOQ1lIYVB/YxMuZpqQ66Xjpf6ldcl57lNPBXRmSfwz8sQZPkyR/Yb3bho35prOPQeWNFITuGRAZe3md7tbN/1LF4UGDMTnltzYQ3OknbqgFPZEva8vI9fWsYOvzjRxsNP/r8vJiD1odfaghR6PYDUofRfcyMN9Y3rzLA07cfSBu3S5xQKPMhSCiQ7dRhcG8EJ+H+dr1Vw4YtCU0r05KWeu9luxoVZ9fIEhq4lSgcwsRpDLcg7rNGrPdyxHMjo45Vky2kU3xbZ7Z9IHV/97XFDr/2vsXm99yuPqFXUmBe1GHuluBjR2TFLVsCmD/C1UwIDAQAB",
        "spf_analysis": {
            "valid": true,
            "lookups": 6,
            "final": "-all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "v=BIMI1;l=;a=https://static.classdojo.com/classdojo_inc_1131992109.pem",
        "mta_sts": "v=STSv1; id=20210622085700",
        "tls_rpt": "v=TLSRPTv1; rua=mailto:mta-sts@classdojo.com"
    },
    "advanced": {
        "ptr": "server-18-239-83-46.ams58.r.cloudfront.net",
        "propagation": {
            "consistent": false,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "54.192.100.52",
                        "54.192.100.60",
                        "54.192.100.73",
                        "54.192.100.90"
                    ],
                    "time_ms": 72.06
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "18.172.134.117",
                        "18.172.134.2",
                        "18.172.134.66",
                        "18.172.134.75"
                    ],
                    "time_ms": 54.45
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "54.192.100.52",
                        "54.192.100.60",
                        "54.192.100.73",
                        "54.192.100.90"
                    ],
                    "time_ms": 62.99
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "54.192.100.52",
                        "54.192.100.60",
                        "54.192.100.73",
                        "54.192.100.90"
                    ],
                    "time_ms": 125.19
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "54.192.100.52",
                        "54.192.100.60",
                        "54.192.100.73",
                        "54.192.100.90"
                    ],
                    "time_ms": 139.68
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Amazon",
        "subject": "*.classdojo.com",
        "valid_from": "2026-04-20T19:00:00-05:00",
        "valid_to": "2026-11-04T17:59:59-06:00",
        "days_remaining": 84,
        "san": [
            "*.classdojo.com",
            "classdojo.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_128_GCM_SHA256"
    },
    "http": {
        "url": "https://www.classdojo.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "content-length": "468003",
            "location": "https://www.classdojo.com/",
            "date": "Wed, 12 Aug 2026 04:09:25 GMT",
            "server": "AmazonS3",
            "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
            "x-frame-options": "DENY",
            "x-cache": "RefreshHit from cloudfront",
            "via": "1.1 761ed095a9f60cd544d9d9d6d3398e1c.cloudfront.net (CloudFront)",
            "x-amz-cf-pop": "ORD58-P13",
            "x-amz-cf-id": "Tg1Bi5vsbRl_emqf8uSdXR-mAE0npjxLTecm-ef9BeoWU_SLa0f8uw==",
            "age": "30303",
            "content-type": "text/html",
            "last-modified": "Tue, 11 Aug 2026 22:40:29 GMT",
            "x-amz-expiration": "expiry-date=\"Tue, 10 Nov 2026 00:00:00 GMT\", rule-id=\"delete-older-than-90-days\"",
            "x-amz-version-id": "Gr9XTNDQcQd5X0.xho3M2F4WY6v05XKy",
            "cache-control": "max-age=60",
            "etag": "\"98907a4638cfedcfb701f39c518a254f\"",
            "vary": "Accept-Encoding"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": false,
            "x-content-type-options": false,
            "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": "AmazonS3",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://www.classdojo.com/",
        "title": "ClassDojo | ClassDojo",
        "description": "ClassDojo connects K-12 teachers with families. Free classroom communication, behavior tracking, and student portfolios. Used in 95% of US schools.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "18.239.83.46": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "18.239.83.15": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "18.239.83.91": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "18.239.83.25": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "alt1.aspmx.l.google.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 1.2,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4010.7,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4018,
                "banner": "",
                "error": "Connection timed out"
            }
        ]
    },
    "visitor": {
        "ip": "216.73.216.212",
        "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": 107.65
}