{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "serialNumber": "urn:uuid:9fba438c-a954-4759-aefd-934e1aef7eb7",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-13T12:39:12.089Z",
    "tools": {
      "components": [
        {
          "type": "application",
          "name": "Frame Bench build (generate-sbom.js)",
          "version": "1.0.0"
        }
      ]
    },
    "component": {
      "type": "application",
      "bom-ref": "frame-bench",
      "name": "Frame Bench",
      "version": "1.0.0",
      "supplier": {
        "name": "Netomize",
        "url": [
          "https://www.framebench.ca"
        ]
      },
      "description": "Desktop application for viewing, editing, crafting and analyzing packet captures. Works offline.",
      "licenses": [
        {
          "license": {
            "name": "Proprietary, see the End User License Agreement"
          }
        }
      ]
    }
  },
  "components": [
    {
      "type": "framework",
      "bom-ref": "comp-electron",
      "name": "Electron",
      "version": "44.4.3",
      "description": "Application shell: bundles Chromium and Node.js and runs Frame Bench as a desktop app.",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl": "pkg:npm/electron@44.4.3",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.electronjs.org"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-chromium",
      "name": "Chromium",
      "version": "152.0.7977.130",
      "description": "Web engine inside Electron that renders the interface.",
      "licenses": [
        {
          "license": {
            "name": "BSD-3-Clause and other open source licenses"
          }
        }
      ],
      "purl": "pkg:generic/chromium@152.0.7977.130",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.chromium.org"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-v8",
      "name": "V8",
      "version": "15.2.124.28-electron.0",
      "description": "JavaScript engine inside Chromium. Covered by LICENSES.chromium.html.",
      "licenses": [
        {
          "license": {
            "id": "BSD-3-Clause"
          }
        }
      ],
      "purl": "pkg:generic/v8@15.2.124.28-electron.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://v8.dev"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-node-js",
      "name": "Node.js",
      "version": "24.21.0",
      "description": "Runtime used by Electron's main process (file access and the two license requests). Its own third-party notices are inside the Node.js distribution that Electron bundles.",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl": "pkg:generic/nodejs@24.21.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://nodejs.org"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-brotli-decode",
      "name": "brotli-decode",
      "version": "vendored from google/brotli js/decode (unmodified except for removing the trailing export keyword)",
      "description": "Decompresses Brotli-encoded (Content-Encoding: br) bodies in captured web traffic. File: libraries/brotli-decode.js.",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl": "pkg:github/google/brotli",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://github.com/google/brotli"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-fzstd",
      "name": "fzstd",
      "version": "vendored from 101arrowz/fzstd (unmodified UMD build)",
      "description": "Decompresses Zstandard (Content-Encoding: zstd) bodies in captured web traffic. File: libraries/fzstd.js.",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl": "pkg:npm/fzstd",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://github.com/101arrowz/fzstd"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "comp-koffi",
      "name": "koffi",
      "version": "2.16.3",
      "description": "Lets the desktop app call the Npcap packet capture library, to send frames onto a network when you ask it to. Npcap itself is not included: it is installed separately from npcap.com.",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl": "pkg:npm/koffi",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://koffi.dev"
        }
      ]
    }
  ],
  "dependencies": [
    {
      "ref": "frame-bench",
      "dependsOn": [
        "comp-electron",
        "comp-chromium",
        "comp-v8",
        "comp-node-js",
        "comp-brotli-decode",
        "comp-fzstd",
        "comp-koffi"
      ]
    }
  ]
}
