{
    "ok": true,
    "domain": "mapy.com",
    "generated_at": "2026-08-09T13:47:43-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 86,
        "label": "Good",
        "categories": {
            "dns": 100,
            "mail": 70,
            "security": 73,
            "network": 85,
            "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": "1 IPv4 address(es) detected."
            },
            {
                "category": "dns",
                "title": "IPv6 (AAAA)",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "1 IPv6 address(es) detected."
            },
            {
                "category": "dns",
                "title": "Name server redundancy",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "2 NS record(s); 2 or more required."
            },
            {
                "category": "dns",
                "title": "SOA record",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "Authoritative zone record."
            },
            {
                "category": "dns",
                "title": "DNSSEC chain",
                "max_points": 15,
                "earned_points": 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": 10,
                "lost_points": 0,
                "detail": "Agreement between public resolvers."
            },
            {
                "category": "mail",
                "title": "MX records",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0,
                "detail": "2 MX record(s)."
            },
            {
                "category": "mail",
                "title": "SPF",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "SPF policy published."
            },
            {
                "category": "mail",
                "title": "DMARC",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0,
                "detail": "DMARC policy published."
            },
            {
                "category": "mail",
                "title": "DKIM",
                "max_points": 20,
                "earned_points": 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": "58 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: mapy.cz"
            },
            {
                "category": "network",
                "title": "IPv4 diversity",
                "max_points": 35,
                "earned_points": 20,
                "lost_points": 15,
                "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": "1 IPv4 address(es) detected.",
                "category": "dns",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "IPv6 (AAAA)",
                "detail": "1 IPv6 address(es) detected.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "Name server redundancy",
                "detail": "2 NS record(s); 2 or more required.",
                "category": "dns",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "SOA record",
                "detail": "Authoritative zone record.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "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": "ok",
                "title": "DNS propagation",
                "detail": "Agreement between public resolvers.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "MX records",
                "detail": "2 MX record(s).",
                "category": "mail",
                "max_points": 20,
                "earned_points": 20,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "SPF",
                "detail": "SPF policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "DMARC",
                "detail": "DMARC policy published.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 25,
                "lost_points": 0
            },
            {
                "level": "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": "58 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: mapy.cz",
                "category": "network",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "level": "warning",
                "title": "IPv4 diversity",
                "detail": "Two or more IPv4 addresses receive full points.",
                "category": "network",
                "max_points": 35,
                "earned_points": 20,
                "lost_points": 15
            },
            {
                "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": [
                "77.75.77.16"
            ],
            "AAAA": [
                "2a02:598:2::1016"
            ],
            "CNAME": [],
            "MX": [
                "20 ea44c417eba73ecc.mx2.emailprofi.seznam.cz.",
                "10 ea44c417eba73ecc.mx1.emailprofi.seznam.cz."
            ],
            "TXT": [
                "\"google-site-verification=Q39NfFoRiM_dkdUCmBQhtdlP1g5fW0NydCU_7uhL748\"",
                "\"google-site-verification=C2XNlyK3j-Bh7bT-jVkta-alICc-L1MGENujsPLS7YQ\"",
                "\"v=spf1 include:spf.szn.cz ~all\"",
                "\"google-site-verification=2FPjknoNMtwlCffyYu7XZS2XtayuZQ5Wyb7sPCzDIfI\""
            ],
            "NS": [
                "ams.seznam.cz.",
                "ans.seznam.cz."
            ],
            "SOA": [
                "ans.seznam.cz. hostmaster.seznam.cz. 1785974400 900 300 604800 300"
            ],
            "CAA": [
                "0 issue \"letsencrypt.org;validationmethods=dns-01\"",
                "0 iodef \"mailto:abuse-caa@firma.seznam.cz\""
            ],
            "DS": [
                "43030 13 2 2A08BAAC8DB80F2BDC9B8F42FCA1BA4228D49B4AA3F75C0C9508359E F9058EA2"
            ],
            "DNSKEY": [
                "256 3 13 IcXW1sBqNEn5PArKYeQn6mhDrNxD844kLjYKUEB2m0tnOHIG7Sf0BGDk V4KHBrQIPFwg781sujYu+W98M7iuEA==",
                "257 3 13 9FTv6DZAZm4VVFOFHWLUOCnmNFlGfHw016TSjwfOwxaIuBDcUnGyOAZW aNO6/nPBYCHwsg3ibrnICOpM4DqWdQ=="
            ],
            "RRSIG": [
                "DNSKEY 13 2 300 20260820000000 20260730000000 43030 mapy.com. JI+GfmL5QQ/DcK8om1A2yMvYEBFo7q65Bh1Prpg699T+wPQKLtezqoDK /cTwW5/Cq3zZRQ2c9BthWMMdDC0p3g==",
                "SOA 13 2 3600 20260820000000 20260730000000 36289 mapy.com. cgHgu2P/dKkNr+ur58Zd5oQKW5Tr836+Igi//ZiEF9+2BW4M0ap2+n+8 57NZ9qcVJ1VnpZXpBcwk/v7KOSxNOA==",
                "NS 13 2 3600 20260820000000 20260730000000 36289 mapy.com. DZvNjpiXyr1emMebR3pXblKLj46YK5+DP1vc+nu0fN54SFBc1sQR+unK hrxxU7+6NV/uN3E9UJ6tfuy7RevuvQ==",
                "AAAA 13 2 3600 20260820000000 20260730000000 36289 mapy.com. jOAQayHLemSW0skOKw3N0S7hTzvckwFiYg2ytqscbsdYYHhCnsyP28m6 ZqXxnKDgZJvogtinuw0G/27j2w9bkA==",
                "DS 13 2 86400 20260816024359 20260809013359 41446 com. Eky0yI09Bjt1T4qXbjzUEvFTUtNjlSnQ2SfRt1vSaVbCacIQoslwEwwB wv2UMEPL0utL79ThlmjdXvm0CHLh1A=="
            ],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "77.75.77.16"
        ],
        "ipv6": [
            "2a02:598:2::1016"
        ]
    },
    "mail": {
        "spf": "v=spf1 include:spf.szn.cz ~all",
        "dmarc": "v=DMARC1; p=reject; rua=mailto:abuse@seznam.cz,mailto:dmarc-rua@mailkit.com;",
        "dkim_selector": "x",
        "dkim_host": "",
        "dkim": "",
        "spf_analysis": {
            "valid": true,
            "lookups": 1,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "reject"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "mapy.cz",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "77.75.77.16"
                    ],
                    "time_ms": 52.29
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "77.75.77.16"
                    ],
                    "time_ms": 445.55
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "77.75.77.16"
                    ],
                    "time_ms": 298.37
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "77.75.77.16"
                    ],
                    "time_ms": 540.58
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "77.75.77.16"
                    ],
                    "time_ms": 47.43
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "*.mapy.cz",
        "valid_from": "2026-07-09T05:03:37-05:00",
        "valid_to": "2026-10-07T05:03:36-05:00",
        "days_remaining": 58,
        "san": [
            "*.mapy.com",
            "*.mapy.cz",
            "mapy.com",
            "mapy.cz"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://mapy.com/en/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "server": "nginx",
            "date": "Sun, 09 Aug 2026 18:47:36 GMT",
            "content-type": "text/html; charset=utf-8",
            "content-length": "13298",
            "location": "https://mapy.com/en/",
            "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
            "vary": "Origin",
            "access-control-allow-credentials": "true",
            "expires": "Sun, 09 Aug 2026 18:47:35 GMT",
            "cache-control": "no-cache",
            "x-powered-by": "Express",
            "set-cookie": "User-Id=92212179a292bdcd; Max-Age=31536000; Domain=.mapy.com; Path=/; Expires=Mon, 09 Aug 2027 18:47:36 GMT; Secure",
            "content-security-policy": "base-uri 'none';object-src 'none';script-src 'unsafe-inline' https: 'nonce-2db74c2bbc3eeb437a13c12ea3dc5143' 'strict-dynamic' 'wasm-unsafe-eval';form-action 'self';report-to default;",
            "reporting-endpoints": "default=\"https://mapy.com/api/browser-report\""
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": true,
            "x-content-type-options": false,
            "x-frame-options": false,
            "referrer-policy": false,
            "permissions-policy": false,
            "cross-origin-opener-policy": false,
            "cross-origin-embedder-policy": false,
            "cross-origin-resource-policy": false
        },
        "server": "nginx",
        "powered_by": "Express"
    },
    "webpage": {
        "url": "https://mapy.com/en/",
        "title": "Mapy.com",
        "description": "The Mapy.cz service is growing into a new portal, Mapy.com. It offers detailed search on maps of the entire world. It displays hiking trails, cycling paths, detailed maps of all cities and towns, and allows for route planning.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "77.75.77.16": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "ea44c417eba73ecc.mx2.emailprofi.seznam.cz",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 130.4,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 128.2,
                "banner": "",
                "error": "No connection"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4149,
                "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": 83.71
}