{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:5d8960cb-1e46-4dcc-9787-09667ada5e15",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-22T10:57:43Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "fast-string-width",
      "group": "",
      "version": "1.0.4",
      "description": "A fast function for calculating the visual width of a string once printed to the terminal.",
      "purl": "pkg:npm/fast-string-width@1.0.4",
      "bom-ref": "pkg:npm/fast-string-width@1.0.4",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "benchmark, benchmark:watch, clean, compile, compile:watch, test, test:watch, prepublishOnly"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "benchmark:watch, compile, compile:watch, test:watch"
        }
      ],
      "type": "application"
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "benchloop",
      "version": "2.1.1",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "62223548d295ccfd02bcf1107333565bf9cc78c746151d0f169fcb1cf706bdee3326c0938884c53ffb7f7f96b8f16fe92c0bd73d6f6adea794b3c9eabae87075"
        }
      ],
      "purl": "pkg:npm/benchloop@2.1.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/benchloop/-/benchloop-2.1.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/benchloop@2.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/benchloop/-/benchloop-2.1.1.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "benchloop"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "tasks/benchmark.js",
            "line": 4
          },
          {
            "location": "tasks/benchmark.js",
            "line": 29
          },
          {
            "location": "tasks/benchmark.js",
            "line": 35
          },
          {
            "location": "tasks/benchmark.js",
            "line": 43
          },
          {
            "location": "tasks/benchmark.js",
            "line": 58
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-colors",
      "version": "2.1.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "ea9786441b6460126956b41458e3caac2d040a8e96a2d5255f18ab5532af8a18dd8314044e92ad2dd08a21bebc2078c9607d40384ec633b467c45be4187b2a3a"
        }
      ],
      "purl": "pkg:npm/tiny-colors@2.1.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-colors/-/tiny-colors-2.1.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-colors@2.1.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-colors/-/tiny-colors-2.1.2.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "fava",
      "version": "0.3.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "3c4b41cc904b53570038f831b1b9129e2e3561f9bdf85ca6732268e66c110f598cfa6fc961cac07c14334f658700c2cb2d94917ed433117c007f11f8f4e3b230"
        }
      ],
      "purl": "pkg:npm/fava@0.3.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/fava/-/fava-0.3.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/fava@0.3.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/fava/-/fava-0.3.2.tgz"
        },
        {
          "name": "cdx:npm:binPaths",
          "value": "/app/node_modules/.bin/fava"
        },
        {
          "name": "cdx:npm:bin",
          "value": "fava"
        },
        {
          "name": "cdx:npm:has_binary",
          "value": "true"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "are-deeply-equal",
      "version": "1.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "7371b042602d0f62aaf8935893f8977bc2fa7c42a2ceb6ac4adab084ccc82a68b6031f3ca466e1a1ec50a87e9f235f9b19fa39151221b2c0a8f88e0c4eb1eae5"
        }
      ],
      "purl": "pkg:npm/are-deeply-equal@1.1.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/are-deeply-equal/-/are-deeply-equal-1.1.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/are-deeply-equal@1.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/are-deeply-equal/-/are-deeply-equal-1.1.1.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "call-chainer",
      "version": "3.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "b36c473da3551bccf86689ace3944880b0058cc6edce3c598983eafdc40c31f86b4679e0da2e02c28f5002eb1663e204997c3e77a23a3171d1014f93d6c125c9"
        }
      ],
      "purl": "pkg:npm/call-chainer@3.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/call-chainer/-/call-chainer-3.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/call-chainer@3.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/call-chainer/-/call-chainer-3.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "promise-make-naked",
      "version": "2.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "04bbe065235191034ce5118be02cfcc0aefa5926feb7755e3092fefe4c51047239fa7962a997b3ada9c61ad8aefde3de168e7e09a2d1bef18ccd7ac1baedad00"
        }
      ],
      "purl": "pkg:npm/promise-make-naked@2.1.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/promise-make-naked/-/promise-make-naked-2.1.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/promise-make-naked@2.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/promise-make-naked/-/promise-make-naked-2.1.1.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "promise-resolve-timeout",
      "version": "2.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "52c59261a92d579a42181bbbe115fe8059bcfa3013dbab76a63fd123b3fc9332f3b87a75ee889abf755f0ad424cb1e5f460d25f6b0ac255bc04900fc155d7fc3"
        }
      ],
      "purl": "pkg:npm/promise-resolve-timeout@2.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/promise-resolve-timeout/-/promise-resolve-timeout-2.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/promise-resolve-timeout@2.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/promise-resolve-timeout/-/promise-resolve-timeout-2.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "specialist",
      "version": "1.4.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "44eeface5ce3770e1a70d607da8883aa649cde3413ca68896a9348eb0e3b5c1d6238a39a588600f9e674edbf2908f0ac1d93f035dc474c98a14b42c715e94538"
        }
      ],
      "purl": "pkg:npm/specialist@1.4.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/specialist/-/specialist-1.4.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/specialist@1.4.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/specialist/-/specialist-1.4.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-bin",
      "version": "1.7.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "eb32bab09cac769172fb9718cd8b5bb1a2d3713041440cec14a2075017a8fd43e15aa57f97246a58dbe7756464e2379789d60fb11cfb77c6034ace3d8eff0cdb"
        }
      ],
      "purl": "pkg:npm/tiny-bin@1.7.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-bin/-/tiny-bin-1.7.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-bin@1.7.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-bin/-/tiny-bin-1.7.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ansi-purge",
      "version": "1.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "91b9b876da758dc23c65686db443f39a06bd7f06e118c8a720382139c067839abd74eb2733a3d85778a1fb94cee03ee29c65d4f73066562ef1d59e1d96e63ce5"
        }
      ],
      "purl": "pkg:npm/ansi-purge@1.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/ansi-purge/-/ansi-purge-1.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ansi-purge@1.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/ansi-purge/-/ansi-purge-1.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "get-current-package",
      "version": "1.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "984678de698f31d473fbbbe8b8177f7e19c4311174a26073730c307f61a66d649e64919d587469f5118b6715bb6679d9d788cf7371ab787874b3feeeecf649a5"
        }
      ],
      "purl": "pkg:npm/get-current-package@1.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/get-current-package/-/get-current-package-1.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/get-current-package@1.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/get-current-package/-/get-current-package-1.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "find-up-json",
      "version": "2.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "5291cc21dccbcd9347674bd756fde41ebdafab631603e840f3397394f1f95cc1b2622b08affeff74d9b9023591dda7ba3a789ef5ad7382d1313aa8b1fbc11243"
        }
      ],
      "purl": "pkg:npm/find-up-json@2.0.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/find-up-json/-/find-up-json-2.0.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/find-up-json@2.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/find-up-json/-/find-up-json-2.0.2.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-levenshtein",
      "version": "1.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "dbb2b15d986e5c23fec689779388cc5a6b3cf81e87daa114941313981e584f7baf15714d7ede07c3f32ababac7903742d359f1d472000dc135c11e346f225fe1"
        }
      ],
      "purl": "pkg:npm/tiny-levenshtein@1.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-levenshtein/-/tiny-levenshtein-1.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-levenshtein@1.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-levenshtein/-/tiny-levenshtein-1.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-parse-argv",
      "version": "2.4.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "59312c9e678736bf7d84b4080c0fa09ec4be7c3b020c84e5aa023ecc4871f4ce84acfb7485ea0d6753c6bea97ac1c7fde6c231e3427430b61768fbde1b0b69a0"
        }
      ],
      "purl": "pkg:npm/tiny-parse-argv@2.4.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-parse-argv/-/tiny-parse-argv-2.4.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-parse-argv@2.4.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-parse-argv/-/tiny-parse-argv-2.4.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-updater",
      "version": "3.5.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "921d7ddb615234f4e6addaf7e77c7ec49453aeb54597dceafd0d55cf8ed83568533b48e7dd9c9977a09a85ef2a5b930b5e0fa089afb41bb6fa1c8816ee96c132"
        }
      ],
      "purl": "pkg:npm/tiny-updater@3.5.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-updater/-/tiny-updater-3.5.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-updater@3.5.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-updater/-/tiny-updater-3.5.1.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ionstore",
      "version": "1.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "8a412f99e64587dbb94a48ca6c5a899669a16904ee941dcfed0a12a19ff12fc1033f9ba3e5059b3de29c43c649b6ccc12c74519e1209244f0fd5d845c7fa0233"
        }
      ],
      "purl": "pkg:npm/ionstore@1.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/ionstore/-/ionstore-1.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ionstore@1.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/ionstore/-/ionstore-1.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "when-exit",
      "version": "2.1.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "bbd27eb6869fdc20b1080cccff8f38a8d031404ef9ac5755822144115f17a6cda0cd885fd2dc7bdecd565c3421930575ec4dccc51333e349bb124776ff5db52e"
        }
      ],
      "purl": "pkg:npm/when-exit@2.1.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/when-exit/-/when-exit-2.1.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/when-exit@2.1.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/when-exit/-/when-exit-2.1.2.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tiny-readdir",
      "version": "2.4.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "2d2ecd40a2f22f2fc47a99c86ce58376447893c28fc0f624602319cd03adb44e4f8665c16caa8675193a9dd22c4e9079e212f6d3c811100b4c7ed95bf9a10baf"
        }
      ],
      "purl": "pkg:npm/tiny-readdir@2.4.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-readdir/-/tiny-readdir-2.4.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tiny-readdir@2.4.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tiny-readdir/-/tiny-readdir-2.4.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "watcher",
      "version": "2.3.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "ea15694f53a19984d986c814343da8da04cbefd4e8b01d6b1fc0d6cc33bb28197247d62ec60fcb5d419e1c9aa38efc299f21d3eee51d0f059cce9ac9baa69ef5"
        }
      ],
      "purl": "pkg:npm/watcher@2.3.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/watcher/-/watcher-2.3.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/watcher@2.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/watcher/-/watcher-2.3.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "dettle",
      "version": "1.0.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "fe80f702deb465f860ce9a1f26dc8294d4eb2000b231d45efa28746221f302788dd086672dd2e9133811e91b46b37928c315244e7bd5ff8b75141c5731476eb1"
        }
      ],
      "purl": "pkg:npm/dettle@1.0.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/dettle/-/dettle-1.0.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/dettle@1.0.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/dettle/-/dettle-1.0.1.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "stubborn-fs",
      "version": "1.2.5",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "1f637d736e9e5e3ccbfd2fcafa2fd11c77056a713be1da6dbef8ccf22c33c1b55c598ff38c16e046a1772b40d8e3e383fae4d30124c1bc3a313c368f374d83ee"
        }
      ],
      "purl": "pkg:npm/stubborn-fs@1.2.5",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/stubborn-fs/-/stubborn-fs-1.2.5.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/stubborn-fs@1.2.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/stubborn-fs/-/stubborn-fs-1.2.5.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "zeptomatch",
      "version": "1.2.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "d044ddcc43b485d6264fc6971c77f968c8e95fe147144eb5b06e2a285028243d949addd359d0a61fb003c67da852259396a0460be486afcb1831fafedfb27ca5"
        }
      ],
      "purl": "pkg:npm/zeptomatch@1.2.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/zeptomatch/-/zeptomatch-1.2.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/zeptomatch@1.2.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/zeptomatch/-/zeptomatch-1.2.2.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "grammex",
      "version": "3.1.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "ad4668249420b8e09a00c4eea32c6ce343b1a922e0561cc20b00e7d666e9daf1135aeb6ffd39a0033ecac4c47c4f3e33e1cb72ff3221f3c1eb3962aa5a07868e"
        }
      ],
      "purl": "pkg:npm/grammex@3.1.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/grammex/-/grammex-3.1.3.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/grammex@3.1.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/grammex/-/grammex-3.1.3.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "tsex",
      "version": "3.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "9b9e7ed73f19b7c56c6332922e2bfda57504752cdd2f0dcf021caf81c51c0cbf2a33f505f31ca777c600a2b6456c7f531028bd641248d87cb13c38d3ade40537"
        }
      ],
      "purl": "pkg:npm/tsex@3.0.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tsex/-/tsex-3.0.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tsex@3.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/tsex/-/tsex-3.0.2.tgz"
        },
        {
          "name": "cdx:npm:binPaths",
          "value": "/app/node_modules/.bin/tsex"
        },
        {
          "name": "cdx:npm:bin",
          "value": "tsex"
        },
        {
          "name": "cdx:npm:has_binary",
          "value": "true"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "atomically",
      "version": "2.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "5df99be2ae5057bbaa4e555d3124ed3b9785e030877cd39d68fc8a95b152864cde34ffb7963df28e371b7634a6118e3ea4304a27d836e9a3fe2264def3c507a1"
        }
      ],
      "purl": "pkg:npm/atomically@2.0.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/atomically/-/atomically-2.0.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/atomically@2.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/atomically/-/atomically-2.0.2.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "typescript",
      "version": "5.3.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "a5759cadac4cd2ec404beb4dd001bf045d93caa9873b4d78674ef452c27ea45bd8b914aaf0a1fc0e65a99db5ded2910f0c75d957715c01b2648a3279a0d1275b"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/typescript@5.3.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://proxy.nexus.atm.svcs.io/repository/npmjs/typescript/-/typescript-5.3.3.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typescript@5.3.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://proxy.nexus.atm.svcs.io/repository/npmjs/typescript/-/typescript-5.3.3.tgz"
        },
        {
          "name": "cdx:npm:binPaths",
          "value": "/app/node_modules/.bin/tsc, /app/node_modules/.bin/tsserver"
        },
        {
          "name": "cdx:npm:bin",
          "value": "tsc, tsserver"
        },
        {
          "name": "cdx:npm:has_binary",
          "value": "true"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/tiny-colors@2.1.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/benchloop@2.1.1",
      "dependsOn": [
        "pkg:npm/tiny-colors@2.1.2"
      ]
    },
    {
      "ref": "pkg:npm/are-deeply-equal@1.1.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/call-chainer@3.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/promise-make-naked@2.1.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/promise-resolve-timeout@2.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ansi-purge@1.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/find-up-json@2.0.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/get-current-package@1.0.0",
      "dependsOn": [
        "pkg:npm/find-up-json@2.0.2"
      ]
    },
    {
      "ref": "pkg:npm/tiny-levenshtein@1.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/tiny-parse-argv@2.4.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ionstore@1.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/when-exit@2.1.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/tiny-updater@3.5.1",
      "dependsOn": [
        "pkg:npm/ionstore@1.0.0",
        "pkg:npm/tiny-colors@2.1.2",
        "pkg:npm/when-exit@2.1.2"
      ]
    },
    {
      "ref": "pkg:npm/tiny-bin@1.7.0",
      "dependsOn": [
        "pkg:npm/ansi-purge@1.0.0",
        "pkg:npm/get-current-package@1.0.0",
        "pkg:npm/tiny-colors@2.1.2",
        "pkg:npm/tiny-levenshtein@1.0.0",
        "pkg:npm/tiny-parse-argv@2.4.0",
        "pkg:npm/tiny-updater@3.5.1"
      ]
    },
    {
      "ref": "pkg:npm/specialist@1.4.0",
      "dependsOn": [
        "pkg:npm/tiny-bin@1.7.0",
        "pkg:npm/tiny-colors@2.1.2",
        "pkg:npm/tiny-parse-argv@2.4.0",
        "pkg:npm/tiny-updater@3.5.1"
      ]
    },
    {
      "ref": "pkg:npm/tiny-readdir@2.4.0",
      "dependsOn": [
        "pkg:npm/promise-make-naked@2.1.1"
      ]
    },
    {
      "ref": "pkg:npm/dettle@1.0.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/stubborn-fs@1.2.5",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/watcher@2.3.0",
      "dependsOn": [
        "pkg:npm/dettle@1.0.1",
        "pkg:npm/stubborn-fs@1.2.5",
        "pkg:npm/tiny-readdir@2.4.0"
      ]
    },
    {
      "ref": "pkg:npm/grammex@3.1.3",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/zeptomatch@1.2.2",
      "dependsOn": [
        "pkg:npm/grammex@3.1.3"
      ]
    },
    {
      "ref": "pkg:npm/fava@0.3.2",
      "dependsOn": [
        "pkg:npm/are-deeply-equal@1.1.1",
        "pkg:npm/call-chainer@3.0.0",
        "pkg:npm/promise-make-naked@2.1.1",
        "pkg:npm/promise-resolve-timeout@2.0.0",
        "pkg:npm/specialist@1.4.0",
        "pkg:npm/tiny-colors@2.1.2",
        "pkg:npm/tiny-readdir@2.4.0",
        "pkg:npm/watcher@2.3.0",
        "pkg:npm/zeptomatch@1.2.2"
      ]
    },
    {
      "ref": "pkg:npm/atomically@2.0.2",
      "dependsOn": [
        "pkg:npm/stubborn-fs@1.2.5",
        "pkg:npm/when-exit@2.1.2"
      ]
    },
    {
      "ref": "pkg:npm/tsex@3.0.2",
      "dependsOn": [
        "pkg:npm/atomically@2.0.2",
        "pkg:npm/dettle@1.0.1",
        "pkg:npm/specialist@1.4.0",
        "pkg:npm/tiny-readdir@2.4.0",
        "pkg:npm/watcher@2.3.0"
      ]
    },
    {
      "ref": "pkg:npm/typescript@5.3.3",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/fast-string-width@1.0.4",
      "dependsOn": [
        "pkg:npm/benchloop@2.1.1",
        "pkg:npm/fava@0.3.2",
        "pkg:npm/tsex@3.0.2",
        "pkg:npm/typescript@5.3.3"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/fast-string-width@1.0.4"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-09-22T10:57:43Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, September 22, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'fast-string-width' with version '1.0.4'."
    }
  ]
}