{
    "ok": true,
    "domain": "nssf.org",
    "generated_at": "2026-08-12T13:03:43-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 82,
        "label": "Good",
        "categories": {
            "dns": 70,
            "mail": 90,
            "security": 88,
            "network": 35,
            "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": 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": 0,
                "lost_points": 15,
                "detail": "Both DS and DNSKEY are required."
            },
            {
                "category": "dns",
                "title": "CAA policy",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "detail": "Certificate authority restriction."
            },
            {
                "category": "dns",
                "title": "DNS propagation",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "Agreement between public resolvers."
            },
            {
                "category": "mail",
                "title": "MX records",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "1 MX record(s)."
            },
            {
                "category": "mail",
                "title": "SPF",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "SPF policy published."
            },
            {
                "category": "mail",
                "title": "DMARC",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "DMARC policy published."
            },
            {
                "category": "mail",
                "title": "DKIM",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "A DKIM selector was verified."
            },
            {
                "category": "mail",
                "title": "MTA-STS",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "detail": "Mail transport policy."
            },
            {
                "category": "mail",
                "title": "TLS-RPT",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5,
                "detail": "TLS reporting policy."
            },
            {
                "category": "security",
                "title": "Valid TLS certificate",
                "max_points": 55,
                "earned_points": 55,
                "lost_points": 0,
                "detail": "66 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": 23,
                "lost_points": 12,
                "detail": "6 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": 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": "2 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": "error",
                "title": "DNSSEC chain",
                "detail": "Both DS and DNSKEY are required.",
                "category": "dns",
                "max_points": 15,
                "earned_points": 0,
                "lost_points": 15
            },
            {
                "level": "error",
                "title": "CAA policy",
                "detail": "Certificate authority restriction.",
                "category": "dns",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "ok",
                "title": "DNS propagation",
                "detail": "Agreement between public resolvers.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "MX records",
                "detail": "1 MX record(s).",
                "category": "mail",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "SPF",
                "detail": "SPF policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DMARC",
                "detail": "DMARC policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DKIM",
                "detail": "A DKIM selector was verified.",
                "category": "mail",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "error",
                "title": "MTA-STS",
                "detail": "Mail transport policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "error",
                "title": "TLS-RPT",
                "detail": "TLS reporting policy.",
                "category": "mail",
                "max_points": 5,
                "earned_points": 0,
                "lost_points": 5
            },
            {
                "level": "ok",
                "title": "Valid TLS certificate",
                "detail": "66 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": "6 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 23,
                "lost_points": 12
            },
            {
                "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": "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": [
                "141.193.213.21",
                "141.193.213.20"
            ],
            "AAAA": [],
            "CNAME": [],
            "MX": [
                "0 nssf-org.mail.protection.outlook.com."
            ],
            "TXT": [
                "\"pardot_127421_*=6bc3bb98ace45942c99a63c8e455bf8f964c1aa9ca0840ba5b71eeae4737a203\"",
                "\"MS=ms89129729\"",
                "\"v=spf1 redirect=nssf.org.hosted.spf-report.com\"",
                "\"sending_domain1126023=a62a4d3ca006c8cc9f8e1cf4f430945a7a18ff05c445fbad897ef5e8ef453ef5\"",
                "\"pardot1126023=a2415ecdaed73601d256890da295c83b3db57f78f35502e93b6d1d53af7c2d3f\"",
                "\"google-site-verification=_WMhANOlTfV2F-wV6p5BrSS9uRxHmrkcyrhvB0NDjQk\"",
                "\"7aUJBqLv3PQMlBGi78HeMc8zub3xqkmbMtlorFNnZQPPROoPqq+/YjOkIo5ClWAMSkSVyngw/ZjFxncJYf+zDg==\"",
                "\"intacct-esk=4FED1A52E919FB29E0539806A8C030B6\"",
                "\"google-site-verification=dutRDfh_937RfGgH6tgv_4Xam1i29ARExhYqL-QX73Q\"",
                "\"e2ma-verification=3ateb\"",
                "\"00D15000000NbUB=1TBUa00000002oE\"",
                "\"facebook-domain-verification=ntg3q0nmbu03y1okbxn5ixfp35lp6d\"",
                "\"sending_domain1126013=44e9a392eaf1a36406748d90e181221cfd7a06be0e19fba6dc527e40b177224d\""
            ],
            "NS": [
                "pdns99.ultradns.com.",
                "pdns99.ultradns.net.",
                "pdns99.ultradns.biz.",
                "pdns99.ultradns.org."
            ],
            "SOA": [
                "pdns99.ultradns.com. dave\\.patterson.nssf.org. 2015113478 14400 3600 1209600 86400"
            ],
            "CAA": [],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "141.193.213.21",
            "141.193.213.20"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 redirect=nssf.org.hosted.spf-report.com",
        "dmarc": "v=DMARC1; p=reject; rua=mailto:b3394c20@mxtoolbox.dmarc-report.com; ruf=mailto:b3394c20@forensics.dmarc-report.com; fo=1; pct=100",
        "dkim_selector": "selector1",
        "dkim_host": "selector1._domainkey.nssf.org",
        "dkim": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtbY9jr1kurnMDdHkue0GvgupXLeIlN9PtiLeyCaDCZU5argd6yhsdUWJWCTQBq0OGucbrXz9av/itYcsrwRIm3tlgoDRZlTLK63KMd89hI5KAweiXbwnuhwEzXhQkplq5KfzCkCK2NlXH19vCzCrDfEJf0CLPaPy1Q8V0pmP0aJx488VVrQwRum1jdK8XhJMNeJB+k3SB8tOcWzGXSyVmZuTfLg83hKBq37ZLQPLUaDyNb+kom9bE8bgzrjayqxaEZpruB4nudY3vxf97GT/4a7bEP/EO5Xr64dCrgsZF6DkmRv0gI2k+QC+GiEcz0/gNJ4qYTfVBxSLI+Q8LjNwPQIDAQAB;",
        "spf_analysis": {
            "valid": true,
            "lookups": 1,
            "final": "",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "141.193.213.20",
                        "141.193.213.21"
                    ],
                    "time_ms": 66.7
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "141.193.213.20",
                        "141.193.213.21"
                    ],
                    "time_ms": 47.42
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "141.193.213.20",
                        "141.193.213.21"
                    ],
                    "time_ms": 40.89
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "141.193.213.20",
                        "141.193.213.21"
                    ],
                    "time_ms": 35.91
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "141.193.213.20",
                        "141.193.213.21"
                    ],
                    "time_ms": 411.92
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Google Trust Services",
        "subject": "nssf.org",
        "valid_from": "2026-07-20T08:18:32-05:00",
        "valid_to": "2026-10-18T09:18:24-05:00",
        "days_remaining": 66,
        "san": [
            "nssf.org"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.nssf.org/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "date": "Wed, 12 Aug 2026 18:03:35 GMT",
            "content-type": "text/html; charset=UTF-8",
            "location": "https://www.nssf.org/",
            "server": "cloudflare",
            "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
            "x-content-type-options": "nosniff",
            "x-frame-options": "SAMEORIGIN",
            "set-cookie": "__cf_bm=TZluMPTTbXqZUOFuTlqsghXwfNV2mvZUlrI0_ox8wEo-1786557815.0830798-1.0.1.1-ulHPM5t7IJgrS_zlyKl1v9NXgFJx2rFO.mVh7BhqFpbIbjl.VlmktNzIzUlOJ.BJCYmuv7cU7IryD0BluSiFAaLXmWybQ2TfOUYOrkx7VzHp3jDdzkapyYqO_VKb.R4w; HttpOnly; SameSite=None; Secure; Path=/; Domain=www.nssf.org; Expires=Wed, 12 Aug 2026 18:33:35 GMT",
            "cf-cache-status": "BYPASS",
            "cf-ray": "a2a165c84ff4e810-ORD",
            "alt-svc": "h3=\":443\"; ma=86400",
            "vary": "Accept-Encoding,Cookie",
            "content-security-policy-report-only": "default-src 'self' https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; worker-src 'self' blob:; style-src 'self' 'unsafe-inline' https:; img-src 'self' https: data:; font-src 'self' https: data:; connect-src 'self' https:;",
            "link": "<https://www.nssf.org/>; rel=shortlink",
            "x-powered-by": "WP Engine",
            "x-cacheable": "SHORT",
            "cache-control": "max-age=600, must-revalidate",
            "x-cache": "HIT: 31",
            "x-cache-group": "normal",
            "content-security-policy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://nssf-gr.s3.us-east-1.amazonaws.com https://public.tableau.com https://www.googletagmanager.com https://www.google.com https://maps.googleapis.com https://cdn.jsdelivr.net https://cdnjs.cloudflare.com https://*.monsido.com https://www.youtube.com https://*.pardot.com https://marvel-b2-cdn.bc0a.com https://www.gstatic.com https://www.google-analytics.com https://ssl.google-analytics.com https://analytics.google.com https://app-cf.bc0a.com https://addevent.com https://www.addevent.com https://connect.facebook.net https://snap.licdn.com https://tags.srv.stackadapt.com https://googleads.g.doubleclick.net https://www2.nssf.org; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://fonts.gstatic.com https://use.fontawesome.com https://cdn.jsdelivr.net https://unpkg.com https://tags.srv.stackadapt.com; font-src 'self' https://fonts.gstatic.com https://use.fontawesome.com data:; img-src 'self' data: https: blob:; frame-src 'self' https://www.google.com https://nssf.widencollective.com https://*.quorum.us https://www.recaptcha.net https://www.googletagmanager.com https://www.youtube.com https://www.youtube-nocookie.com https://www.gstatic.com https://player.vimeo.com https://go.pardot.com https://vimeo.com https://www.facebook.com https://www.nssf.org https://www2.nssf.org; connect-src 'self' https://www.google.com https://www.googletagmanager.com https://maps.googleapis.com https://hooks.zapier.com https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.pardot.com https://*.monsido.com https://analytics.google.com https://stats.g.doubleclick.net https://app-cf.bc0a.com https://app-cdn.bc0a.com https://px.ads.linkedin.com https://tags.srv.stackadapt.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'; worker-src 'self' blob:;",
            "permissions-policy": "geolocation=(self), camera=(), microphone=()",
            "referrer-policy": "strict-origin-when-cross-origin"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": true,
            "x-content-type-options": true,
            "x-frame-options": true,
            "referrer-policy": true,
            "permissions-policy": true,
            "cross-origin-opener-policy": false,
            "cross-origin-embedder-policy": false,
            "cross-origin-resource-policy": false
        },
        "server": "cloudflare",
        "powered_by": "WP Engine"
    },
    "webpage": {
        "url": "https://www.nssf.org/",
        "title": "NSSF | The Firearm Industry Trade Association",
        "description": "As the firearm industry trade association, NSSF leads the way in advocating for the industry and its business and jobs, keeping guns out of the wrong hands, encouraging enjoyment of recreational shooting and hunting and helping people better understand the industry’s lawful products.",
        "success": true,
        "error": "",
        "status": 206
    },
    "network": {
        "141.193.213.21": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "141.193.213.20": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "nssf-org.mail.protection.outlook.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 24.3,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4042.6,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4010.4,
                "banner": "",
                "error": "Connection timed out"
            }
        ]
    },
    "visitor": {
        "ip": "216.73.216.220",
        "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": 98.87
}