{
  "schemaVersion": 1,
  "executedAt": "2026-10-29T08:32:38.990Z",
  "release": {
    "version": "1.1.1",
    "manifest": "public/downloads/west-coast-charts-1.1.1.manifest.json",
    "runtime": "public/wcc/west-coast-charts.min.js",
    "runtimeBytes": 683222,
    "runtimeSha256": "ed03a75726edb4857c55a35d99b14e65bfd030f8d3ec0bc8f0af6ddb864248c3",
    "manifestSha256": "2a7bbf435f5c214a6019c85455770fef16ada145ffdcbb5dc107fd285c8de6c1"
  },
  "environment": {
    "browser": "Playwright Chromium",
    "origin": "loopback only; all non-loopback requests aborted",
    "pageErrors": []
  },
  "payloads": {
    "imgOnerror": "<img src=\"/missing-hostile-image.png\" onerror=\"window.__wccXssEvents.push('img-onerror')\">",
    "svgImageOnerror": "<svg xmlns=\"http://www.w3.org/2000/svg\"><image href=\"/missing-hostile-vector.svg\" onerror=\"window.__wccXssEvents.push('svg-image-onerror')\"></image></svg>"
  },
  "cases": {
    "defaultLegend": {
      "pass": true,
      "interpretation": "Series names remain literal text nodes; neither HTML payload created elements or executed.",
      "events": [],
      "items": [
        {
          "text": "<img src=\"/missing-hostile-image.png\" onerror=\"window.__wccXssEvents.push('img-onerror')\">",
          "html": "&lt;img src=\"/missing-hostile-image.png\" onerror=\"window.__wccXssEvents.push('img-onerror')\"&gt;",
          "descendants": []
        },
        {
          "text": "<svg xmlns=\"http://www.w3.org/2000/svg\"><image href=\"/missing-hostile-vector.svg\" onerror=\"window.__wccXssEvents.push('svg-image-onerror')\"></image></svg>",
          "html": "&lt;svg xmlns=\"http://www.w3.org/2000/svg\"&gt;&lt;image href=\"/missing-hostile-vector.svg\" onerror=\"window.__wccXssEvents.push('svg-image-onerror')\"&gt;&lt;/image&gt;&lt;/svg&gt;",
          "descendants": []
        }
      ]
    },
    "customFormatterDefaultSanitizer": {
      "pass": true,
      "interpretation": "User formatter output is sanitized by default; neither payload executed and no inline handler attribute remained.",
      "events": [],
      "items": [
        {
          "text": "",
          "html": "<img src=\"/missing-hostile-image.png\">",
          "descendants": [
            {
              "tag": "img",
              "onerror": false,
              "onload": false
            }
          ]
        },
        {
          "text": "",
          "html": "<svg xmlns=\"http://www.w3.org/2000/svg\"><image href=\"/missing-hostile-vector.svg\"></image></svg>",
          "descendants": [
            {
              "tag": "svg",
              "onerror": false,
              "onload": false
            },
            {
              "tag": "image",
              "onerror": false,
              "onload": false
            }
          ]
        }
      ]
    },
    "explicitSanitizeHtmlFalse": {
      "pass": true,
      "interpretation": "Explicit raw-HTML opt-out executed both payload trackers; this confirms the intentional unsafe opt-out and is not evidence of a default-path vulnerability.",
      "events": [
        "img-onerror",
        "svg-image-onerror"
      ],
      "items": [
        {
          "text": "",
          "html": "<img src=\"/missing-hostile-image.png\" onerror=\"window.__wccXssEvents.push('img-onerror')\">",
          "descendants": [
            {
              "tag": "img",
              "onerror": true,
              "onload": false
            }
          ]
        },
        {
          "text": "",
          "html": "<svg xmlns=\"http://www.w3.org/2000/svg\"><image href=\"/missing-hostile-vector.svg\" onerror=\"window.__wccXssEvents.push('svg-image-onerror')\"></image></svg>",
          "descendants": [
            {
              "tag": "svg",
              "onerror": false,
              "onload": false
            },
            {
              "tag": "image",
              "onerror": true,
              "onload": false
            }
          ]
        }
      ]
    }
  }
}
