{
    "domain": "aoeakademi.com",
    "whois": {
        "error": null,
        "domain": "aoeakademi.com",
        "checks": [
            {
                "key": "whois",
                "label": "WHOIS",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S. · bitiş 19.02.2029 (852 gün)",
                "findings": [],
                "data": {
                    "found": true,
                    "days": 852,
                    "locked": true,
                    "reason": null,
                    "name": "aoeakademi.com",
                    "registrar": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S.",
                    "status": [
                        "client transfer prohibited"
                    ],
                    "registered": "2025-02-19",
                    "expires": "2029-02-19",
                    "changed": "2026-10-12",
                    "nameservers": [
                        "brit.ns.cloudflare.com",
                        "burt.ns.cloudflare.com"
                    ],
                    "dnssec": false
                }
            }
        ],
        "findings": [],
        "found": true,
        "registrar": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S.",
        "registered": "2025-02-19",
        "expires": "2029-02-19",
        "changed": "2026-10-12",
        "days": 852,
        "domainStatus": [
            "client transfer prohibited"
        ],
        "nameservers": [
            "brit.ns.cloudflare.com",
            "burt.ns.cloudflare.com"
        ],
        "dnssecSigned": false,
        "status": "ok",
        "statusLabel": "Geçerli",
        "detail": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S. · bitiş 19.02.2029 (852 gün)",
        "ms": 0
    },
    "records": {
        "error": null,
        "rows": [
            {
                "type": "A",
                "name": "@",
                "value": "104.21.64.228",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "@",
                "value": "172.67.156.64",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "@",
                "value": "2606:4700:3031::6815:40e4",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "@",
                "value": "2606:4700:3032::ac43:9c40",
                "ttl": 300
            },
            {
                "type": "MX",
                "name": "@",
                "value": "44 route2.mx.cloudflare.net.",
                "ttl": 300
            },
            {
                "type": "MX",
                "name": "@",
                "value": "71 route1.mx.cloudflare.net.",
                "ttl": 300
            },
            {
                "type": "MX",
                "name": "@",
                "value": "91 route3.mx.cloudflare.net.",
                "ttl": 300
            },
            {
                "type": "NS",
                "name": "@",
                "value": "brit.ns.cloudflare.com.",
                "ttl": 86400
            },
            {
                "type": "NS",
                "name": "@",
                "value": "burt.ns.cloudflare.com.",
                "ttl": 86400
            },
            {
                "type": "SOA",
                "name": "@",
                "value": "brit.ns.cloudflare.com. dns.cloudflare.com. 2417913881 10000 2400 604800 1800",
                "ttl": 1800
            },
            {
                "type": "TXT",
                "name": "@",
                "value": "brevo-code:bc86445032735cfcc6afc660e2231c88",
                "ttl": 300
            },
            {
                "type": "TXT",
                "name": "@",
                "value": "v=spf1 +a +mx +ip4:46.224.111.106 include:relay.sendinblue.com include:_spf.mx.cloudflare.net ~all",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "www",
                "value": "104.21.64.228",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "www",
                "value": "172.67.156.64",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "www",
                "value": "2606:4700:3031::6815:40e4",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "www",
                "value": "2606:4700:3032::ac43:9c40",
                "ttl": 300
            },
            {
                "type": "TXT",
                "name": "_dmarc",
                "value": "v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com",
                "ttl": 300
            }
        ],
        "server": "108.162.192.78",
        "partial": false,
        "ms": 64
    },
    "mail": {
        "error": null,
        "checks": [
            {
                "key": "spf",
                "label": "SPF",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "v=spf1 +a +mx +ip4:46.224.111.106 include:relay.sendinblue.com include:_spf.mx.cloudflare.net ~all · 4/10 DNS araması",
                "findings": [],
                "data": {
                    "record": "v=spf1 +a +mx +ip4:46.224.111.106 include:relay.sendinblue.com include:_spf.mx.cloudflare.net ~all",
                    "lookups": 4,
                    "all": "~all",
                    "chain": [
                        "relay.sendinblue.com",
                        "_spf.mx.cloudflare.net"
                    ]
                }
            },
            {
                "key": "dkim",
                "label": "DKIM",
                "status": "warn",
                "statusLabel": "Bulunamadı",
                "detail": "12 yaygın selector denendi",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dkim-missing",
                        "title": "Yaygın selector'larda DKIM kaydı bulunamadı",
                        "text": "E-posta sağlayıcınız farklı bir selector kullanıyor olabilir. DKIM yoksa gönderdiğiniz e-postalar imzasız gider ve DMARC daha kolay başarısız olur.",
                        "fix": null
                    }
                ],
                "data": {
                    "selectors": [
                        "default",
                        "google",
                        "selector1",
                        "selector2",
                        "k1",
                        "k2",
                        "mail",
                        "dkim",
                        "s1",
                        "s2",
                        "smtp",
                        "mx"
                    ]
                }
            },
            {
                "key": "dmarc",
                "label": "DMARC",
                "status": "warn",
                "statusLabel": "Zayıf",
                "detail": "p=none · rua tanımlı · %100",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dmarc-none",
                        "title": "DMARC politikası sadece izliyor (p=none)",
                        "text": "Sahte e-postalar engellenmiyor. Raporları inceledikten sonra quarantine'e geçin.",
                        "fix": "v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com"
                    }
                ],
                "data": {
                    "record": "v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com",
                    "tags": {
                        "v": "DMARC1",
                        "p": "none",
                        "rua": "mailto:rua@dmarc.brevo.com"
                    }
                }
            },
            {
                "key": "mta-sts",
                "label": "MTA-STS",
                "status": "neutral",
                "statusLabel": "Yok",
                "detail": "Kayıt yok (isteğe bağlı; SMTP şifrelemesini zorunlu kılar)",
                "findings": [
                    {
                        "level": "info",
                        "code": "mtasts-missing",
                        "title": "MTA-STS yok",
                        "text": "Gelen e-postalarda TLS zorunlu değil; ortadaki adam saldırısına açık. İsteğe bağlı ama önerilir.",
                        "fix": "_mta-sts.aoeakademi.com TXT \"v=STSv1; id=202610201215\""
                    }
                ],
                "data": []
            },
            {
                "key": "bimi",
                "label": "BIMI",
                "status": "neutral",
                "statusLabel": "Yok",
                "detail": "Kayıt yok (logo gösterimi için DMARC enforce gerekli)",
                "findings": [],
                "data": []
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "dkim-missing",
                "title": "Yaygın selector'larda DKIM kaydı bulunamadı",
                "text": "E-posta sağlayıcınız farklı bir selector kullanıyor olabilir. DKIM yoksa gönderdiğiniz e-postalar imzasız gider ve DMARC daha kolay başarısız olur.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "dmarc-none",
                "title": "DMARC politikası sadece izliyor (p=none)",
                "text": "Sahte e-postalar engellenmiyor. Raporları inceledikten sonra quarantine'e geçin.",
                "fix": "v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com"
            },
            {
                "level": "info",
                "code": "mtasts-missing",
                "title": "MTA-STS yok",
                "text": "Gelen e-postalarda TLS zorunlu değil; ortadaki adam saldırısına açık. İsteğe bağlı ama önerilir.",
                "fix": "_mta-sts.aoeakademi.com TXT \"v=STSv1; id=202610201215\""
            }
        ],
        "ms": 34
    },
    "dnssec": {
        "error": null,
        "checks": [
            {
                "key": "dnssec",
                "label": "DNSSEC",
                "status": "warn",
                "statusLabel": "İmzasız",
                "detail": "DS kaydı yok · bölge imzalanmamış",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dnssec-unsigned",
                        "title": "DNSSEC etkin değil",
                        "text": "Kayıtlar imzalı değil; sahte DNS yanıtları (önbellek zehirleme) tespit edilemez. DNS sağlayıcınızda DNSSEC'i açıp DS kaydını alan adı kayıt firmanıza girin.",
                        "fix": null
                    }
                ],
                "data": {
                    "steps": [
                        {
                            "zone": ". (kök)",
                            "keys": "KSK 20326, 38696 · imzalar geçerli",
                            "status": "ok",
                            "label": "Güven kökü"
                        },
                        {
                            "zone": "com",
                            "keys": "DS → DNSKEY 19718 · imzalar geçerli",
                            "status": "ok",
                            "label": "Doğrulandı"
                        },
                        {
                            "zone": "aoeakademi.com",
                            "keys": "DS yok",
                            "status": "unsigned",
                            "label": "İmzasız"
                        }
                    ],
                    "algorithm": null,
                    "expires": null,
                    "secure": false
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "dnssec-unsigned",
                "title": "DNSSEC etkin değil",
                "text": "Kayıtlar imzalı değil; sahte DNS yanıtları (önbellek zehirleme) tespit edilemez. DNS sağlayıcınızda DNSSEC'i açıp DS kaydını alan adı kayıt firmanıza girin.",
                "fix": null
            }
        ],
        "ms": 50,
        "steps": [
            {
                "zone": ". (kök)",
                "keys": "KSK 20326, 38696 · imzalar geçerli",
                "status": "ok",
                "label": "Güven kökü"
            },
            {
                "zone": "com",
                "keys": "DS → DNSKEY 19718 · imzalar geçerli",
                "status": "ok",
                "label": "Doğrulandı"
            },
            {
                "zone": "aoeakademi.com",
                "keys": "DS yok",
                "status": "unsigned",
                "label": "İmzasız"
            }
        ],
        "algorithm": null,
        "expires": null,
        "secure": false,
        "status": "warn",
        "statusLabel": "İmzasız",
        "detail": "DS kaydı yok · bölge imzalanmamış"
    },
    "nameservers": {
        "error": null,
        "zone": "aoeakademi.com",
        "check": {
            "key": "ns",
            "label": "Nameserver",
            "status": "warn",
            "statusLabel": "Tek ağ",
            "detail": "2 sunucu · 1 farklı ağ (ASN) · seri numaraları eşleşiyor",
            "findings": [
                {
                    "level": "warn",
                    "code": "ns-single-asn",
                    "title": "Tüm nameserver'lar aynı ağda (AS13335)",
                    "text": "O ağda kesinti olursa alan adı erişilemez. Farklı bir sağlayıcıda ikincil nameserver ekleyin.",
                    "fix": null
                }
            ],
            "data": {
                "servers": [
                    {
                        "host": "brit.ns.cloudflare.com",
                        "ip": "108.162.192.78",
                        "asn": 13335,
                        "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                        "loc": null,
                        "ms": 2.7,
                        "serial": 2417913881,
                        "status": "ok",
                        "statusLabel": "Yetkili",
                        "w": 100
                    },
                    {
                        "host": "burt.ns.cloudflare.com",
                        "ip": "108.162.193.79",
                        "asn": 13335,
                        "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                        "loc": null,
                        "ms": 2.5,
                        "serial": 2417913881,
                        "status": "ok",
                        "statusLabel": "Yetkili",
                        "w": 93
                    }
                ],
                "asns": [
                    13335
                ]
            }
        },
        "servers": [
            {
                "host": "brit.ns.cloudflare.com",
                "ip": "108.162.192.78",
                "asn": 13335,
                "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                "loc": null,
                "ms": 2.7,
                "serial": 2417913881,
                "status": "ok",
                "statusLabel": "Yetkili",
                "w": 100
            },
            {
                "host": "burt.ns.cloudflare.com",
                "ip": "108.162.193.79",
                "asn": 13335,
                "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                "loc": null,
                "ms": 2.5,
                "serial": 2417913881,
                "status": "ok",
                "statusLabel": "Yetkili",
                "w": 93
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "ns-single-asn",
                "title": "Tüm nameserver'lar aynı ağda (AS13335)",
                "text": "O ağda kesinti olursa alan adı erişilemez. Farklı bir sağlayıcıda ikincil nameserver ekleyin.",
                "fix": null
            }
        ],
        "ms": 6
    },
    "extra": {
        "error": null,
        "checks": [
            {
                "key": "mx",
                "label": "MX",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "3 kayıt · route2.mx.cloudflare.net, route1.mx.cloudflare.net, route3.mx.cloudflare.net",
                "findings": [],
                "data": {
                    "hosts": [
                        {
                            "host": "route2.mx.cloudflare.net",
                            "pref": 44,
                            "ips": [
                                "162.159.205.18",
                                "162.159.205.19",
                                "162.159.205.17",
                                "2606:4700:f5::e",
                                "2606:4700:f5::f",
                                "2606:4700:f5::10"
                            ],
                            "ptr": {
                                "162.159.205.18": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "162.159.205.19": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "162.159.205.17": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::e": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::f": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::10": [
                                    "route2.mx.cloudflare.net"
                                ]
                            }
                        },
                        {
                            "host": "route1.mx.cloudflare.net",
                            "pref": 71,
                            "ips": [
                                "162.159.205.11",
                                "162.159.205.12",
                                "162.159.205.13",
                                "2606:4700:f5::c",
                                "2606:4700:f5::d",
                                "2606:4700:f5::b"
                            ],
                            "ptr": {
                                "162.159.205.11": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "162.159.205.12": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "162.159.205.13": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::c": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::d": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::b": [
                                    "route1.mx.cloudflare.net"
                                ]
                            }
                        },
                        {
                            "host": "route3.mx.cloudflare.net",
                            "pref": 91,
                            "ips": [
                                "162.159.205.23",
                                "162.159.205.24",
                                "162.159.205.25",
                                "2606:4700:f5::13",
                                "2606:4700:f5::11",
                                "2606:4700:f5::12"
                            ],
                            "ptr": {
                                "162.159.205.23": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "162.159.205.24": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "162.159.205.25": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::13": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::11": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::12": [
                                    "route3.mx.cloudflare.net"
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "key": "caa",
                "label": "CAA",
                "status": "warn",
                "statusLabel": "Yok",
                "detail": "Her sertifika otoritesi bu alan adı için sertifika verebilir",
                "findings": [
                    {
                        "level": "warn",
                        "code": "caa-missing",
                        "title": "CAA kaydı yok",
                        "text": "Her sertifika otoritesi bu alan adı için SSL sertifikası verebilir. Kullandığınız CA'yı belirtin.",
                        "fix": "aoeakademi.com CAA 0 issue \"letsencrypt.org\""
                    }
                ],
                "data": []
            },
            {
                "key": "soa",
                "label": "SOA",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "seri 2417913881 · refresh 10000 · retry 2400 · expire 604800 · minimum 1800",
                "findings": [],
                "data": {
                    "mname": "brit.ns.cloudflare.com",
                    "rname": "dns.cloudflare.com",
                    "serial": 2417913881,
                    "refresh": 10000,
                    "retry": 2400,
                    "expire": 604800,
                    "minimum": 1800
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "caa-missing",
                "title": "CAA kaydı yok",
                "text": "Her sertifika otoritesi bu alan adı için SSL sertifikası verebilir. Kullandığınız CA'yı belirtin.",
                "fix": "aoeakademi.com CAA 0 issue \"letsencrypt.org\""
            }
        ],
        "ms": 1256
    },
    "ssl": {
        "error": null,
        "checks": [
            {
                "key": "ssl",
                "label": "SSL/HTTP",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "Let's Encrypt · 89 gün · TLSv1.3 · HTTP/3",
                "findings": [
                    {
                        "level": "warn",
                        "code": "http-hsts",
                        "title": "HSTS başlığı yok",
                        "text": "Tarayıcı sonraki ziyaretlerde HTTPS'i zorunlu kılamaz (SSL stripping). Başlığı ekleyin.",
                        "fix": "Strict-Transport-Security: max-age=31536000; includeSubDomains"
                    }
                ],
                "data": {
                    "ip": "172.67.156.64",
                    "issuer": "Let's Encrypt",
                    "subject": "aoeakademi.com",
                    "sans": 2,
                    "chain": 4,
                    "validTo": "17.01.2027",
                    "days": 89,
                    "verified": true,
                    "protocol": "TLSv1.3",
                    "cipher": "TLS_AES_256_GCM_SHA384",
                    "httpVersion": "HTTP/3",
                    "h3": "var",
                    "redirect": true,
                    "httpStatus": 301,
                    "httpsStatus": 200,
                    "server": "cloudflare",
                    "headers": [
                        {
                            "key": "strict-transport-security",
                            "label": "HSTS",
                            "present": false,
                            "value": null
                        },
                        {
                            "key": "content-security-policy",
                            "label": "CSP",
                            "present": false,
                            "value": null
                        },
                        {
                            "key": "x-content-type-options",
                            "label": "X-Content-Type-Options",
                            "present": true,
                            "value": "nosniff"
                        },
                        {
                            "key": "x-frame-options",
                            "label": "X-Frame-Options",
                            "present": true,
                            "value": "SAMEORIGIN"
                        },
                        {
                            "key": "referrer-policy",
                            "label": "Referrer-Policy",
                            "present": true,
                            "value": "same-origin"
                        },
                        {
                            "key": "permissions-policy",
                            "label": "Permissions-Policy",
                            "present": false,
                            "value": null
                        }
                    ],
                    "tlsOk": true
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "http-hsts",
                "title": "HSTS başlığı yok",
                "text": "Tarayıcı sonraki ziyaretlerde HTTPS'i zorunlu kılamaz (SSL stripping). Başlığı ekleyin.",
                "fix": "Strict-Transport-Security: max-age=31536000; includeSubDomains"
            }
        ],
        "ms": 548,
        "ip": "172.67.156.64",
        "issuer": "Let's Encrypt",
        "subject": "aoeakademi.com",
        "sans": 2,
        "chain": 4,
        "validTo": "17.01.2027",
        "days": 89,
        "verified": true,
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384",
        "httpVersion": "HTTP/3",
        "h3": "var",
        "redirect": true,
        "httpStatus": 301,
        "httpsStatus": 200,
        "server": "cloudflare",
        "headers": [
            {
                "key": "strict-transport-security",
                "label": "HSTS",
                "present": false,
                "value": null
            },
            {
                "key": "content-security-policy",
                "label": "CSP",
                "present": false,
                "value": null
            },
            {
                "key": "x-content-type-options",
                "label": "X-Content-Type-Options",
                "present": true,
                "value": "nosniff"
            },
            {
                "key": "x-frame-options",
                "label": "X-Frame-Options",
                "present": true,
                "value": "SAMEORIGIN"
            },
            {
                "key": "referrer-policy",
                "label": "Referrer-Policy",
                "present": true,
                "value": "same-origin"
            },
            {
                "key": "permissions-policy",
                "label": "Permissions-Policy",
                "present": false,
                "value": null
            }
        ],
        "tlsOk": true,
        "status": "warn",
        "statusLabel": "Uyarı",
        "detail": "Let's Encrypt · 89 gün · TLSv1.3 · HTTP/3"
    },
    "propagation": {
        "error": null,
        "ttl": 300,
        "type": "A",
        "expected": [
            "104.21.64.228",
            "172.67.156.64"
        ],
        "rows": [
            {
                "name": "Google",
                "ip": "8.8.8.8",
                "loc": "Global",
                "ms": 79.6,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.97.7, 188.114.96.7"
            },
            {
                "name": "Cloudflare",
                "ip": "1.1.1.1",
                "loc": "Global",
                "ms": 2.3,
                "status": "fresh",
                "label": "Güncel",
                "answer": "104.21.64.228, 172.67.156.64"
            },
            {
                "name": "Quad9",
                "ip": "9.9.9.9",
                "loc": "Global",
                "ms": 17.4,
                "status": "fresh",
                "label": "Güncel",
                "answer": "104.21.64.228, 172.67.156.64"
            },
            {
                "name": "OpenDNS",
                "ip": "208.67.222.222",
                "loc": "Global",
                "ms": 64.9,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.97.8, 188.114.96.8"
            },
            {
                "name": "Türk Telekom",
                "ip": "195.175.39.39",
                "loc": "Türkiye",
                "ms": 91.4,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.156.64, 104.21.64.228"
            },
            {
                "name": "AdGuard",
                "ip": "94.140.14.14",
                "loc": "Global",
                "ms": 79.4,
                "status": "fresh",
                "label": "Güncel",
                "answer": "104.21.64.228, 172.67.156.64"
            },
            {
                "name": "Control D",
                "ip": "76.76.2.0",
                "loc": "Global",
                "ms": 48.3,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.97.8, 188.114.96.8"
            },
            {
                "name": "Hurricane Electric",
                "ip": "74.82.42.42",
                "loc": "ABD",
                "ms": 36.7,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.3, 188.114.97.3"
            },
            {
                "name": "CleanBrowsing",
                "ip": "185.228.168.9",
                "loc": "Global",
                "ms": 57.2,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.0, 188.114.97.0"
            },
            {
                "name": "Yandex",
                "ip": "77.88.8.8",
                "loc": "Rusya",
                "ms": 130,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.156.64, 104.21.64.228"
            },
            {
                "name": "Level3",
                "ip": "4.2.2.1",
                "loc": "ABD",
                "ms": 50,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.97.3, 188.114.96.3"
            },
            {
                "name": "Neustar UltraDNS",
                "ip": "64.6.64.6",
                "loc": "ABD",
                "ms": 57,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.0, 188.114.97.0"
            }
        ],
        "counts": {
            "fresh": 5,
            "stale": 7,
            "empty": 0,
            "timeout": 0
        },
        "responding": 12,
        "pct": 42,
        "ms": 131
    },
    "summary": {
        "error": null,
        "checks": [
            {
                "key": "whois",
                "label": "WHOIS",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S. · bitiş 19.02.2029 (852 gün)",
                "findings": [],
                "data": {
                    "found": true,
                    "days": 852,
                    "locked": true,
                    "reason": null,
                    "name": "aoeakademi.com",
                    "registrar": "Turkticaret.net Yazilim Hizmetleri Sanayi ve Ticaret A.S.",
                    "status": [
                        "client transfer prohibited"
                    ],
                    "registered": "2025-02-19",
                    "expires": "2029-02-19",
                    "changed": "2026-10-12",
                    "nameservers": [
                        "brit.ns.cloudflare.com",
                        "burt.ns.cloudflare.com"
                    ],
                    "dnssec": false
                }
            },
            {
                "key": "spf",
                "label": "SPF",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "v=spf1 +a +mx +ip4:46.224.111.106 include:relay.sendinblue.com include:_spf.mx.cloudflare.net ~all · 4/10 DNS araması",
                "findings": [],
                "data": {
                    "record": "v=spf1 +a +mx +ip4:46.224.111.106 include:relay.sendinblue.com include:_spf.mx.cloudflare.net ~all",
                    "lookups": 4,
                    "all": "~all",
                    "chain": [
                        "relay.sendinblue.com",
                        "_spf.mx.cloudflare.net"
                    ]
                }
            },
            {
                "key": "dkim",
                "label": "DKIM",
                "status": "warn",
                "statusLabel": "Bulunamadı",
                "detail": "12 yaygın selector denendi",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dkim-missing",
                        "title": "Yaygın selector'larda DKIM kaydı bulunamadı",
                        "text": "E-posta sağlayıcınız farklı bir selector kullanıyor olabilir. DKIM yoksa gönderdiğiniz e-postalar imzasız gider ve DMARC daha kolay başarısız olur.",
                        "fix": null
                    }
                ],
                "data": {
                    "selectors": [
                        "default",
                        "google",
                        "selector1",
                        "selector2",
                        "k1",
                        "k2",
                        "mail",
                        "dkim",
                        "s1",
                        "s2",
                        "smtp",
                        "mx"
                    ]
                }
            },
            {
                "key": "dmarc",
                "label": "DMARC",
                "status": "warn",
                "statusLabel": "Zayıf",
                "detail": "p=none · rua tanımlı · %100",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dmarc-none",
                        "title": "DMARC politikası sadece izliyor (p=none)",
                        "text": "Sahte e-postalar engellenmiyor. Raporları inceledikten sonra quarantine'e geçin.",
                        "fix": "v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com"
                    }
                ],
                "data": {
                    "record": "v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com",
                    "tags": {
                        "v": "DMARC1",
                        "p": "none",
                        "rua": "mailto:rua@dmarc.brevo.com"
                    }
                }
            },
            {
                "key": "mta-sts",
                "label": "MTA-STS",
                "status": "neutral",
                "statusLabel": "Yok",
                "detail": "Kayıt yok (isteğe bağlı; SMTP şifrelemesini zorunlu kılar)",
                "findings": [
                    {
                        "level": "info",
                        "code": "mtasts-missing",
                        "title": "MTA-STS yok",
                        "text": "Gelen e-postalarda TLS zorunlu değil; ortadaki adam saldırısına açık. İsteğe bağlı ama önerilir.",
                        "fix": "_mta-sts.aoeakademi.com TXT \"v=STSv1; id=202610201215\""
                    }
                ],
                "data": []
            },
            {
                "key": "bimi",
                "label": "BIMI",
                "status": "neutral",
                "statusLabel": "Yok",
                "detail": "Kayıt yok (logo gösterimi için DMARC enforce gerekli)",
                "findings": [],
                "data": []
            },
            {
                "key": "dnssec",
                "label": "DNSSEC",
                "status": "warn",
                "statusLabel": "İmzasız",
                "detail": "DS kaydı yok · bölge imzalanmamış",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dnssec-unsigned",
                        "title": "DNSSEC etkin değil",
                        "text": "Kayıtlar imzalı değil; sahte DNS yanıtları (önbellek zehirleme) tespit edilemez. DNS sağlayıcınızda DNSSEC'i açıp DS kaydını alan adı kayıt firmanıza girin.",
                        "fix": null
                    }
                ],
                "data": {
                    "steps": [
                        {
                            "zone": ". (kök)",
                            "keys": "KSK 20326, 38696 · imzalar geçerli",
                            "status": "ok",
                            "label": "Güven kökü"
                        },
                        {
                            "zone": "com",
                            "keys": "DS → DNSKEY 19718 · imzalar geçerli",
                            "status": "ok",
                            "label": "Doğrulandı"
                        },
                        {
                            "zone": "aoeakademi.com",
                            "keys": "DS yok",
                            "status": "unsigned",
                            "label": "İmzasız"
                        }
                    ],
                    "algorithm": null,
                    "expires": null,
                    "secure": false
                }
            },
            {
                "key": "ns",
                "label": "Nameserver",
                "status": "warn",
                "statusLabel": "Tek ağ",
                "detail": "2 sunucu · 1 farklı ağ (ASN) · seri numaraları eşleşiyor",
                "findings": [
                    {
                        "level": "warn",
                        "code": "ns-single-asn",
                        "title": "Tüm nameserver'lar aynı ağda (AS13335)",
                        "text": "O ağda kesinti olursa alan adı erişilemez. Farklı bir sağlayıcıda ikincil nameserver ekleyin.",
                        "fix": null
                    }
                ],
                "data": {
                    "servers": [
                        {
                            "host": "brit.ns.cloudflare.com",
                            "ip": "108.162.192.78",
                            "asn": 13335,
                            "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                            "loc": null,
                            "ms": 2.7,
                            "serial": 2417913881,
                            "status": "ok",
                            "statusLabel": "Yetkili",
                            "w": 100
                        },
                        {
                            "host": "burt.ns.cloudflare.com",
                            "ip": "108.162.193.79",
                            "asn": 13335,
                            "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                            "loc": null,
                            "ms": 2.5,
                            "serial": 2417913881,
                            "status": "ok",
                            "statusLabel": "Yetkili",
                            "w": 93
                        }
                    ],
                    "asns": [
                        13335
                    ]
                }
            },
            {
                "key": "mx",
                "label": "MX",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "3 kayıt · route2.mx.cloudflare.net, route1.mx.cloudflare.net, route3.mx.cloudflare.net",
                "findings": [],
                "data": {
                    "hosts": [
                        {
                            "host": "route2.mx.cloudflare.net",
                            "pref": 44,
                            "ips": [
                                "162.159.205.18",
                                "162.159.205.19",
                                "162.159.205.17",
                                "2606:4700:f5::e",
                                "2606:4700:f5::f",
                                "2606:4700:f5::10"
                            ],
                            "ptr": {
                                "162.159.205.18": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "162.159.205.19": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "162.159.205.17": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::e": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::f": [
                                    "route2.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::10": [
                                    "route2.mx.cloudflare.net"
                                ]
                            }
                        },
                        {
                            "host": "route1.mx.cloudflare.net",
                            "pref": 71,
                            "ips": [
                                "162.159.205.11",
                                "162.159.205.12",
                                "162.159.205.13",
                                "2606:4700:f5::c",
                                "2606:4700:f5::d",
                                "2606:4700:f5::b"
                            ],
                            "ptr": {
                                "162.159.205.11": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "162.159.205.12": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "162.159.205.13": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::c": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::d": [
                                    "route1.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::b": [
                                    "route1.mx.cloudflare.net"
                                ]
                            }
                        },
                        {
                            "host": "route3.mx.cloudflare.net",
                            "pref": 91,
                            "ips": [
                                "162.159.205.23",
                                "162.159.205.24",
                                "162.159.205.25",
                                "2606:4700:f5::13",
                                "2606:4700:f5::11",
                                "2606:4700:f5::12"
                            ],
                            "ptr": {
                                "162.159.205.23": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "162.159.205.24": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "162.159.205.25": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::13": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::11": [
                                    "route3.mx.cloudflare.net"
                                ],
                                "2606:4700:f5::12": [
                                    "route3.mx.cloudflare.net"
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "key": "caa",
                "label": "CAA",
                "status": "warn",
                "statusLabel": "Yok",
                "detail": "Her sertifika otoritesi bu alan adı için sertifika verebilir",
                "findings": [
                    {
                        "level": "warn",
                        "code": "caa-missing",
                        "title": "CAA kaydı yok",
                        "text": "Her sertifika otoritesi bu alan adı için SSL sertifikası verebilir. Kullandığınız CA'yı belirtin.",
                        "fix": "aoeakademi.com CAA 0 issue \"letsencrypt.org\""
                    }
                ],
                "data": []
            },
            {
                "key": "soa",
                "label": "SOA",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "seri 2417913881 · refresh 10000 · retry 2400 · expire 604800 · minimum 1800",
                "findings": [],
                "data": {
                    "mname": "brit.ns.cloudflare.com",
                    "rname": "dns.cloudflare.com",
                    "serial": 2417913881,
                    "refresh": 10000,
                    "retry": 2400,
                    "expire": 604800,
                    "minimum": 1800
                }
            },
            {
                "key": "ssl",
                "label": "SSL/HTTP",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "Let's Encrypt · 89 gün · TLSv1.3 · HTTP/3",
                "findings": [
                    {
                        "level": "warn",
                        "code": "http-hsts",
                        "title": "HSTS başlığı yok",
                        "text": "Tarayıcı sonraki ziyaretlerde HTTPS'i zorunlu kılamaz (SSL stripping). Başlığı ekleyin.",
                        "fix": "Strict-Transport-Security: max-age=31536000; includeSubDomains"
                    }
                ],
                "data": {
                    "ip": "172.67.156.64",
                    "issuer": "Let's Encrypt",
                    "subject": "aoeakademi.com",
                    "sans": 2,
                    "chain": 4,
                    "validTo": "17.01.2027",
                    "days": 89,
                    "verified": true,
                    "protocol": "TLSv1.3",
                    "cipher": "TLS_AES_256_GCM_SHA384",
                    "httpVersion": "HTTP/3",
                    "h3": "var",
                    "redirect": true,
                    "httpStatus": 301,
                    "httpsStatus": 200,
                    "server": "cloudflare",
                    "headers": [
                        {
                            "key": "strict-transport-security",
                            "label": "HSTS",
                            "present": false,
                            "value": null
                        },
                        {
                            "key": "content-security-policy",
                            "label": "CSP",
                            "present": false,
                            "value": null
                        },
                        {
                            "key": "x-content-type-options",
                            "label": "X-Content-Type-Options",
                            "present": true,
                            "value": "nosniff"
                        },
                        {
                            "key": "x-frame-options",
                            "label": "X-Frame-Options",
                            "present": true,
                            "value": "SAMEORIGIN"
                        },
                        {
                            "key": "referrer-policy",
                            "label": "Referrer-Policy",
                            "present": true,
                            "value": "same-origin"
                        },
                        {
                            "key": "permissions-policy",
                            "label": "Permissions-Policy",
                            "present": false,
                            "value": null
                        }
                    ],
                    "tlsOk": true
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "dkim-missing",
                "title": "Yaygın selector'larda DKIM kaydı bulunamadı",
                "text": "E-posta sağlayıcınız farklı bir selector kullanıyor olabilir. DKIM yoksa gönderdiğiniz e-postalar imzasız gider ve DMARC daha kolay başarısız olur.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "dmarc-none",
                "title": "DMARC politikası sadece izliyor (p=none)",
                "text": "Sahte e-postalar engellenmiyor. Raporları inceledikten sonra quarantine'e geçin.",
                "fix": "v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com"
            },
            {
                "level": "warn",
                "code": "dnssec-unsigned",
                "title": "DNSSEC etkin değil",
                "text": "Kayıtlar imzalı değil; sahte DNS yanıtları (önbellek zehirleme) tespit edilemez. DNS sağlayıcınızda DNSSEC'i açıp DS kaydını alan adı kayıt firmanıza girin.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "ns-single-asn",
                "title": "Tüm nameserver'lar aynı ağda (AS13335)",
                "text": "O ağda kesinti olursa alan adı erişilemez. Farklı bir sağlayıcıda ikincil nameserver ekleyin.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "caa-missing",
                "title": "CAA kaydı yok",
                "text": "Her sertifika otoritesi bu alan adı için SSL sertifikası verebilir. Kullandığınız CA'yı belirtin.",
                "fix": "aoeakademi.com CAA 0 issue \"letsencrypt.org\""
            },
            {
                "level": "warn",
                "code": "http-hsts",
                "title": "HSTS başlığı yok",
                "text": "Tarayıcı sonraki ziyaretlerde HTTPS'i zorunlu kılamaz (SSL stripping). Başlığı ekleyin.",
                "fix": "Strict-Transport-Security: max-age=31536000; includeSubDomains"
            },
            {
                "level": "info",
                "code": "mtasts-missing",
                "title": "MTA-STS yok",
                "text": "Gelen e-postalarda TLS zorunlu değil; ortadaki adam saldırısına açık. İsteğe bağlı ama önerilir.",
                "fix": "_mta-sts.aoeakademi.com TXT \"v=STSv1; id=202610201215\""
            }
        ],
        "counts": {
            "ok": 6,
            "warn": 6,
            "err": 0,
            "fail": 0
        },
        "score": {
            "score": 71,
            "grade": "B−",
            "word": "Orta",
            "tone": "warn",
            "unchecked": []
        },
        "providers": {
            "web": "Cloudflare, Inc.",
            "mail": "cloudflare.net",
            "dns": "cloudflare.com"
        },
        "totalMs": 1958,
        "at": "20.10.2026 12:15",
        "ms": 1
    }
}
