{
    "ok": true,
    "domain": "openrepository.com",
    "generated_at": "2026-08-11T06:01:21-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 83,
        "label": "Good",
        "categories": {
            "dns": 85,
            "mail": 90,
            "security": 77,
            "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": "5 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": 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": "54 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": 12,
                "lost_points": 23,
                "detail": "3 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "PTR: ec2-63-32-122-90.eu-west-1.compute.amazonaws.com"
            },
            {
                "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/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": "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": "5 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": "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": "54 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": "3 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 12,
                "lost_points": 23
            },
            {
                "level": "ok",
                "title": "PTR reverse DNS",
                "detail": "PTR: ec2-63-32-122-90.eu-west-1.compute.amazonaws.com",
                "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/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": [
                "63.32.122.90"
            ],
            "AAAA": [],
            "CNAME": [],
            "MX": [
                "10 mail4.atmire.com."
            ],
            "TXT": [
                "\"v=spf1 ip4:86.39.200.122/32 ip4:52.208.117.227/32 ip4:63.32.122.90/32 ip4:18.205.45.225 include:_spf.google.com ~all\""
            ],
            "NS": [
                "ns.bnamed.eu.",
                "ns.bnamed.uk.",
                "ns.nscluster.at.",
                "ns.nscluster.de.",
                "ns.bnamed.us."
            ],
            "SOA": [
                "ns.bnamed.eu. hostmaster.bnamed.eu. 2026080601 7200 3600 1209600 901"
            ],
            "CAA": [],
            "DS": [
                "43855 8 2 6C7C128D6C65E34527873613AF7A7E917CB286AE82467944060AA984 AC4D8FFD"
            ],
            "DNSKEY": [
                "256 3 8 AwEAAawBut2J6ygDlOUXgnKrg/3ejbsMV9qmwwUZ6L+cKBwrXyoFR99a KxNqP+3bSpqrMQHA5L2Sf4+6PRmtczVS7Uiv5zxqvI3y9DmPj2qPyON0 3XoFi42EtKpVlFVKoch/TyzO4Syu+SJBajH7mPZ3kcsIX6T0aJmxqXVv U3EWOe7D",
                "257 3 8 AwEAAbighMNt6UKvD2ZdnqlHOOxE6tWPrnHaeLDU3BwnCMB3VXP/oYpu bo7J1nPj0MnXAvVn/DFBqTXcMkkJQYIBP+CWSwgrr40LIMCM3wCaURHW PHkpsK4gPBekgVexlFJBtjiwO8/Qq/QPDGBExoWANfFNm8CVKrBanU4L R0L2KS9z7FooOhZpyPRqZ4qaHSgaVV4sZet85g67vheR8ulxnBlkE2Pl cvab0hU4/h5Inpv5T7Cug/BpeUHt4LknKWQ65vsTgd3o61ZZs607kh2G +h4xqjw84YRuLPKiYzfUkHUl1bh6jFO7DHQwbLh6ZjqvXqoS13qH93bP aiDsgJcylFs="
            ],
            "RRSIG": [
                "NS 8 2 901 20260820000000 20260730000000 65508 openrepository.com. fAWINweMDGYrIAEY0qnK2Ai/kuSuSWxb2qtrHMI3WUX9G1C3pwgqUlHf Jz5+fKazm9EvnfALFMR43QQZ9mPH/hoAjleJfVL+EMFWBH6eOmAnuyVj 9qVZQHIWd9r2qdzRiiVNU+L1EMkpsR1PDDCM4VPAITt0VOq6O1E8Lzgr IIM=",
                "MX 8 2 901 20260820000000 20260730000000 65508 openrepository.com. PRt5MvkEZhQ/HyFoD3NDz9ihFIDTdsMhMcCDyiXgdvbMkeLY5QaqwL4K DFqh9PrFYzfL1k4KCnm4qBwHjSHi5WFKGOOwdn9eLx6K8PR03+9vN4tF uxtrC+duDes9DowLarvAEX+KlydqIrc7kFbA5oyIVmd4b4RucewNjfqZ 6Ng=",
                "A 8 2 901 20260820000000 20260730000000 65508 openrepository.com. H4Z21oN4Bf7Inc+a6ihhwXl69qKnu12UM+E4/trWUBp9MLkuReEvx9pa 8fFjTFasuZRGHmQXobTM8XM3hTXCpby9Y29c7IPYm98zxuF6cPaUuzAh eMAifAnniyG9Vmz7SvN5WJVEGcsRkC++XmyypAbXnE52Ht4szaH8yWLL +i4=",
                "SOA 8 2 901 20260820000000 20260730000000 65508 openrepository.com. TfiDGFaeS21842J3vxqPdf308ecmvJcYWM4TEW/s16H/PNXA/kOmYxEB 9AGRfbFSiIHiMuX3hl5SP9F6TYnFSP108QdigVX4Sef+Lh/+md6LjC3+ 3l4tPE8Hx2RUYi9v+s/vSYR2HXllnAxKS4+XnMPLoxJiMgvOD7gORDv/ qPc=",
                "DNSKEY 8 2 901 20260820000000 20260730000000 43855 openrepository.com. Lxg6RjVh1Thn8H+n+1+wG868S75817xaFfWC225P0lihsfV7uvE+YlzP RZNKyg8ahAvEUeykfziFCAPB5uzo8FjDvBq66jWj3FFb1N3Jq7F6LKQu o0wYwA4X1lIZavWIz/61Fkhds01ZDWwv3OqJu8J3tApiMjX1FFdkVnXX V8bO+0qNgu+AjZP65jZkB/be3Mjn6E2+3BonWLQ61PCT7ommHlK8epiu Kx9TPjBQtKyD0zVjRpxcAlrhh+z0n7gBDBCk5cjlNm59Z4Epi4PqUmov T9p+3U4OwRn70IXjacbIFf9uatZvs26swwap5W0sC3w+PUXi4/ZOYnQm A52JgA==",
                "TXT 8 2 901 20260820000000 20260730000000 65508 openrepository.com. V3dQVnXuTF8Bzm7Bg6ILFcteQ9VWT4Sow2k3OV7W4irkIw3QmqIu3NWO jWRyKqK3iYo0c3TyQTO0wCIaZ+e4QpsbYT11zR8H9BStNUdazTmNDscs xjLeYLEEBWGKAl7AJycU+Hgd0jvIoDswftjB74QKw8w+oeu6VgJJ0gl/ UIU=",
                "DS 13 2 86400 20260818023851 20260811012851 41446 com. g9PXNiaxxgyn5qhBPJDyFWrxOzmAZZvflU83GSP7zSH6znBenCeyVNkT GRmVt9+LJjbCWJUQX1H1XK9fpntmJg==",
                "NSEC3PARAM 8 2 901 20260820000000 20260730000000 65508 openrepository.com. bZK27Fo5CVDGYcm5GlHVyHL6dcPiP6NjBuQDDEGWjTmlzTryaGrurlr5 xpKl24MjJXsjM86sObQshXcp2dSUv5mbT9C5ZLfT6qR7heqRXqlbb2y0 86Elw89BpzBruedNdSuWPb2OcmzFkLR4nrk3bmI1GFa6txKBPTKtXt86 7P8="
            ],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "63.32.122.90"
        ],
        "ipv6": []
    },
    "mail": {
        "spf": "v=spf1 ip4:86.39.200.122/32 ip4:52.208.117.227/32 ip4:63.32.122.90/32 ip4:18.205.45.225 include:_spf.google.com ~all",
        "dmarc": "v=DMARC1; p=none; rua=mailto:admin@openrepository.com;",
        "dkim_selector": "dkim",
        "dkim_host": "dkim._domainkey.openrepository.com",
        "dkim": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAub/Dxt6B6g4byiZhVwkV57O8R7WsoJ6aoz777kE6Jvn1b+HxamFQawka79y9IZPiaSNoiJ+/HI/dYXxiAlISv0UKs0bYkUuRrsCL993BfcZCGvN9iGFy7FgZUR7B8b93XNSDsWd2/7Xyh5BfrcRNgih/XzLeZRXrVi31bYOzeJ33OpRPpyeqW19FZivsi5enpjiqplbtOu5PG4UU9CwxuginF5uKXUoWQT78BY46iJ/JtHTzCmY+3GPgCkOhQokOHPLEzbYPFbt70WILlOU8YB9uE5WSw8NrjXgObvNC/Wg2nR8zBtJ6C0d/8J+mtXz39vSEcuniOdxcsO6kXwPEKQIDAQAB",
        "spf_analysis": {
            "valid": true,
            "lookups": 1,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "none"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "ec2-63-32-122-90.eu-west-1.compute.amazonaws.com",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "63.32.122.90"
                    ],
                    "time_ms": 134.19
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "63.32.122.90"
                    ],
                    "time_ms": 71.47
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "63.32.122.90"
                    ],
                    "time_ms": 97.13
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "63.32.122.90"
                    ],
                    "time_ms": 296.1
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "63.32.122.90"
                    ],
                    "time_ms": 96.61
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "openrepository.com",
        "valid_from": "2026-07-06T18:04:14-05:00",
        "valid_to": "2026-10-04T18:04:13-05:00",
        "days_remaining": 54,
        "san": [
            "openrepository.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://www.openrepository.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
            "x-content-type-options": "nosniff",
            "x-frame-options": "SAMEORIGIN",
            "x-xss-protection": "1; mode=block",
            "location": "https://www.openrepository.com/",
            "content-type": "text/html; charset=utf-8",
            "date": "Tue, 11 Aug 2026 11:01:19 GMT",
            "server": "cloudflare",
            "set-cookie": "_cfuvid=4Oa2Lp.7xCXOGJEkWAeojA9n9tSyNLpkqSnPKDeeEDo-1786446079.2257495-1.0.1.1-hWtgCo.B5f.DodkI43HJ6yP96SdF7UaXCW0cYYJ9ukc; HttpOnly; SameSite=None; Secure; Path=/; Domain=www.openrepository.com",
            "cf-ray": "a296bddb2ee6d95e-ORD",
            "cf-cache-status": "HIT",
            "age": "7091",
            "last-modified": "Tue, 11 Aug 2026 09:04:49 GMT",
            "vary": "accept-encoding",
            "surrogate-control": "43200",
            "surrogate-key": "www.openrepository.com 59bfba24157a460001f9528b pageId:59bfba24157a460001f9528d",
            "x-wf-region": "us-east-1",
            "alt-svc": "h3=\":443\"; ma=86400"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": false,
            "x-content-type-options": true,
            "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": "cloudflare",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://www.openrepository.com/",
        "title": "Open Repository - premium DSpace hosting",
        "description": "Open Repository is the hosted repository platform from Atmire, leading repository services provider. Enhanced DSpace. Easily upload, manage, preserve and disseminate your organization's content. Curate articles, images, video, research data and metadata",
        "success": true,
        "error": "",
        "status": 200
    },
    "network": {
        "63.32.122.90": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "mail4.atmire.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 27.1,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 81.6,
                "banner": "",
                "error": "No connection"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 26.6,
                "banner": "",
                "error": "Connection refused"
            }
        ]
    },
    "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": 100.92
}