{
    "ok": true,
    "domain": "ubuntu.com",
    "generated_at": "2026-08-08T17:46:42-05:00",
    "cache": {
        "hit": true,
        "ttl": 0
    },
    "score": {
        "total": 89,
        "label": "Good",
        "categories": {
            "dns": 85,
            "mail": 70,
            "security": 96,
            "network": 100,
            "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": "3 IPv4 address(es) detected."
            },
            {
                "category": "dns",
                "title": "IPv6 (AAAA)",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0,
                "detail": "3 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": 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": "52 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": 31,
                "lost_points": 4,
                "detail": "8 of 9 evaluated headers detected."
            },
            {
                "category": "network",
                "title": "PTR reverse DNS",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0,
                "detail": "PTR: website-content-cache-3.ps5.canonical.com"
            },
            {
                "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": 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": "3 IPv4 address(es) detected.",
                "category": "dns",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "level": "ok",
                "title": "IPv6 (AAAA)",
                "detail": "3 IPv6 address(es) detected.",
                "category": "dns",
                "max_points": 10,
                "earned_points": 10,
                "lost_points": 0
            },
            {
                "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": "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": "52 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": "8 of 9 evaluated headers detected.",
                "category": "security",
                "max_points": 35,
                "earned_points": 31,
                "lost_points": 4
            },
            {
                "level": "ok",
                "title": "PTR reverse DNS",
                "detail": "PTR: website-content-cache-3.ps5.canonical.com",
                "category": "network",
                "max_points": 30,
                "earned_points": 30,
                "lost_points": 0
            },
            {
                "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": "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": [
                "185.125.190.29",
                "185.125.190.21",
                "185.125.190.20"
            ],
            "AAAA": [
                "2620:2d:4000:1::27",
                "2620:2d:4000:1::26",
                "2620:2d:4000:1::28"
            ],
            "CNAME": [],
            "MX": [
                "10 mx.ubuntu.com."
            ],
            "TXT": [
                "\"v=spf1 include:_spf.canonical.com include:spf.forwardemail.net ~all\"",
                "\"forward-email-site-verification=6IsURgl2t7\"",
                "\"google-site-verification=8CcvY6fsgRbiFk2nyEaiA9rE-ykXOcWUPjJKlO6P4vk\""
            ],
            "NS": [
                "ns3.canonical.com.",
                "ns2.canonical.com.",
                "ns1.canonical.com."
            ],
            "SOA": [
                "ns1.canonical.com. hostmaster.canonical.com. 2018065908 10800 3600 604800 3600"
            ],
            "CAA": [
                "0 issue \"digicert.com\"",
                "0 issuewild \"letsencrypt.org\"",
                "0 iodef \"mailto:is-admin@canonical.com\"",
                "0 issue \"letsencrypt.org\"",
                "0 issuewild \"digicert.com\"",
                "0 issue \"letsencrypt.org; accounturi=https://acme-v01.api.letsencrypt.org/acme/reg/32541290\""
            ],
            "DS": [],
            "DNSKEY": [],
            "RRSIG": [],
            "NSEC": [],
            "NSEC3": [],
            "SRV": [],
            "NAPTR": [],
            "TLSA": [],
            "SSHFP": []
        },
        "ipv4": [
            "185.125.190.29",
            "185.125.190.21",
            "185.125.190.20"
        ],
        "ipv6": [
            "2620:2d:4000:1::27",
            "2620:2d:4000:1::26",
            "2620:2d:4000:1::28"
        ]
    },
    "mail": {
        "spf": "v=spf1 include:_spf.canonical.com include:spf.forwardemail.net ~all",
        "dmarc": "v=DMARC1; p=none; pct=100; rua=mailto:dmarc-rua+ubuntu@admin.canonical.com",
        "dkim_selector": "x",
        "dkim_host": "",
        "dkim": "",
        "spf_analysis": {
            "valid": true,
            "lookups": 2,
            "final": "~all",
            "message": "Within the estimated limit"
        },
        "dmarc_analysis": {
            "valid": true,
            "policy": "none"
        },
        "bimi": "",
        "mta_sts": "",
        "tls_rpt": ""
    },
    "advanced": {
        "ptr": "website-content-cache-3.ps5.canonical.com",
        "propagation": {
            "consistent": true,
            "results": [
                {
                    "provider": "Google",
                    "server": "8.8.8.8",
                    "result": [
                        "185.125.190.20",
                        "185.125.190.21",
                        "185.125.190.29"
                    ],
                    "time_ms": 25.17
                },
                {
                    "provider": "Cloudflare",
                    "server": "1.1.1.1",
                    "result": [
                        "185.125.190.20",
                        "185.125.190.21",
                        "185.125.190.29"
                    ],
                    "time_ms": 19.28
                },
                {
                    "provider": "Quad9",
                    "server": "9.9.9.9",
                    "result": [
                        "185.125.190.20",
                        "185.125.190.21",
                        "185.125.190.29"
                    ],
                    "time_ms": 23.59
                },
                {
                    "provider": "OpenDNS",
                    "server": "208.67.222.222",
                    "result": [
                        "185.125.190.20",
                        "185.125.190.21",
                        "185.125.190.29"
                    ],
                    "time_ms": 25.38
                },
                {
                    "provider": "AdGuard",
                    "server": "94.140.14.14",
                    "result": [
                        "185.125.190.20",
                        "185.125.190.21",
                        "185.125.190.29"
                    ],
                    "time_ms": 126.04
                }
            ]
        }
    },
    "ssl": {
        "available": true,
        "issuer": "Let's Encrypt",
        "subject": "ubuntu.com",
        "valid_from": "2026-07-01T23:13:36-05:00",
        "valid_to": "2026-09-29T23:13:35-05:00",
        "days_remaining": 52,
        "san": [
            "ubuntu.com",
            "www.ubuntu.com"
        ],
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384"
    },
    "http": {
        "url": "https://ubuntu.com/",
        "status": "HTTP/2 200 ",
        "http_version": "3",
        "headers": {
            "server": "nginx/1.14.0 (Ubuntu)",
            "date": "Sat, 08 Aug 2026 22:46:34 GMT",
            "content-type": "text/html; charset=utf-8",
            "content-length": "207877",
            "content-security-policy": "default-src 'self'; img-src data: blob: *; script-src-elem 'self' 'strict-dynamic' assets.ubuntu.com www.google-analytics.com www.googletagmanager.com dev.visualwebsiteoptimizer.com www.youtube.com asciinema.org player.vimeo.com script.crazyegg.com w.usabilla.com munchkin.marketo.net serve.nrich.ai ml314.com scout-cdn.salesloft.com snippet.maze.co www.googleadservices.com js.zi-scripts.com *.g.doubleclick.net www.google.com www.gstatic.com *.googlesyndication.com js.stripe.com d3js.org www.brighttalk.com static.ads-twitter.com www.redditstatic.com snap.licdn.com connect.facebook.net cdn.livechatinc.com api.livechatinc.com secure.livechatinc.com www.tfaforms.com api.usabilla.com cdn.jsdelivr.net extend.vimeocdn.com tracking-api.g2.com 'nonce-u1sVVgEqEgULOlVhM1GXyg'; font-src 'self' data: assets.ubuntu.com cdn.livechatinc.com secure.livechatinc.com fonts.google.com; script-src 'self' blob: *.livechatinc.com *.youtube.com *.google.com *.livechat-static.com 'unsafe-eval' 'nonce-u1sVVgEqEgULOlVhM1GXyg'; connect-src 'self' *.googlesyndication.com www.google.com ubuntu.com analytics.google.com www.googletagmanager.com o4510662863749120.ingest.de.sentry.io www.google-analytics.com *.crazyegg.com scout.salesloft.com *.g.doubleclick.net js.zi-scripts.com *.mktoresp.com prompts.maze.co *.google-analytics.com pixel-config.reddit.com www.redditstatic.com conversions-config.reddit.com px.ads.linkedin.com ws.zoominfo.com youtube.com google.com www.google.com www.google.ad www.google.ae www.google.com.af www.google.com.ag www.google.al www.google.am www.google.co.ao www.google.com.ar www.google.as www.google.at www.google.com.au www.google.az www.google.ba www.google.com.bd www.google.be www.google.bf www.google.bg www.google.com.bh www.google.bi www.google.bj www.google.com.bn www.google.com.bo www.google.com.br www.google.bs www.google.bt www.google.co.bw www.google.by www.google.com.bz www.google.ca www.google.cd www.google.cf www.google.cg www.google.ch www.google.ci www.google.co.ck www.google.cl www.google.cm www.google.cn www.google.com.co www.google.co.cr www.google.com.cu www.google.cv www.google.com.cy www.google.cz www.google.de www.google.dj www.google.dk www.google.dm www.google.com.do www.google.dz www.google.com.ec www.google.ee www.google.com.eg www.google.es www.google.com.et www.google.fi www.google.com.fj www.google.fm www.google.fr www.google.ga www.google.ge www.google.gg www.google.com.gh www.google.com.gi www.google.gl www.google.gm www.google.gr www.google.com.gt www.google.gy www.google.com.hk www.google.hn www.google.hr www.google.ht www.google.hu www.google.co.id www.google.ie www.google.co.il www.google.im www.google.co.in www.google.iq www.google.is www.google.it www.google.je www.google.com.jm www.google.jo www.google.co.jp www.google.co.ke www.google.com.kh www.google.ki www.google.kg www.google.co.kr www.google.com.kw www.google.kz www.google.la www.google.com.lb www.google.li www.google.lk www.google.co.ls www.google.lt www.google.lu www.google.lv www.google.com.ly www.google.co.ma www.google.md www.google.me www.google.mg www.google.mk www.google.ml www.google.com.mm www.google.mn www.google.com.mt www.google.mu www.google.mv www.google.mw www.google.com.mx www.google.com.my www.google.co.mz www.google.com.na www.google.com.ng www.google.com.ni www.google.ne www.google.nl www.google.no www.google.com.np www.google.nr www.google.nu www.google.co.nz www.google.com.om www.google.com.pa www.google.com.pe www.google.com.pg www.google.com.ph www.google.com.pk www.google.pl www.google.pn www.google.com.pr www.google.ps www.google.pt www.google.com.py www.google.com.qa www.google.ro www.google.ru www.google.rw www.google.com.sa www.google.com.sb www.google.sc www.google.se www.google.com.sg www.google.sh www.google.si www.google.sk www.google.com.sl www.google.sn www.google.so www.google.sm www.google.sr www.google.st www.google.com.sv www.google.td www.google.tg www.google.co.th www.google.com.tj www.google.tl www.google.tm www.google.tn www.google.to www.google.com.tr www.google.tt www.google.com.tw www.google.co.tz www.google.com.ua www.google.co.ug www.google.co.uk www.google.com.uy www.google.co.uz www.google.com.vc www.google.co.ve www.google.co.vi www.google.com.vn www.google.vu www.google.ws www.google.rs www.google.co.za www.google.co.zm www.google.co.zw www.google.cat fonts.google.com api.text.com raw.githubusercontent.com *.analytics.google.com ad.doubleclick.net www.googleadservices.com www.facebook.com *.livechatinc.com *.text.com *.youtube.com *.google.com cdn.jsdelivr.net bat.bing.com bat.bing.net *.clarity.ms tracking-api.g2.com; frame-src 'self' *.doubleclick.net www.youtube.com/ asciinema.org player.vimeo.com js.stripe.com www.googletagmanager.com www.google.com www.brighttalk.com cdn.livechatinc.com secure.livechatinc.com cdn.livechat-static.com app3.trueability.com app.trueability.com pay.stripe.com www.facebook.com; style-src cdn.jsdelivr.net 'self' *.livechatinc.com *.youtube.com *.google.com 'unsafe-inline'; media-src 'self' res.cloudinary.com cdn.livechatinc.com secure.livechatinc.com cdn.livechat-static.com images.zenhubusercontent.com assets.ubuntu.com *.livechatinc.com *.youtube.com *.google.com *.livechat-static.com ubuntu.com; child-src api.livechatinc.com cdn.livechatinc.com secure.livechatinc.com youtube.com google.com fonts.google.com 'self' *.livechatinc.com *.youtube.com *.google.com blob:; object-src 'self' *.livechatinc.com *.youtube.com *.google.com; frame-ancestors https://edge-billing.stripe.com https://edge-connect.stripe.com https://edge-dashboard-admin.stripe.com https://edge-dashboard.stripe.com https://edge-docs.stripe.com https://edge-marketplace.stripe.com https://edge-support.stripe.com https://billing.stripe.com https://connect.stripe.com https://dashboard-admin.stripe.com https://dashboard.stripe.com https://docs.stripe.com https://edge-support-conversations.stripe.com https://edge.stripe.com https://marketplace.stripe.com https://stripe.com https://support-admin.corp.stripe.com https://support-conversations.stripe.com https://support.stripe.com; report-uri /csp-report;",
            "referrer-policy": "strict-origin-when-cross-origin",
            "cross-origin-embedder-policy": "unsafe-none",
            "cross-origin-opener-policy": "same-origin-allow-popups",
            "cross-origin-resource-policy": "cross-origin",
            "x-permitted-cross-domain-policies": "none",
            "vary": "Accept-Encoding",
            "x-clacks-overhead": "GNU Terry Pratchett",
            "permissions-policy": "interest-cohort=()",
            "cache-control": "max-age=60, stale-while-revalidate=86400, stale-if-error=300",
            "x-content-type-options": "NOSNIFF",
            "strict-transport-security": "max-age=15724800",
            "link": "<https://assets.ubuntu.com>; rel=preconnect; crossorigin, <https://assets.ubuntu.com>; rel=preconnect, <https://res.cloudinary.com>; rel=preconnect",
            "x-cache-status": "HIT from content-cache-il3/2",
            "accept-ranges": "bytes"
        },
        "security_checks": {
            "strict-transport-security": true,
            "content-security-policy": true,
            "x-content-type-options": true,
            "x-frame-options": false,
            "referrer-policy": true,
            "permissions-policy": true,
            "cross-origin-opener-policy": true,
            "cross-origin-embedder-policy": true,
            "cross-origin-resource-policy": true
        },
        "server": "nginx/1.14.0 (Ubuntu)",
        "powered_by": ""
    },
    "webpage": {
        "url": "https://ubuntu.com/",
        "title": "Enterprise Open Source and Linux\n    | Ubuntu",
        "description": "Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.",
        "success": true,
        "error": "",
        "status": 206
    },
    "network": {
        "185.125.190.29": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "185.125.190.21": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        },
        "185.125.190.20": {
            "success": false,
            "country": "",
            "region": "",
            "city": "",
            "asn": "",
            "organization": "",
            "isp": ""
        }
    },
    "smtp": {
        "host": "mx.ubuntu.com",
        "ports": [
            {
                "port": 25,
                "open": false,
                "time_ms": 94.5,
                "banner": "",
                "error": "Connection refused"
            },
            {
                "port": 465,
                "open": false,
                "time_ms": 4004.5,
                "banner": "",
                "error": "Connection timed out"
            },
            {
                "port": 587,
                "open": false,
                "time_ms": 4114.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": 120.78
}