{
    "domain": "ipsorgu.net",
    "whois": {
        "error": null,
        "domain": "ipsorgu.net",
        "checks": [
            {
                "key": "whois",
                "label": "WHOIS",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "NameSilo, LLC · bitiş 23.06.2028 (612 gün)",
                "findings": [
                    {
                        "level": "info",
                        "code": "whois-no-lock",
                        "title": "Transfer kilidi kapalı",
                        "text": "Alan adı kilitli değil; yetkisiz transfer riskini azaltmak için kayıt firmanızdan transfer kilidini (clientTransferProhibited) açın.",
                        "fix": null
                    }
                ],
                "data": {
                    "found": true,
                    "days": 612,
                    "locked": false,
                    "reason": null,
                    "name": "ipsorgu.net",
                    "registrar": "NameSilo, LLC",
                    "status": [
                        "active"
                    ],
                    "registered": "2025-06-23",
                    "expires": "2028-06-23",
                    "changed": "2026-10-13",
                    "nameservers": [
                        "april.ns.cloudflare.com",
                        "yoxall.ns.cloudflare.com"
                    ],
                    "dnssec": false
                }
            }
        ],
        "findings": [
            {
                "level": "info",
                "code": "whois-no-lock",
                "title": "Transfer kilidi kapalı",
                "text": "Alan adı kilitli değil; yetkisiz transfer riskini azaltmak için kayıt firmanızdan transfer kilidini (clientTransferProhibited) açın.",
                "fix": null
            }
        ],
        "found": true,
        "registrar": "NameSilo, LLC",
        "registered": "2025-06-23",
        "expires": "2028-06-23",
        "changed": "2026-10-13",
        "days": 612,
        "domainStatus": [
            "active"
        ],
        "nameservers": [
            "april.ns.cloudflare.com",
            "yoxall.ns.cloudflare.com"
        ],
        "dnssecSigned": false,
        "status": "ok",
        "statusLabel": "Geçerli",
        "detail": "NameSilo, LLC · bitiş 23.06.2028 (612 gün)",
        "ms": 397
    },
    "records": {
        "error": null,
        "rows": [
            {
                "type": "A",
                "name": "@",
                "value": "104.21.1.219",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "@",
                "value": "172.67.128.24",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "@",
                "value": "2606:4700:3033::6815:1db",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "@",
                "value": "2606:4700:3037::ac43:8018",
                "ttl": 300
            },
            {
                "type": "MX",
                "name": "@",
                "value": "10 mail.ipsorgu.net.",
                "ttl": 300
            },
            {
                "type": "NS",
                "name": "@",
                "value": "april.ns.cloudflare.com.",
                "ttl": 86400
            },
            {
                "type": "NS",
                "name": "@",
                "value": "yoxall.ns.cloudflare.com.",
                "ttl": 86400
            },
            {
                "type": "SOA",
                "name": "@",
                "value": "april.ns.cloudflare.com. dns.cloudflare.com. 2417672647 10000 2400 604800 1800",
                "ttl": 1800
            },
            {
                "type": "TXT",
                "name": "@",
                "value": "v=spf1 ip4:185.165.46.123 include:relay.mailbaby.net ip4:217.195.202.231 +a +mx +ip4:217.195.202.4 +ip4:217.195.202.46 +ip4:217.195.207.207 +ip4:213.238.181.54 +include:relay.mailchannels.net ~all",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "www",
                "value": "104.21.1.219",
                "ttl": 300
            },
            {
                "type": "A",
                "name": "www",
                "value": "172.67.128.24",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "www",
                "value": "2606:4700:3033::6815:1db",
                "ttl": 300
            },
            {
                "type": "AAAA",
                "name": "www",
                "value": "2606:4700:3037::ac43:8018",
                "ttl": 300
            },
            {
                "type": "TXT",
                "name": "_dmarc",
                "value": "v=DMARC1; p=none; rua=mailto:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net",
                "ttl": 300
            }
        ],
        "server": "172.64.32.66",
        "partial": false,
        "ms": 106
    },
    "mail": {
        "error": null,
        "checks": [
            {
                "key": "spf",
                "label": "SPF",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "v=spf1 ip4:185.165.46.123 include:relay.mailbaby.net ip4:217.195.202.231 +a +mx +ip4:217.195.202.4 +ip4:217.195.202.46 +ip4:217.195.207.207 +ip4:213.238.181.54 +include:relay.mailchannels.net ~all · 6/10 DNS araması",
                "findings": [],
                "data": {
                    "record": "v=spf1 ip4:185.165.46.123 include:relay.mailbaby.net ip4:217.195.202.231 +a +mx +ip4:217.195.202.4 +ip4:217.195.202.46 +ip4:217.195.207.207 +ip4:213.238.181.54 +include:relay.mailchannels.net ~all",
                    "lookups": 6,
                    "all": "~all",
                    "chain": [
                        "relay.mailbaby.net",
                        "spf1.flat.mailbaby.net",
                        "spf2.flat.mailbaby.net",
                        "relay.mailchannels.net"
                    ]
                }
            },
            {
                "key": "dkim",
                "label": "DKIM",
                "status": "warn",
                "statusLabel": "Zayıf",
                "detail": "google, mail, mail · 2048 bit RSA",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dkim-1024",
                        "title": "DKIM anahtarı 1024 bit (mail)",
                        "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                        "fix": null
                    },
                    {
                        "level": "warn",
                        "code": "dkim-1024",
                        "title": "DKIM anahtarı 1024 bit (mail)",
                        "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                        "fix": null
                    }
                ],
                "data": {
                    "found": [
                        {
                            "selector": "google",
                            "bits": 2048,
                            "type": "RSA",
                            "revoked": false
                        },
                        {
                            "selector": "mail",
                            "bits": 1024,
                            "type": "RSA",
                            "revoked": false
                        },
                        {
                            "selector": "mail",
                            "bits": 1024,
                            "type": "RSA",
                            "revoked": false
                        }
                    ]
                }
            },
            {
                "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:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
                    }
                ],
                "data": {
                    "record": "v=DMARC1; p=none; rua=mailto:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net",
                    "tags": {
                        "v": "DMARC1",
                        "p": "none",
                        "rua": "mailto:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
                    }
                }
            },
            {
                "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.ipsorgu.net TXT \"v=STSv1; id=202610191247\""
                    }
                ],
                "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-1024",
                "title": "DKIM anahtarı 1024 bit (mail)",
                "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "dkim-1024",
                "title": "DKIM anahtarı 1024 bit (mail)",
                "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                "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:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
            },
            {
                "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.ipsorgu.net TXT \"v=STSv1; id=202610191247\""
            }
        ],
        "ms": 38
    },
    "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": "net",
                            "keys": "DS → DNSKEY 37331 · imzalar geçerli",
                            "status": "ok",
                            "label": "Doğrulandı"
                        },
                        {
                            "zone": "ipsorgu.net",
                            "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": 141,
        "steps": [
            {
                "zone": ". (kök)",
                "keys": "KSK 20326, 38696 · imzalar geçerli",
                "status": "ok",
                "label": "Güven kökü"
            },
            {
                "zone": "net",
                "keys": "DS → DNSKEY 37331 · imzalar geçerli",
                "status": "ok",
                "label": "Doğrulandı"
            },
            {
                "zone": "ipsorgu.net",
                "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": "ipsorgu.net",
        "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": "april.ns.cloudflare.com",
                        "ip": "172.64.32.66",
                        "asn": 13335,
                        "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                        "loc": null,
                        "ms": 5.4,
                        "serial": 2417672647,
                        "status": "ok",
                        "statusLabel": "Yetkili",
                        "w": 100
                    },
                    {
                        "host": "yoxall.ns.cloudflare.com",
                        "ip": "108.162.195.47",
                        "asn": 13335,
                        "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                        "loc": null,
                        "ms": 2.7,
                        "serial": 2417672647,
                        "status": "ok",
                        "statusLabel": "Yetkili",
                        "w": 50
                    }
                ],
                "asns": [
                    13335
                ]
            }
        },
        "servers": [
            {
                "host": "april.ns.cloudflare.com",
                "ip": "172.64.32.66",
                "asn": 13335,
                "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                "loc": null,
                "ms": 5.4,
                "serial": 2417672647,
                "status": "ok",
                "statusLabel": "Yetkili",
                "w": 100
            },
            {
                "host": "yoxall.ns.cloudflare.com",
                "ip": "108.162.195.47",
                "asn": 13335,
                "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                "loc": null,
                "ms": 2.7,
                "serial": 2417672647,
                "status": "ok",
                "statusLabel": "Yetkili",
                "w": 50
            }
        ],
        "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": 9
    },
    "extra": {
        "error": null,
        "checks": [
            {
                "key": "mx",
                "label": "MX",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "1 kayıt · mail.ipsorgu.net",
                "findings": [
                    {
                        "level": "warn",
                        "code": "mx-ptr-mismatch",
                        "title": "PTR kaydı MX adıyla eşleşmiyor (mail.ipsorgu.net)",
                        "text": "185.165.46.123 → wh.web.tr. Tam eşleşme (FCrDNS) olmayınca bazı alıcılar puanı düşürür.",
                        "fix": null
                    }
                ],
                "data": {
                    "hosts": [
                        {
                            "host": "mail.ipsorgu.net",
                            "pref": 10,
                            "ips": [
                                "185.165.46.123"
                            ],
                            "ptr": {
                                "185.165.46.123": [
                                    "wh.web.tr"
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "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": "ipsorgu.net CAA 0 issue \"letsencrypt.org\""
                    }
                ],
                "data": []
            },
            {
                "key": "soa",
                "label": "SOA",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "seri 2417672647 · refresh 10000 · retry 2400 · expire 604800 · minimum 1800",
                "findings": [],
                "data": {
                    "mname": "april.ns.cloudflare.com",
                    "rname": "dns.cloudflare.com",
                    "serial": 2417672647,
                    "refresh": 10000,
                    "retry": 2400,
                    "expire": 604800,
                    "minimum": 1800
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "mx-ptr-mismatch",
                "title": "PTR kaydı MX adıyla eşleşmiyor (mail.ipsorgu.net)",
                "text": "185.165.46.123 → wh.web.tr. Tam eşleşme (FCrDNS) olmayınca bazı alıcılar puanı düşürür.",
                "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": "ipsorgu.net CAA 0 issue \"letsencrypt.org\""
            }
        ],
        "ms": 63
    },
    "ssl": {
        "error": null,
        "checks": [
            {
                "key": "ssl",
                "label": "SSL/HTTP",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "Let's Encrypt · 84 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.128.24",
                    "issuer": "Let's Encrypt",
                    "subject": "ipsorgu.net",
                    "sans": 2,
                    "chain": 4,
                    "validTo": "11.01.2027",
                    "days": 84,
                    "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": "strict-origin-when-cross-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": 459,
        "ip": "172.67.128.24",
        "issuer": "Let's Encrypt",
        "subject": "ipsorgu.net",
        "sans": 2,
        "chain": 4,
        "validTo": "11.01.2027",
        "days": 84,
        "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": "strict-origin-when-cross-origin"
            },
            {
                "key": "permissions-policy",
                "label": "Permissions-Policy",
                "present": false,
                "value": null
            }
        ],
        "tlsOk": true,
        "status": "warn",
        "statusLabel": "Uyarı",
        "detail": "Let's Encrypt · 84 gün · TLSv1.3 · HTTP/3"
    },
    "propagation": {
        "error": null,
        "ttl": 300,
        "type": "A",
        "expected": [
            "104.21.1.219",
            "172.67.128.24"
        ],
        "rows": [
            {
                "name": "Google",
                "ip": "8.8.8.8",
                "loc": "Global",
                "ms": 46.1,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.7, 188.114.97.7"
            },
            {
                "name": "Cloudflare",
                "ip": "1.1.1.1",
                "loc": "Global",
                "ms": 3.3,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.128.24, 104.21.1.219"
            },
            {
                "name": "Quad9",
                "ip": "9.9.9.9",
                "loc": "Global",
                "ms": 61.5,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.128.24, 104.21.1.219"
            },
            {
                "name": "OpenDNS",
                "ip": "208.67.222.222",
                "loc": "Global",
                "ms": 81.3,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.8, 188.114.97.8"
            },
            {
                "name": "Türk Telekom",
                "ip": "195.175.39.39",
                "loc": "Türkiye",
                "ms": 68,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.128.24, 104.21.1.219"
            },
            {
                "name": "AdGuard",
                "ip": "94.140.14.14",
                "loc": "Global",
                "ms": 99.6,
                "status": "fresh",
                "label": "Güncel",
                "answer": "104.21.1.219, 172.67.128.24"
            },
            {
                "name": "Control D",
                "ip": "76.76.2.0",
                "loc": "Global",
                "ms": 47.5,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.8, 188.114.97.8"
            },
            {
                "name": "Hurricane Electric",
                "ip": "74.82.42.42",
                "loc": "ABD",
                "ms": 39.6,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.97.3, 188.114.96.3"
            },
            {
                "name": "CleanBrowsing",
                "ip": "185.228.168.9",
                "loc": "Global",
                "ms": 56,
                "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": 224.7,
                "status": "fresh",
                "label": "Güncel",
                "answer": "172.67.128.24, 104.21.1.219"
            },
            {
                "name": "Level3",
                "ip": "4.2.2.1",
                "loc": "ABD",
                "ms": 48,
                "status": "stale",
                "label": "Eski değer",
                "answer": "188.114.96.3, 188.114.97.3"
            },
            {
                "name": "Neustar UltraDNS",
                "ip": "64.6.64.6",
                "loc": "ABD",
                "ms": 49,
                "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": 226
    },
    "summary": {
        "error": null,
        "checks": [
            {
                "key": "whois",
                "label": "WHOIS",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "NameSilo, LLC · bitiş 23.06.2028 (612 gün)",
                "findings": [
                    {
                        "level": "info",
                        "code": "whois-no-lock",
                        "title": "Transfer kilidi kapalı",
                        "text": "Alan adı kilitli değil; yetkisiz transfer riskini azaltmak için kayıt firmanızdan transfer kilidini (clientTransferProhibited) açın.",
                        "fix": null
                    }
                ],
                "data": {
                    "found": true,
                    "days": 612,
                    "locked": false,
                    "reason": null,
                    "name": "ipsorgu.net",
                    "registrar": "NameSilo, LLC",
                    "status": [
                        "active"
                    ],
                    "registered": "2025-06-23",
                    "expires": "2028-06-23",
                    "changed": "2026-10-13",
                    "nameservers": [
                        "april.ns.cloudflare.com",
                        "yoxall.ns.cloudflare.com"
                    ],
                    "dnssec": false
                }
            },
            {
                "key": "spf",
                "label": "SPF",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "v=spf1 ip4:185.165.46.123 include:relay.mailbaby.net ip4:217.195.202.231 +a +mx +ip4:217.195.202.4 +ip4:217.195.202.46 +ip4:217.195.207.207 +ip4:213.238.181.54 +include:relay.mailchannels.net ~all · 6/10 DNS araması",
                "findings": [],
                "data": {
                    "record": "v=spf1 ip4:185.165.46.123 include:relay.mailbaby.net ip4:217.195.202.231 +a +mx +ip4:217.195.202.4 +ip4:217.195.202.46 +ip4:217.195.207.207 +ip4:213.238.181.54 +include:relay.mailchannels.net ~all",
                    "lookups": 6,
                    "all": "~all",
                    "chain": [
                        "relay.mailbaby.net",
                        "spf1.flat.mailbaby.net",
                        "spf2.flat.mailbaby.net",
                        "relay.mailchannels.net"
                    ]
                }
            },
            {
                "key": "dkim",
                "label": "DKIM",
                "status": "warn",
                "statusLabel": "Zayıf",
                "detail": "google, mail, mail · 2048 bit RSA",
                "findings": [
                    {
                        "level": "warn",
                        "code": "dkim-1024",
                        "title": "DKIM anahtarı 1024 bit (mail)",
                        "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                        "fix": null
                    },
                    {
                        "level": "warn",
                        "code": "dkim-1024",
                        "title": "DKIM anahtarı 1024 bit (mail)",
                        "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                        "fix": null
                    }
                ],
                "data": {
                    "found": [
                        {
                            "selector": "google",
                            "bits": 2048,
                            "type": "RSA",
                            "revoked": false
                        },
                        {
                            "selector": "mail",
                            "bits": 1024,
                            "type": "RSA",
                            "revoked": false
                        },
                        {
                            "selector": "mail",
                            "bits": 1024,
                            "type": "RSA",
                            "revoked": false
                        }
                    ]
                }
            },
            {
                "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:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
                    }
                ],
                "data": {
                    "record": "v=DMARC1; p=none; rua=mailto:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net",
                    "tags": {
                        "v": "DMARC1",
                        "p": "none",
                        "rua": "mailto:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
                    }
                }
            },
            {
                "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.ipsorgu.net TXT \"v=STSv1; id=202610191247\""
                    }
                ],
                "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": "net",
                            "keys": "DS → DNSKEY 37331 · imzalar geçerli",
                            "status": "ok",
                            "label": "Doğrulandı"
                        },
                        {
                            "zone": "ipsorgu.net",
                            "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": "april.ns.cloudflare.com",
                            "ip": "172.64.32.66",
                            "asn": 13335,
                            "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                            "loc": null,
                            "ms": 5.4,
                            "serial": 2417672647,
                            "status": "ok",
                            "statusLabel": "Yetkili",
                            "w": 100
                        },
                        {
                            "host": "yoxall.ns.cloudflare.com",
                            "ip": "108.162.195.47",
                            "asn": 13335,
                            "holder": "CLOUDFLARENET - Cloudflare, Inc.",
                            "loc": null,
                            "ms": 2.7,
                            "serial": 2417672647,
                            "status": "ok",
                            "statusLabel": "Yetkili",
                            "w": 50
                        }
                    ],
                    "asns": [
                        13335
                    ]
                }
            },
            {
                "key": "mx",
                "label": "MX",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "1 kayıt · mail.ipsorgu.net",
                "findings": [
                    {
                        "level": "warn",
                        "code": "mx-ptr-mismatch",
                        "title": "PTR kaydı MX adıyla eşleşmiyor (mail.ipsorgu.net)",
                        "text": "185.165.46.123 → wh.web.tr. Tam eşleşme (FCrDNS) olmayınca bazı alıcılar puanı düşürür.",
                        "fix": null
                    }
                ],
                "data": {
                    "hosts": [
                        {
                            "host": "mail.ipsorgu.net",
                            "pref": 10,
                            "ips": [
                                "185.165.46.123"
                            ],
                            "ptr": {
                                "185.165.46.123": [
                                    "wh.web.tr"
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "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": "ipsorgu.net CAA 0 issue \"letsencrypt.org\""
                    }
                ],
                "data": []
            },
            {
                "key": "soa",
                "label": "SOA",
                "status": "ok",
                "statusLabel": "Geçerli",
                "detail": "seri 2417672647 · refresh 10000 · retry 2400 · expire 604800 · minimum 1800",
                "findings": [],
                "data": {
                    "mname": "april.ns.cloudflare.com",
                    "rname": "dns.cloudflare.com",
                    "serial": 2417672647,
                    "refresh": 10000,
                    "retry": 2400,
                    "expire": 604800,
                    "minimum": 1800
                }
            },
            {
                "key": "ssl",
                "label": "SSL/HTTP",
                "status": "warn",
                "statusLabel": "Uyarı",
                "detail": "Let's Encrypt · 84 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.128.24",
                    "issuer": "Let's Encrypt",
                    "subject": "ipsorgu.net",
                    "sans": 2,
                    "chain": 4,
                    "validTo": "11.01.2027",
                    "days": 84,
                    "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": "strict-origin-when-cross-origin"
                        },
                        {
                            "key": "permissions-policy",
                            "label": "Permissions-Policy",
                            "present": false,
                            "value": null
                        }
                    ],
                    "tlsOk": true
                }
            }
        ],
        "findings": [
            {
                "level": "warn",
                "code": "dkim-1024",
                "title": "DKIM anahtarı 1024 bit (mail)",
                "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                "fix": null
            },
            {
                "level": "warn",
                "code": "dkim-1024",
                "title": "DKIM anahtarı 1024 bit (mail)",
                "text": "Hâlâ kabul ediliyor ama 2048 bit önerilir.",
                "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:31e9119abec549d8b70febbe9561b7ca@dmarc-reports.cloudflare.net"
            },
            {
                "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": "mx-ptr-mismatch",
                "title": "PTR kaydı MX adıyla eşleşmiyor (mail.ipsorgu.net)",
                "text": "185.165.46.123 → wh.web.tr. Tam eşleşme (FCrDNS) olmayınca bazı alıcılar puanı düşürür.",
                "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": "ipsorgu.net 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": "whois-no-lock",
                "title": "Transfer kilidi kapalı",
                "text": "Alan adı kilitli değil; yetkisiz transfer riskini azaltmak için kayıt firmanızdan transfer kilidini (clientTransferProhibited) açın.",
                "fix": null
            },
            {
                "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.ipsorgu.net TXT \"v=STSv1; id=202610191247\""
            }
        ],
        "counts": {
            "ok": 5,
            "warn": 7,
            "err": 0,
            "fail": 0
        },
        "score": {
            "score": 64,
            "grade": "C",
            "word": "Orta",
            "tone": "warn",
            "unchecked": []
        },
        "providers": {
            "web": "Cloudflare, Inc.",
            "mail": "ipsorgu.net",
            "dns": "cloudflare.com"
        },
        "totalMs": 1213,
        "at": "19.10.2026 12:47",
        "ms": 1
    }
}
