{"schemaVersion":"1.1.0","product":"Website Release Evidence Dossier","version":"1.1.0","observedAt":"2026-09-20T02:31:17.541Z","target":{"requestedUrl":"https://example.com/","requestedUrlSha256":"0f115db062b7c0dd030b16878c99dea5c354b49dc37b38eb8846179c7783e9d7","finalUrl":"https://example.com/","finalUrlSha256":"0f115db062b7c0dd030b16878c99dea5c354b49dc37b38eb8846179c7783e9d7","redirectCount":0,"redirectChain":[]},"http":{"status":200,"durationMs":60,"contentType":"text/html","bodyBytes":559,"bodySha256":"ff67a9d764d6a2367a187734e697f6a53217db9a21c101d410a113ca871a299d","headers":{"content-type":"text/html","last-modified":"Tue, 15 Sep 2026 23:38:37 GMT"}},"tls":{"authorized":true,"protocol":"TLSv1.3","cipher":"TLS_AES_256_GCM_SHA384","subjectCommonName":"example.com","issuerCommonName":"Cloudflare TLS Issuing ECC CA 3","validFrom":"Jul 29 22:10:08 2026 GMT","validTo":"Oct 27 22:17:21 2026 GMT","fingerprint256":"61:53:A9:6F:D1:A6:AB:7F:4D:43:8F:C3:49:32:48:42:99:D0:72:9D:91:40:B3:A1:26:BB:2F:9C:07:B0:22:00"},"summary":{"score":57,"possible":100,"catalogWeight":100,"grade":"F","verdict":"material-gaps","ready":false,"passes":10,"warnings":6,"failures":6,"sections":{"transport":{"earned":15,"possible":15},"security":{"earned":0,"possible":30},"seo":{"earned":26,"possible":35},"accessibility":{"earned":16,"possible":20}}},"checks":[{"id":"authenticated-https","section":"transport","title":"Authenticated public HTTPS","status":"pass","points":5,"earned":5,"evidence":{"authorized":true,"protocol":"TLSv1.3"},"fix":null},{"id":"http-success","section":"transport","title":"Successful final response","status":"pass","points":5,"earned":5,"evidence":{"status":200},"fix":null},{"id":"html-content-type","section":"transport","title":"HTML content type","status":"pass","points":5,"earned":5,"evidence":{"contentType":"text/html","parseIssue":null},"fix":null},{"id":"hsts","section":"security","title":"HSTS","status":"fail","points":5,"earned":0,"evidence":{"maxAge":null,"includeSubDomains":false,"duplicateMaxAge":false},"fix":"Strict-Transport-Security: max-age=31536000; includeSubDomains"},{"id":"csp","section":"security","title":"Content Security Policy","status":"fail","points":5,"earned":0,"evidence":{"ambiguousPolicyList":false,"duplicateDirectives":[],"defaultSrcRestrictive":false,"objectSrcNone":false,"hasUnsafeInline":false,"hasUnsafeEval":false,"hasFrameAncestors":false,"frameAncestorsValid":false},"fix":"Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'"},{"id":"nosniff","section":"security","title":"MIME sniffing disabled","status":"fail","points":5,"earned":0,"evidence":{"value":null},"fix":"X-Content-Type-Options: nosniff"},{"id":"frame-policy","section":"security","title":"Frame embedding policy","status":"fail","points":5,"earned":0,"evidence":{"xFrameOptions":null,"cspFrameAncestorsValid":false},"fix":"X-Frame-Options: DENY (or add frame-ancestors 'none' to CSP)"},{"id":"referrer-policy","section":"security","title":"Referrer policy","status":"fail","points":5,"earned":0,"evidence":{"policies":[]},"fix":"Referrer-Policy: strict-origin-when-cross-origin"},{"id":"permissions-policy","section":"security","title":"Permissions policy","status":"fail","points":5,"earned":0,"evidence":{"present":false,"directiveCount":0,"syntaxValid":false,"wildcard":false},"fix":"Permissions-Policy: camera=(), microphone=(), geolocation=()"},{"id":"title","section":"seo","title":"Descriptive title","status":"pass","points":5,"earned":5,"evidence":{"length":14,"value":"Example Domain"},"fix":null},{"id":"meta-description","section":"seo","title":"Meta description","status":"warning","points":5,"earned":2.5,"evidence":{"length":0},"fix":""},{"id":"canonical","section":"seo","title":"Same-origin HTTPS canonical URL","status":"warning","points":5,"earned":2.5,"evidence":{"value":null,"sameOrigin":false,"credentialsPresent":false},"fix":""},{"id":"robots-indexable","section":"seo","title":"Indexable robots directive","status":"pass","points":4,"earned":4,"evidence":{"value":"not set (index allowed by default)","explicitlyNotIndexable":false},"fix":null},{"id":"html-lang","section":"seo","title":"Valid document language","status":"pass","points":4,"earned":4,"evidence":{"observed":"en","canonical":"en"},"fix":null},{"id":"single-h1","section":"seo","title":"One non-empty H1","status":"pass","points":4,"earned":4,"evidence":{"count":1},"fix":null},{"id":"open-graph","section":"seo","title":"Open Graph trio","status":"warning","points":4,"earned":2,"evidence":{"present":{"title":false,"description":false,"image":false}},"fix":""},{"id":"structured-data","section":"seo","title":"Typed schema.org JSON-LD","status":"warning","points":4,"earned":2,"evidence":{"blocks":0,"validTypedBlocks":0},"fix":""},{"id":"image-alt","section":"accessibility","title":"Image alternative text","status":"pass","points":4,"earned":4,"evidence":{"images":0,"missingAlt":0},"fix":null},{"id":"form-labels","section":"accessibility","title":"Form control names","status":"pass","points":4,"earned":4,"evidence":{"controls":0,"unlabeled":0},"fix":null},{"id":"heading-order","section":"accessibility","title":"Heading order","status":"pass","points":4,"earned":4,"evidence":{"headings":[1],"jumps":0},"fix":null},{"id":"main-landmark","section":"accessibility","title":"Main landmark","status":"warning","points":4,"earned":2,"evidence":{"present":false},"fix":"