{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "serialNumber": "urn:uuid:db2e1304-abbb-4cdb-9b20-5080c0c1b71f",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-29T10:43:53.336Z",
    "tools": [
      {
        "vendor": "jQWidgets",
        "name": "build-studio-sbom.js",
        "version": "1.18.0"
      }
    ],
    "authors": [
      {
        "name": "jQWidgets Ltd."
      }
    ],
    "component": {
      "type": "application",
      "bom-ref": "pkg:generic/scada-studio@1.18.0",
      "name": "scada-studio",
      "version": "1.18.0",
      "description": "A browser-based front-panel and diagram builder for test benches and machine HMIs, with a station agent for instruments and PLCs.",
      "licenses": [
        {
          "license": {
            "name": "Commercial",
            "url": "https://www.htmlelements.com/license/"
          }
        }
      ],
      "supplier": {
        "name": "jQWidgets Ltd.",
        "url": [
          "https://www.htmlelements.com/"
        ]
      },
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.htmlelements.com/industrial/studio/"
        },
        {
          "type": "documentation",
          "url": "https://www.htmlelements.com/industrial/studio/docs/"
        },
        {
          "type": "security-contact",
          "url": "mailto:support@jqwidgets.com"
        },
        {
          "type": "advisories",
          "url": "https://www.htmlelements.com/industrial/studio/docs/security/"
        }
      ]
    }
  },
  "components": [
    {
      "type": "application",
      "bom-ref": "pkg:generic/scada-studio-designer@1.18.0",
      "name": "scada-studio-designer",
      "version": "1.18.0",
      "description": "The designer, the runtime, the message-flow and dataflow engines and the formula language: static files for a browser.",
      "licenses": [
        {
          "license": {
            "name": "Commercial",
            "url": "https://www.htmlelements.com/license/"
          }
        }
      ],
      "properties": [
        {
          "name": "file:app.html",
          "value": "sha256:1f7aa482dfe4df79d3b6e9a395eae2fa53eace753a247cf644a54d7acf85e05a"
        },
        {
          "name": "file:index.html",
          "value": "sha256:a69c4e09874f0cd120d55e85f853dbde719021e0fb998220a94027acb8c4844b"
        },
        {
          "name": "file:studio-alarms.js",
          "value": "sha256:343938287435c5d0dd05706669bad6532d000a235d2c9b5a18b341383e075790"
        },
        {
          "name": "file:studio-controls.js",
          "value": "sha256:8caeafe539c74bfe20e42214654fb63d1771b869e79bba375b0eefdc5b2e9df9"
        },
        {
          "name": "file:studio-cron.js",
          "value": "sha256:ea133ede9dc2d4f1397bc69743246d3baaae2e8b1de85338a407cc64fdd4108e"
        },
        {
          "name": "file:studio-dataflow.js",
          "value": "sha256:0b1b8d434362e0da652e6f202308b886ab2fd63a120ce8d286eae7caca9c8b4b"
        },
        {
          "name": "file:studio-editor.js",
          "value": "sha256:718c7b5ce921f3c8ea51f6d1d512aab472e49b7d5574595b674bcbd8ce954a63"
        },
        {
          "name": "file:studio-embed.js",
          "value": "sha256:451134f141fcc04a427df751d2023d65b2b060e65d0ff1b7af08431895c2fa0d"
        },
        {
          "name": "file:studio-flow-editor.js",
          "value": "sha256:77746e99271157aeb3d32d87f60302c5a7d908bb9d8ccb136f9261a7fccaad19"
        },
        {
          "name": "file:studio-flows.js",
          "value": "sha256:7bcd55a2cf1503a4d2a3209ef5a6a26c667766fcce6dcb34a00f315d33601ab1"
        },
        {
          "name": "file:studio-formula.js",
          "value": "sha256:95540b2b4e824961cf9bd63e4bca8b2491c6bac432b55dc9c085b3b0922f15a2"
        },
        {
          "name": "file:studio-licence.js",
          "value": "sha256:48a53268bff718f138e0964ce5ee1b17d44b8b7bcaf5d62fe16768ee6e7ab933"
        },
        {
          "name": "file:studio-runtime.js",
          "value": "sha256:d41ede58bdfac2ecaa15bb4df7e8a7c05f4a6fcad0095d5bb8548b2c3a608f8f"
        },
        {
          "name": "file:studio.css",
          "value": "sha256:30fbb78381b2ca95b0303eb1c1dd8362c41c9fd30ac5349cfb918dc7c687e03b"
        }
      ]
    },
    {
      "type": "application",
      "bom-ref": "pkg:generic/scada-studio-agent@1.18.0",
      "name": "scada-studio-agent",
      "version": "1.18.0",
      "description": "The station agent: a Node.js server with no required dependency.",
      "licenses": [
        {
          "license": {
            "name": "Commercial",
            "url": "https://www.htmlelements.com/license/"
          }
        }
      ],
      "properties": [
        {
          "name": "runtime",
          "value": "Node.js >= 18"
        },
        {
          "name": "file:agent.js",
          "value": "sha256:ed5afc04f13a7dee844993b00382e36cd81cac5f8a22f588a2909c5dbbc65cb4"
        },
        {
          "name": "file:lib/audit.js",
          "value": "sha256:8babdcf4603ca655f9d85cefce98ca9cfaedf55bed6077c4cb95ecfc3a2ead9c"
        },
        {
          "name": "file:lib/cert.js",
          "value": "sha256:3179179c66e83a5935ddcfa0c03ee0c1c27a47e95e35312e967f16c1e327381a"
        },
        {
          "name": "file:lib/daqmx.js",
          "value": "sha256:3ff9d8cc7894d8b223cba0eedcc5c0c660aee0a01d96e98629112bbd11e9968c"
        },
        {
          "name": "file:lib/downtime.js",
          "value": "sha256:ec2d51340097ed06fbf70400add587d1ed156d15ffafd768727056c7a31d794b"
        },
        {
          "name": "file:lib/enip.js",
          "value": "sha256:fa341ce3b5aee39d1e26de07eff69b32dace902f0f0f71fb605d79b6a0386887"
        },
        {
          "name": "file:lib/history.js",
          "value": "sha256:ccec64c107f90cc8f5cb5be98a780cd4cd201c4d8fc40b25067adeb21d90214b"
        },
        {
          "name": "file:lib/http.js",
          "value": "sha256:c9fe6d9b862bebf4f8d81f90802f87b2cc155696960ce21a1e2822f37de1c7c6"
        },
        {
          "name": "file:lib/modbus.js",
          "value": "sha256:6781f7b31307b6cb6907c5d947e38c9ce44da54652d910a30b1e405b79f9b90c"
        },
        {
          "name": "file:lib/mqtt.js",
          "value": "sha256:280983dc5715ca61c4508ef046d1a0fdd89338af0c2b7d8ff5e5b84433443b39"
        },
        {
          "name": "file:lib/oidc.js",
          "value": "sha256:fb4b2aa8c532d7a05aac79376c85fc09184205e8e44c404e9a34356c7fe6c1cc"
        },
        {
          "name": "file:lib/opcua-server.js",
          "value": "sha256:8e16c4d03ddf514ce0c220633fdf807e04010f90a4b0cc00140e87be0201ba10"
        },
        {
          "name": "file:lib/opcua.js",
          "value": "sha256:ef266c3b6e509236173aeb9cb757fb7ab9065493ce2792e336a763916183cfa4"
        },
        {
          "name": "file:lib/orders.js",
          "value": "sha256:914ab53577ea85785675917445030328968ba47a22603480870f28d3ed95978b"
        },
        {
          "name": "file:lib/recipes.js",
          "value": "sha256:15b2ab17d6d7229ba088056b691c07c809fc87dd0d5ff80bf8a5a6cf94a557d2"
        },
        {
          "name": "file:lib/s7.js",
          "value": "sha256:a9e4c44f3e3ee0a0504d1a907496b6116f0c115bf96296cfb4eb156a2e9f6d20"
        },
        {
          "name": "file:lib/sandbox-worker.js",
          "value": "sha256:3265bf9db17f752a3a14d617f536fb7eb793e03d9198696bd83b671b96175204"
        },
        {
          "name": "file:lib/sandbox.js",
          "value": "sha256:7e62de0899decdc3329e559fa24af6530ffbbb06787df46268a8d033e1ea380c"
        },
        {
          "name": "file:lib/scheduler.js",
          "value": "sha256:f361b486a59f2d3ab2a26fa1b1634ddda3358d6798f55eb29e02907a93cc271c"
        },
        {
          "name": "file:lib/scpi.js",
          "value": "sha256:2517b5477c7a232af2d2bf331d4f7b82e27f691b0d92ffbc7a29cdb9b668ebfa"
        },
        {
          "name": "file:lib/shiftlog.js",
          "value": "sha256:a33cbfe2ea0257414c6441c4d7cd886ff4545dd50cb1cde4dadbb582f59478c2"
        },
        {
          "name": "file:lib/simulator.js",
          "value": "sha256:c5e4a2c82938bd843d1bbe284439e9a2ea9a812aaebd89bbc0575bd44d55f11b"
        },
        {
          "name": "file:lib/tdms.js",
          "value": "sha256:bb8edb0e2d9ada50f91bd12a7a601d1a5f53bb9a55ac3e43822b36ce42af57ae"
        },
        {
          "name": "file:lib/transport.js",
          "value": "sha256:d2568fd8a0c54da13231bffda8243aeff53358db89d7ed647dd3cf680efe1145"
        },
        {
          "name": "file:lib/users.js",
          "value": "sha256:a22a62518a2bc127131d790b3ca98bf97ffa2569427007b5b6882cd85857f001"
        },
        {
          "name": "file:lib/visa.js",
          "value": "sha256:0ddf5aee1dd8d39901a7843f140908edb8511ad6fc388c865a13718a4aa4fcff"
        },
        {
          "name": "file:lib/websocket.js",
          "value": "sha256:5224a16b7c5cf320ae4ee3c0c1e06b2deda8d4abd717d3b85699fce782c9fdbf"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/smart-industrial@27.0.1",
      "name": "smart-industrial",
      "version": "27.0.1",
      "description": "The Smart.Industrial component library the designer and the published apps render with; it ships its own SBOM and security policy.",
      "purl": "pkg:npm/smart-industrial@27.0.1",
      "licenses": [
        {
          "license": {
            "name": "Commercial",
            "url": "https://www.htmlelements.com/license/"
          }
        }
      ],
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://www.npmjs.com/package/smart-industrial"
        },
        {
          "type": "bom",
          "url": "https://www.htmlelements.com/industrial/studio/sbom.cdx.json"
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/node-opcua",
      "name": "node-opcua",
      "scope": "optional",
      "description": "Optional: the OPC UA client source; loaded only when installed next to the agent by its operator, at the version they install.",
      "purl": "pkg:npm/node-opcua",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/serialport",
      "name": "serialport",
      "scope": "optional",
      "description": "Optional: native serial ports for the Modbus RTU and SCPI serial sources; loaded only when installed next to the agent by its operator, at the version they install.",
      "purl": "pkg:npm/serialport",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/koffi",
      "name": "koffi",
      "scope": "optional",
      "description": "Optional: the VISA and DAQmx libraries through their C interfaces; loaded only when installed next to the agent by its operator, at the version they install.",
      "purl": "pkg:npm/koffi",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:generic/scada-studio@1.18.0",
      "dependsOn": [
        "pkg:generic/scada-studio-designer@1.18.0",
        "pkg:generic/scada-studio-agent@1.18.0"
      ]
    },
    {
      "ref": "pkg:generic/scada-studio-designer@1.18.0",
      "dependsOn": [
        "pkg:npm/smart-industrial@27.0.1"
      ]
    },
    {
      "ref": "pkg:generic/scada-studio-agent@1.18.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/smart-industrial@27.0.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/node-opcua",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/serialport",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/koffi",
      "dependsOn": []
    }
  ]
}
