{
    "ok": true,
    "domain": "um-surabaya.ac.id",
    "generated_at": "2026-08-10T05:35:59-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 70,
        "label": "Fair",
        "categories": {
            "dns": 75,
            "mail": 65,
            "security": 65,
            "network": 20,
            "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": 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": 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": "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": 0,
                "lost_points": 25,
                "detail": "DMARC policy not found."
            },
            {
                "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": 0,
                "lost_points": 35,
                "detail": "0 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": 20,
                "lost_points": 15,
                "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/1.1 200 OK"
            },
            {
                "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": "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": "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": "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": "error",
                "title": "DMARC",
                "detail": "DMARC policy not found.",
                "category": "mail",
                "max_points": 25,
                "earned_points": 0,
                "lost_points": 25
            },
            {
                "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": "error",
                "title": "HTTP security headers",
                "detail": "0 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 0,
                "lost_points": 35
            },
            {
                "level": "error",
                "title": "PTR reverse DNS",
                "detail": "PTR not detected.",
                "category": "network",
                "max_points": 30,
                "earned_points": 0,
                "lost_points": 30
            },
            {
                "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": "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/1.1 200 OK",
                "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": [
                ";; communications error to 69.64.44.20#53: timed out",
                "103.114.35.112"
            ],
            "AAAA": [],
            "CNAME": [
                ";; communications error to 69.64.44.20#53: timed out"
            ],
            "MX": [
                "10 alt3.aspmx.l.google.com.",
                "5 alt2.aspmx.l.google.com.",
                "10 alt4.aspmx.l.google.com.",
                "1 aspmx.l.google.com.",
                "5 alt1.aspmx.l.google.com."
            ],
            "TXT": [
                "\"facebook-domain-verification=8r14yuqabt8dij8kk0na9m4xhxbrz7\"",
                "\"ahrefs-site-verification_6367f218fe6bf6d6c2389487e728fbfb51efb83546367eb64f735d5477c1f35c\"",
                "\"google-site-verification=Lve9TPuJ5Wn7haU_D8QkXGsFV5IMXSQwfCw6_NU-1AY\"",
                "\"v=spf1 include:_spf.google.com ~all\"",
                "\"MS=ms77618554\""
            ],
            "NS": [
                "ns2.mysrsx.net.",
                "ns4.mysrsx.org.",
                "ns3.mysrsx.biz.",
                "ns1.mysrsx.com."
            ],
            "SOA": [
                "ns1.mysrsx.com. masyusuf.gmail.com. 2026081000 86400 7200 3600000 86400"
            ],
            "CAA": [
                ";; communications error to 69.64.44.20#53: timed out"
            ],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [
                "NSEC 8 3 86400 20260906202609 20260807194910 30876 ac.id. LMscH5pYUOam0Vq8lIryFs69u4vmBhXb4vQ+Z6OS3svyXQZDAcoJ4TQZ 03nQEmJHThhMjIEuOYol5HwzR9Ax7YG6tKv6EEEp7GdLb9m2Jm1SnqTk ENvC4b4O4SWBx3KZJZRXoiIxSVknn7HD113gde9BaYDgsIhUaekEIk18 0wCku5dwP34OC5Kuw0oU4W+XKMABbWkLWpsZ1o6n2IvgXF095IeoisL8 PhSGYN8pZchwN+zW5s349B1JhQnKObJ9N/IQvmV3ouk0x8Gq6ktw+XWW J8xdTQBuJbdRPGMnH9vU4gCRPTH5cDasrMna/wq3QYROFrmIdCBou7KZ v9MZQw=="
            ],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "103.114.35.112"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 include:_spf.google.com ~all",
        "dmarc": "",
        "dkim_selector": "mail",
        "dkim_host": "mail._domainkey.um-surabaya.ac.id",
        "dkim": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDd2t+qPrzJwfE0ZnDkMiRtoeCD3ayr1uBpHjVrzcX1ILtUpSmuXAiWE0eeLdl2xHYdflqgoZQkLcCSXWmr5sk7GGZoXt+T2wCxii2qtxJi9x9RjT4UXRthuA0KWBqnvUxKVw7HToRzNvh62CCKEctcJrZGz/J2h+1bITj3YpPJQIDAQAB",
        "spf_analysis": {
            "valid": true,
            "lookups": 1,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": false,
            "policy": ""
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "103.114.35.112"
                    ],
                    "time_ms": 98.75
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "103.114.35.112"
                    ],
                    "time_ms": 142.98
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "103.114.35.112"
                    ],
                    "time_ms": 254.66
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "103.114.35.112"
                    ],
                    "time_ms": 55.88
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "103.114.35.112"
                    ],
                    "time_ms": 541.32
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "um-surabaya.ac.id",
        "valid_from": "2026-07-17T07:41:29-05:00",
        "valid_to": "2026-10-15T07:41:28-05:00",
        "days_remaining": 66,
        "san": [
            "um-surabaya.ac.id",
            "umsura.ac.id",
            "www.um-surabaya.ac.id",
            "www.umsura.ac.id"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.um-surabaya.ac.id/",
        "status": "HTTP/1.1 200 OK",
        "http_version": "2",
        "headers": {
            "server": "nginx",
            "date": "Mon, 10 Aug 2026 10:35:49 GMT",
            "content-type": "text/html; charset=UTF-8",
            "content-length": "162",
            "connection": "keep-alive",
            "location": "https://www.um-surabaya.ac.id/",
            "set-cookie": "ci_session=igc4n9u7lc5i1aqcppggj6bk0n2rl0hg; expires=Mon, 10-Aug-2026 12:35:49 GMT; Max-Age=7200; path=/; HttpOnly; SameSite=Lax",
            "expires": "Thu, 19 Nov 1981 08:52:00 GMT",
            "cache-control": "no-store, max-age=0, no-cache",
            "pragma": "no-cache"
        },
        "security_checks": {
            "strict-transport-security": false,
            "content-security-policy": false,
            "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": ""
    },
    "webpage": {
        "url": "https://www.um-surabaya.ac.id/",
        "title": "Beranda | Universitas Muhammadiyah Surabaya",
        "description": "Universitas Muhammadiyah Surabaya (Kampus Para Juara) merupakan salah satu perguruan tinggi swasta di bawah naungan amal usaha Muhammadiyah Jawa Timur. UMSURA sebagai universitas yang unggul di bidang intelektualitas, moralitas,dan berjiwa entrepreneur.",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "103.114.35.112": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "alt3.aspmx.l.google.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 1,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4003.4,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4021.2,
                "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": 93.85
}