{
  "domain": "pianola.se",
  "score": 95,
  "grade": "A",
  "groups": [
    {
      "key": "mail",
      "label": "Mejlsäkerhet",
      "checks": [
        {
          "key": "dkim",
          "label": "DKIM",
          "status": "warn",
          "detail": "Kunde inte hitta DKIM med vanliga selektorer. Den kan finnas på en egen selektor vi inte gissade.",
          "fix": "Aktivera DKIM-signering hos er mejlleverantör (för Microsoft 365: slå på DKIM i Defender-portalen).",
          "meta": {
            "dkimFound": false
          },
          "raw": {
            "records": [],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.805Z",
            "note": "Provade selektorer: selector1, selector2, google, default, s1, s2, k1, mail, dkim, smtp"
          }
        },
        {
          "key": "dmarc",
          "label": "DMARC",
          "status": "ok",
          "detail": "DMARC avvisar förfalskad mejl (p=reject), starkaste nivån.",
          "fix": "",
          "meta": {
            "dmarcPolicy": "reject",
            "dmarcPct": 100
          },
          "raw": {
            "records": [
              {
                "name": "_dmarc.pianola.se",
                "type": "TXT",
                "value": "v=DMARC1; p=reject; pct=100; rua=mailto:gdpr@lumrait.se; ruf=mailto:gdpr@lumrait.se; fo=1"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.420Z"
          }
        },
        {
          "key": "spf",
          "label": "SPF",
          "status": "ok",
          "detail": "SPF finns och avvisar hårt allt utanför listan (-all).",
          "fix": "",
          "meta": {
            "spfAll": "-",
            "spfCount": 1,
            "spfLookups": 0,
            "spfM365": false
          },
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "TXT",
                "value": "v=spf1 -all"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.421Z"
          }
        },
        {
          "key": "mx",
          "label": "MX (mejlmottagning)",
          "status": "ok",
          "detail": "Mejl hanteras av annan leverantör ().",
          "fix": "",
          "meta": {
            "mxHost": "",
            "mxProvider": "annan leverantör",
            "mxExo": false
          },
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "MX",
                "value": "0 "
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.425Z"
          }
        },
        {
          "key": "blacklist",
          "label": "Svartlista",
          "status": "ok",
          "detail": "Domänens IP-adress (172.67.212.154) är inte listad (kontrollerade Spamhaus, SpamCop, Barracuda).",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "A",
                "value": "172.67.212.154"
              },
              {
                "name": "172.67.212.154",
                "type": "DNSBL",
                "value": "Spamhaus: inte listad"
              },
              {
                "name": "172.67.212.154",
                "type": "DNSBL",
                "value": "SpamCop: inte listad"
              },
              {
                "name": "172.67.212.154",
                "type": "DNSBL",
                "value": "Barracuda: inte listad"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.551Z"
          }
        }
      ],
      "score": 95,
      "grade": "A"
    },
    {
      "key": "dns",
      "label": "DNS och domän",
      "checks": [
        {
          "key": "ns",
          "label": "Namnservrar (NS)",
          "status": "ok",
          "detail": "2 namnservrar, vilket ger redundans om en inte svarar.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "NS",
                "value": "ricardo.ns.cloudflare.com"
              },
              {
                "name": "pianola.se",
                "type": "NS",
                "value": "ulla.ns.cloudflare.com"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.419Z"
          }
        },
        {
          "key": "soa",
          "label": "SOA (zonens grunddata)",
          "status": "ok",
          "detail": "Zonen styrs av ricardo.ns.cloudflare.com, kontakt dns.cloudflare.com.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "SOA",
                "value": "ricardo.ns.cloudflare.com dns.cloudflare.com 2415160372 10000 2400 604800 1800"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.420Z"
          }
        },
        {
          "key": "a",
          "label": "Adress (A/AAAA)",
          "status": "ok",
          "detail": "Domänen pekar på en server (2 IPv4, 2 IPv6).",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "A",
                "value": "172.67.212.154",
                "ttl": 300
              },
              {
                "name": "pianola.se",
                "type": "A",
                "value": "104.21.61.178",
                "ttl": 300
              },
              {
                "name": "pianola.se",
                "type": "AAAA",
                "value": "2606:4700:3037::ac43:d49a",
                "ttl": 300
              },
              {
                "name": "pianola.se",
                "type": "AAAA",
                "value": "2606:4700:3033::6815:3db2",
                "ttl": 300
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.438Z"
          }
        },
        {
          "key": "dnssec",
          "label": "DNSSEC",
          "status": "ok",
          "detail": "DNSSEC är aktiverat, DNS-svaren är signerade och svårare att förfalska.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se.",
                "type": "DS",
                "value": "2371 13 2 49D49C980EAA0D0583A4D1F6BAFCF069A6F5E7A2209EDCDCE29C1E5B9678A762",
                "ttl": 3600
              }
            ],
            "resolver": "dns.google (DoH)",
            "at": "2026-09-20T10:21:46.486Z",
            "note": "AD=1"
          }
        },
        {
          "key": "caa",
          "label": "CAA (certifikatutfärdare)",
          "status": "ok",
          "detail": "CAA-poster finns, vilket begränsar vilka som får utfärda certifikat för domänen.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issue \"ssl.com\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issue \"pki.goog; cansignhttpexchanges=yes\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issuewild \"digicert.com; cansignhttpexchanges=yes\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issuewild \"ssl.com\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issuewild \"letsencrypt.org\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 iodef \"mailto:support@lumrait.se\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issue \"letsencrypt.org\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issue \"comodoca.com\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issuewild \"comodoca.com\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issue \"digicert.com; cansignhttpexchanges=yes\""
              },
              {
                "name": "pianola.se",
                "type": "CAA",
                "value": "0 issuewild \"pki.goog; cansignhttpexchanges=yes\""
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.430Z"
          }
        },
        {
          "key": "age",
          "label": "Domänens ålder",
          "status": "ok",
          "detail": "Etablerad domän, registrerad 2026-04-23 (5 månader gammal). Ålder är ingen garanti, men nyregistrerade bluffdomäner faller bort här.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "WHOIS created",
                "value": "2026-04-23T00:00:00.000Z"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.482Z",
            "note": "whois pianola.se"
          }
        }
      ],
      "score": 100,
      "grade": "A"
    },
    {
      "key": "web",
      "label": "Webb och certifikat",
      "checks": [
        {
          "key": "tls",
          "label": "TLS-certifikat",
          "status": "ok",
          "detail": "Giltigt certifikat, går ut om 87 dagar.",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "pianola.se",
                "type": "CERT subject",
                "value": "pianola.se"
              },
              {
                "name": "pianola.se",
                "type": "CERT issuer",
                "value": "Let's Encrypt (YE1)"
              },
              {
                "name": "pianola.se",
                "type": "CERT notBefore",
                "value": "Sep 17 18:52:18 2026 GMT"
              },
              {
                "name": "pianola.se",
                "type": "CERT notAfter",
                "value": "Dec 16 18:52:17 2026 GMT"
              },
              {
                "name": "pianola.se",
                "type": "TLS protocol",
                "value": "TLSv1.3"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.476Z",
            "note": "tls.connect pianola.se:443 (SNI pianola.se)"
          }
        },
        {
          "key": "headers",
          "label": "Säkerhetsheaders",
          "status": "ok",
          "detail": "Webbplatsen sätter alla viktiga säkerhetsheaders (HSTS, CSP med flera).",
          "fix": "",
          "raw": {
            "records": [
              {
                "name": "HSTS",
                "type": "HTTP header",
                "value": "max-age=31536000; includeSubDomains; preload"
              },
              {
                "name": "Content-Security-Policy",
                "type": "HTTP header",
                "value": "default-src 'self'; script-src 'self' 'sha256-18bQLzesBtRMN3fX96XgHJQWqElbs7G3OKcsOWW0bis=' 'sha256-7k8SXWRfpk9juSjkyTK55VX5j/xVkv3fdnW67Fy/15Y=' 'sha256-Bd36S7YTJaBwsrXbllK4m1g2V6IhKXChTwrw/ZhRhUg=' 'sha256-cmJDeq6Yii5gBnsU/ihmfCtNgNaZRxNSnkkWS3sM4ZI=' 'sha256-lo3ylQh0/p9TPcN0r02GuHy8JxKhRoZeSoEWOW9wK5U=' 'sha256-p7VYiv/er6Hx87GvYMynqQ8ESxQ8d1yPcT/xB47HoFE=' 'sha256-viLf40yUjQRekFs28Ek3C9oB58qUuvxB8FdUmwVkCqE=' 'sha256-wLuPuB4GSaRYvCQ57p0coON+NP8sZ1J059LfH/WhOR4='; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; font-src 'self' data: https:; connect-src 'self' https:; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests"
              },
              {
                "name": "X-Frame-Options",
                "type": "HTTP header",
                "value": "SAMEORIGIN"
              },
              {
                "name": "X-Content-Type-Options",
                "type": "HTTP header",
                "value": "nosniff"
              },
              {
                "name": "Referrer-Policy",
                "type": "HTTP header",
                "value": "strict-origin-when-cross-origin"
              }
            ],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.537Z",
            "note": "GET https://pianola.se/ → HTTP 200",
            "headers": {
              "alt-svc": "h3=\":443\"; ma=86400",
              "cf-cache-status": "DYNAMIC",
              "cf-ray": "a3e01aedace45bd9-ARN",
              "connection": "keep-alive",
              "content-encoding": "br",
              "content-security-policy": "default-src 'self'; script-src 'self' 'sha256-18bQLzesBtRMN3fX96XgHJQWqElbs7G3OKcsOWW0bis=' 'sha256-7k8SXWRfpk9juSjkyTK55VX5j/xVkv3fdnW67Fy/15Y=' 'sha256-Bd36S7YTJaBwsrXbllK4m1g2V6IhKXChTwrw/ZhRhUg=' 'sha256-cmJDeq6Yii5gBnsU/ihmfCtNgNaZRxNSnkkWS3sM4ZI=' 'sha256-lo3ylQh0/p9TPcN0r02GuHy8JxKhRoZeSoEWOW9wK5U=' 'sha256-p7VYiv/er6Hx87GvYMynqQ8ESxQ8d1yPcT/xB47HoFE=' 'sha256-viLf40yUjQRekFs28Ek3C9oB58qUuvxB8FdUmwVkCqE=' 'sha256-wLuPuB4GSaRYvCQ57p0coON+NP8sZ1J059LfH/WhOR4='; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; font-src 'self' data: https:; connect-src 'self' https:; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests",
              "content-type": "text/html",
              "cross-origin-opener-policy": "same-origin",
              "cross-origin-resource-policy": "same-origin",
              "date": "Sun, 20 Sep 2026 10:21:46 GMT",
              "last-modified": "Wed, 16 Sep 2026 14:18:42 GMT",
              "nel": "{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}",
              "permissions-policy": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=()",
              "referrer-policy": "strict-origin-when-cross-origin",
              "report-to": "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o1Rq8fmSPcFuZIYSh2PLWBYYiSsgrvA1k%2FbWU8QPL%2Fy2RE93B%2B1pkFKVM15UrZ%2BTNREX8sbBGNaVZIQ9aw8kWfXU0of122UmbGxVe8mbdxB1SaCNTxiPU7F0gdQa\"}]}",
              "server": "cloudflare",
              "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
              "transfer-encoding": "chunked",
              "vary": "accept-encoding",
              "x-content-type-options": "nosniff",
              "x-dns-prefetch-control": "off",
              "x-download-options": "noopen",
              "x-frame-options": "SAMEORIGIN",
              "x-permitted-cross-domain-policies": "none",
              "x-xss-protection": "0"
            }
          }
        },
        {
          "key": "takeover",
          "label": "Underdomän-kapning",
          "status": "ok",
          "detail": "Inga kapningsbara underdomäner hittades bland de 14 vanliga vi testade.",
          "fix": "",
          "raw": {
            "records": [],
            "resolver": "127.0.0.53",
            "at": "2026-09-20T10:21:46.516Z",
            "note": "Testade: www.pianola.se, mail.pianola.se, blog.pianola.se, shop.pianola.se, app.pianola.se, dev.pianola.se, test.pianola.se, staging.pianola.se, cdn.pianola.se, status.pianola.se, docs.pianola.se, portal.pianola.se, m.pianola.se, api.pianola.se"
          }
        }
      ],
      "score": 100,
      "grade": "A"
    }
  ],
  "toFix": 1,
  "generatedAt": "2026-09-20T10:21:46.806Z",
  "spoof": {
    "tone": "ok",
    "title": "Nej, er avsändaradress är skyddad",
    "detail": "SPF avvisar hårt allt utanför listan (-all) och DMARC avvisar förfalskad mejl (p=reject). Tillsammans gör de det mycket svårt att skicka mejl i ert namn. DKIM-signering saknas eller kunde inte bekräftas, vilket försvagar skyddet.",
    "fix": ""
  },
  "m365": false,
  "spf": {
    "tree": {
      "domain": "pianola.se",
      "record": "v=spf1 -all",
      "via": "root",
      "terms": [
        "-all"
      ],
      "lookups": 0,
      "children": []
    },
    "totalLookups": 0,
    "capped": false,
    "services": [],
    "unknownIncludes": [],
    "hasOwnServers": false,
    "at": "2026-09-20T10:21:46.421Z"
  },
  "dmarc": {
    "record": "v=DMARC1; p=reject; pct=100; rua=mailto:gdpr@lumrait.se; ruf=mailto:gdpr@lumrait.se; fo=1",
    "policy": "reject",
    "subdomainPolicy": null,
    "pct": 100,
    "adkim": "r",
    "aspf": "r",
    "rua": [
      "gdpr@lumrait.se"
    ],
    "ruf": [
      "gdpr@lumrait.se"
    ],
    "ruaThirdParty": [
      "gdpr@lumrait.se"
    ],
    "fo": "1",
    "ri": null
  },
  "api": {
    "version": 1,
    "raw": true,
    "docs": "https://kollen.lumrait.se/guider/api"
  }
}