{
  "exported_at": "2026-09-30T10:03:05.566210Z",
  "kind": "page",
  "target": "https://capcrop.com",
  "run_id": "0eef106e28824a70a47de38521912e8a",
  "status": "running",
  "stats": null,
  "findings": [
    {
      "type": "finding",
      "id": 224,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 225,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 226,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 227,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 228,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 229,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 230,
      "url": "https://capcrop.com",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 231,
      "url": "https://capcrop.com",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": ".signup-card > .signup > form > button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          },
          {
            "selector": ".refer",
            "snippet": "<span class=\"promo-tag refer\">Refer &amp; earn</span>"
          },
          {
            "selector": ".cta-band > .signup > form > button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          },
          {
            "selector": ".val",
            "snippet": "<span class=\"ochip val\">a $6 value</span>"
          }
        ],
        "node_count": 5,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 232,
      "url": "https://capcrop.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 0.94",
      "detail": "Lighthouse category 'Performance' scored 0.94 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 0.94
      }
    },
    {
      "type": "finding",
      "id": 233,
      "url": "https://capcrop.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.95",
      "detail": "Lighthouse category 'Accessibility' scored 0.95 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.95
      }
    },
    {
      "type": "finding",
      "id": 234,
      "url": "https://capcrop.com",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 235,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 236,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 237,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 238,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 239,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 240,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 241,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 242,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 243,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 244,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.95",
      "detail": "Lighthouse category 'Accessibility' scored 0.95 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.95
      }
    },
    {
      "type": "finding",
      "id": 245,
      "url": "https://capcrop.com/guides/scan-multiple-photos-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 246,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 247,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 248,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 249,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 250,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 251,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 252,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 253,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 254,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 255,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.94",
      "detail": "Lighthouse category 'Accessibility' scored 0.94 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.94
      }
    },
    {
      "type": "finding",
      "id": 256,
      "url": "https://capcrop.com/guides/why-we-dont-train-ai-on-your-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 257,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 258,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 259,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 260,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 261,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 262,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 263,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 264,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 265,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 266,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.94",
      "detail": "Lighthouse category 'Accessibility' scored 0.94 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.94
      }
    },
    {
      "type": "finding",
      "id": 267,
      "url": "https://capcrop.com/guides/digitize-old-family-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 268,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 269,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 270,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 271,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 272,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 273,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 274,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 275,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 276,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 277,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.95",
      "detail": "Lighthouse category 'Accessibility' scored 0.95 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.95
      }
    },
    {
      "type": "finding",
      "id": 278,
      "url": "https://capcrop.com/batch-crop",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 279,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 280,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 281,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 282,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 283,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 284,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 285,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 286,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 287,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 288,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.95",
      "detail": "Lighthouse category 'Accessibility' scored 0.95 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.95
      }
    },
    {
      "type": "finding",
      "id": 289,
      "url": "https://capcrop.com/compare/capcrop-vs-autocropper",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 290,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 291,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 292,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 293,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 294,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 295,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 296,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 297,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 298,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 0.99",
      "detail": "Lighthouse category 'Performance' scored 0.99 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 0.99
      }
    },
    {
      "type": "finding",
      "id": 299,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.95",
      "detail": "Lighthouse category 'Accessibility' scored 0.95 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.95
      }
    },
    {
      "type": "finding",
      "id": 300,
      "url": "https://capcrop.com/compare/capcrop-vs-photomyne",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 301,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 302,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 303,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 304,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 305,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 306,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 307,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 308,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 309,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 310,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.94",
      "detail": "Lighthouse category 'Accessibility' scored 0.94 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.94
      }
    },
    {
      "type": "finding",
      "id": 311,
      "url": "https://capcrop.com/guides/scan-color-negatives-flatbed",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 312,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-csp",
      "severity": "serious",
      "title": "Missing Content-Security-Policy header",
      "detail": "No Content-Security-Policy header was present, leaving the page without a script-injection safety net.",
      "evidence": {
        "header": "content-security-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 313,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-hsts",
      "severity": "serious",
      "title": "Missing Strict-Transport-Security header",
      "detail": "This HTTPS page does not send Strict-Transport-Security, so browsers won't enforce HTTPS on subsequent visits.",
      "evidence": {
        "header": "strict-transport-security",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 314,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-frame-protection",
      "severity": "moderate",
      "title": "Missing clickjacking protection",
      "detail": "Neither X-Frame-Options nor a CSP frame-ancestors directive is present, so the page can be framed by another site.",
      "evidence": {
        "x-frame-options": null,
        "csp_frame_ancestors": false
      }
    },
    {
      "type": "finding",
      "id": 315,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-xcto",
      "severity": "minor",
      "title": "Missing X-Content-Type-Options: nosniff",
      "detail": "Without 'nosniff', browsers may MIME-sniff responses in ways that enable content-type confusion attacks.",
      "evidence": {
        "header": "x-content-type-options",
        "value": null
      }
    },
    {
      "type": "finding",
      "id": 316,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-referrer-policy",
      "severity": "minor",
      "title": "Missing Referrer-Policy header",
      "detail": "No Referrer-Policy header was present, so the browser's default (often permissive) referrer behavior applies.",
      "evidence": {
        "header": "referrer-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 317,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "missing-permissions-policy",
      "severity": "info",
      "title": "Missing Permissions-Policy header",
      "detail": "No Permissions-Policy header was present to restrict access to powerful browser features.",
      "evidence": {
        "header": "permissions-policy",
        "present": false
      }
    },
    {
      "type": "finding",
      "id": 318,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "security",
      "tier": 0,
      "rule": "server-version-disclosure",
      "severity": "minor",
      "title": "Server header discloses version information",
      "detail": "The server header ('nginx/1.24.0 (Ubuntu)') discloses software/version details useful for targeting known vulnerabilities.",
      "evidence": {
        "header": "server",
        "value": "nginx/1.24.0 (Ubuntu)"
      }
    },
    {
      "type": "finding",
      "id": 319,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "wcag",
      "tier": 0,
      "rule": "color-contrast",
      "severity": "serious",
      "title": "Elements must meet minimum color contrast ratio thresholds",
      "detail": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "evidence": {
        "impact": "serious",
        "nodes": [
          {
            "selector": ".cta-mini",
            "snippet": "<a class=\"cta-mini\" href=\"#join\">Get early access</a>"
          },
          {
            "selector": "button",
            "snippet": "<button class=\"cap-btn\" type=\"submit\">Get early access</button>"
          }
        ],
        "node_count": 2,
        "tags": [
          "cat.color",
          "wcag2aa",
          "wcag143",
          "TTv5",
          "TT13.c",
          "EN-301-549",
          "EN-9.1.4.3",
          "ACT"
        ]
      }
    },
    {
      "type": "finding",
      "id": 320,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/performance",
      "severity": "info",
      "title": "Lighthouse Performance score: 1",
      "detail": "Lighthouse category 'Performance' scored 1 (0-1 scale).",
      "evidence": {
        "category": "performance",
        "score": 1
      }
    },
    {
      "type": "finding",
      "id": 321,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/accessibility",
      "severity": "info",
      "title": "Lighthouse Accessibility score: 0.94",
      "detail": "Lighthouse category 'Accessibility' scored 0.94 (0-1 scale).",
      "evidence": {
        "category": "accessibility",
        "score": 0.94
      }
    },
    {
      "type": "finding",
      "id": 322,
      "url": "https://capcrop.com/guides/straighten-scanned-photos",
      "pipeline": "ux",
      "tier": 0,
      "rule": "ux/lighthouse/best-practices",
      "severity": "info",
      "title": "Lighthouse Best Practices score: 1",
      "detail": "Lighthouse category 'Best Practices' scored 1 (0-1 scale).",
      "evidence": {
        "category": "best-practices",
        "score": 1
      }
    }
  ],
  "errors": []
}