{
    "ok": true,
    "domain": "onb.ac.at",
    "generated_at": "2026-08-10T11:30:22-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 80,
        "label": "Good",
        "categories": {
            "dns": 75,
            "mail": 90,
            "security": 73,
            "network": 50,
            "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": "3 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": "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": "210 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: weblive.onb.ac.at"
            },
            {
                "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": "3 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": "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": "210 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: weblive.onb.ac.at",
                "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": "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": [
                "193.170.112.209"
            ],
            "AAAA": [],
            "CNAME": [],
            "MX": [
                "0 onb-ac-at.mail.protection.outlook.com."
            ],
            "TXT": [
                "\"HARICA-H9zklOwBnknZbyGGHeU\"",
                "\"atlassian-domain-verification=cMx6alu/4fYGrhnq4LFjv/DuBMkA/uSNmZNiUFBkjT3pgQ/yVHhwprZaNzdf2Sp5\"",
                "\"v=spf1 mx ip4:193.170.113.232 include:spf.protection.outlook.com a:cmail.obvsg.at include:spf-eu.exlibrisgroup.com include:spf1.eyepinnews.com include:mailing.sagedpw.at -all\""
            ],
            "NS": [
                "ns2.onb.ac.at.",
                "ns5.univie.ac.at.",
                "ns1.onb.ac.at."
            ],
            "SOA": [
                "ns1.onb.ac.at. hostmaster.onb.ac.at. 2026061501 28800 3600 1209600 3600"
            ],
            "CAA": [
                "0 issue \"harica.gr\""
            ],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "193.170.112.209"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 mx ip4:193.170.113.232 include:spf.protection.outlook.com a:cmail.obvsg.at include:spf-eu.exlibrisgroup.com include:spf1.eyepinnews.com include:mailing.sagedpw.at -all",
        "dmarc": "v=DMARC1; p=none; rua=mailto:dmarc@onb.ac.at",
        "dkim_selector": "selector1",
        "dkim_host": "selector1._domainkey.onb.ac.at",
        "dkim": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0diYURcswFdXlHcL688jK3JifE96WWJDXD8LFdWyvXoNYIxULsb3kO/Wj8hROAZA9Xes84k2FfpnkOBhI28bXG4AWM2mXAI62g+LF0iuaIsNGSwmQ7ijpvB0JNgK8XiP2MUEoTgnLIIt2mVt2Z2Umc0yHs1Gxrxp2q0AtbfZeRNok64lGvbxUPs6JnPB2OFNSnMT6JXsLFUWlTxZCTZjQesQYf1vqTxKRkWM8o0/6RqtPkY7al5tVQdFKQIkU2+lZHwV7ierolx2AOgPjIlZEOWO3C9iGI1Lem+O5IgaNpQiLhh0mKnrpbjOWMlb84YLsGR+DF3yzmIhj5eRT/GeGQIDAQAB;",
        "spf_analysis": {
            "valid": true,
            "lookups": 6,
            "final": "-all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "none"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "weblive.onb.ac.at",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "193.170.112.209"
                    ],
                    "time_ms": 172.32
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "193.170.112.209"
                    ],
                    "time_ms": 354.91
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "193.170.112.209"
                    ],
                    "time_ms": 46.95
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "193.170.112.209"
                    ],
                    "time_ms": 556.58
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "193.170.112.209"
                    ],
                    "time_ms": 332.29
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Hellenic Academic and Research Institutions CA",
        "subject": "onb.ac.at",
        "valid_from": "2026-03-09T02:22:53-05:00",
        "valid_to": "2027-03-09T01:22:53-06:00",
        "days_remaining": 210,
        "san": [
            "onb.ac.at",
            "onb.at",
            "webmail.onb.ac.at",
            "oenb.ac.at",
            "netguides.onb.ac.at",
            "www.oenb.ac.at",
            "jobs.onb.ac.at",
            "nationalbibliothek.at",
            "www.onb.ac.at",
            "wissensportal.onb.ac.at",
            "personal.onb.ac.at",
            "www.onb.at",
            "forms.onb.ac.at",
            "www.nationalbibliothek.at"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.onb.ac.at/",
        "status": "HTTP/1.1 200 OK",
        "http_version": "2",
        "headers": {
            "date": "Mon, 10 Aug 2026 16:30:12 GMT",
            "server": "Apache",
            "location": "https://www.onb.ac.at/",
            "content-type": "text/html; charset=utf-8",
            "content-language": "de",
            "cache-control": "max-age=0",
            "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
            "expires": "Mon, 10 Aug 2026 16:30:12 GMT",
            "x-ua-compatible": "IE=edge",
            "x-content-type-options": "nosniff"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": false,
            "x-content-type-options": true,
            "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": "Apache",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://www.onb.ac.at/",
        "title": "Österreichische Nationalbibliothek - Startseite",
        "description": "Herzlich willkommen in der Österreichischen Nationalbibliothek – der größten Bibliothek und zentralen Gedächtnisinstitution des Landes. \r\nNützen Sie den Bibliotheksservice eines modernen Informationszentrums.\r\nEntdecken Sie die Bestände und Schätze aus acht Sammlungen.\r\nErleben Sie den Prunksaal und fünf Museen mit spannenden Dauer- und Sonderausstellungen.",
        "success": true,
        "error": "",
        "status": 206
    },
    "network": {
        "193.170.112.209": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "onb-ac-at.mail.protection.outlook.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 36.1,
                "banner": "",
                "error": "Network is unreachable"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4026.8,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4013.5,
                "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": 87.02
}