{
  "spdxVersion": "SPDX-2.3",
  "dataLicense": "CC0-1.0",
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "pentest-navigator-0.9.0-beta.1",
  "documentNamespace": "https://pentest-navigator.com/spdx/0.9.0-beta.1",
  "creationInfo": {
    "created": "2026-09-10T00:00:00Z",
    "creators": ["Tool: scripts/generate-product-sbom.mjs"]
  },
  "documentDescribes": ["SPDXRef-Pentest-Navigator"],
  "packages": [
    {
      "name": "Pentest Navigator",
      "SPDXID": "SPDXRef-Pentest-Navigator",
      "versionInfo": "0.9.0-beta.1",
      "downloadLocation": "NOASSERTION",
      "filesAnalyzed": false,
      "licenseConcluded": "LicenseRef-Pentest-Navigator-Proprietary",
      "licenseDeclared": "LicenseRef-Pentest-Navigator-Proprietary",
      "copyrightText": "Copyright (c) 2026 Pentest Navigator. All rights reserved.",
      "supplier": "Organization: Pentest Navigator (info@pentest-navigator.com)"
    },
    {
      "name": "cytoscape",
      "SPDXID": "SPDXRef-JavaScript-runtime-cytoscape",
      "versionInfo": "3.34.1",
      "downloadLocation": "https://www.npmjs.com/package/cytoscape/v/3.34.1",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:npm/cytoscape@3.34.1"
        }
      ]
    },
    {
      "name": "dompurify",
      "SPDXID": "SPDXRef-JavaScript-runtime-dompurify",
      "versionInfo": "3.4.14",
      "downloadLocation": "https://www.npmjs.com/package/dompurify/v/3.4.14",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "(MPL-2.0 OR Apache-2.0)",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:npm/dompurify@3.4.14"
        }
      ]
    },
    {
      "name": "marked",
      "SPDXID": "SPDXRef-JavaScript-runtime-marked",
      "versionInfo": "18.0.11",
      "downloadLocation": "https://www.npmjs.com/package/marked/v/18.0.11",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:npm/marked@18.0.11"
        }
      ]
    },
    {
      "name": "mermaid",
      "SPDXID": "SPDXRef-JavaScript-runtime-mermaid",
      "versionInfo": "11.17.2",
      "downloadLocation": "https://www.npmjs.com/package/mermaid/v/11.17.2",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:npm/mermaid@11.17.2"
        }
      ]
    },
    {
      "name": "alembic",
      "SPDXID": "SPDXRef-Python-runtime-alembic",
      "versionInfo": "1.19.1",
      "downloadLocation": "https://pypi.org/project/alembic/1.19.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/alembic@1.19.1"
        }
      ]
    },
    {
      "name": "annotated-doc",
      "SPDXID": "SPDXRef-Python-runtime-annotated-doc",
      "versionInfo": "0.0.5",
      "downloadLocation": "https://pypi.org/project/annotated-doc/0.0.5/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/annotated-doc@0.0.5"
        }
      ]
    },
    {
      "name": "annotated-types",
      "SPDXID": "SPDXRef-Python-runtime-annotated-types",
      "versionInfo": "0.8.0",
      "downloadLocation": "https://pypi.org/project/annotated-types/0.8.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/annotated-types@0.8.0"
        }
      ]
    },
    {
      "name": "anyio",
      "SPDXID": "SPDXRef-Python-runtime-anyio",
      "versionInfo": "4.14.2",
      "downloadLocation": "https://pypi.org/project/anyio/4.14.2/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/anyio@4.14.2"
        }
      ]
    },
    {
      "name": "authlib",
      "SPDXID": "SPDXRef-Python-runtime-authlib",
      "versionInfo": "1.7.2",
      "downloadLocation": "https://pypi.org/project/authlib/1.7.2/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/authlib@1.7.2"
        }
      ]
    },
    {
      "name": "certifi",
      "SPDXID": "SPDXRef-Python-runtime-certifi",
      "versionInfo": "2026.7.22",
      "downloadLocation": "https://pypi.org/project/certifi/2026.7.22/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MPL-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/certifi@2026.7.22"
        }
      ]
    },
    {
      "name": "cffi",
      "SPDXID": "SPDXRef-Python-runtime-cffi",
      "versionInfo": "2.1.1",
      "downloadLocation": "https://pypi.org/project/cffi/2.1.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT-0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/cffi@2.1.1"
        }
      ]
    },
    {
      "name": "charset-normalizer",
      "SPDXID": "SPDXRef-Python-runtime-charset-normalizer",
      "versionInfo": "3.5.1",
      "downloadLocation": "https://pypi.org/project/charset-normalizer/3.5.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/charset-normalizer@3.5.1"
        }
      ]
    },
    {
      "name": "click",
      "SPDXID": "SPDXRef-Python-runtime-click",
      "versionInfo": "8.4.2",
      "downloadLocation": "https://pypi.org/project/click/8.4.2/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/click@8.4.2"
        }
      ]
    },
    {
      "name": "cryptography",
      "SPDXID": "SPDXRef-Python-runtime-cryptography",
      "versionInfo": "50.0.0",
      "downloadLocation": "https://pypi.org/project/cryptography/50.0.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0 OR BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/cryptography@50.0.0"
        }
      ]
    },
    {
      "name": "defusedxml",
      "SPDXID": "SPDXRef-Python-runtime-defusedxml",
      "versionInfo": "0.7.1",
      "downloadLocation": "https://pypi.org/project/defusedxml/0.7.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "PSF-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/defusedxml@0.7.1"
        }
      ]
    },
    {
      "name": "dnspython",
      "SPDXID": "SPDXRef-Python-runtime-dnspython",
      "versionInfo": "2.8.0",
      "downloadLocation": "https://pypi.org/project/dnspython/2.8.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "ISC",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/dnspython@2.8.0"
        }
      ]
    },
    {
      "name": "email-validator",
      "SPDXID": "SPDXRef-Python-runtime-email-validator",
      "versionInfo": "2.3.0",
      "downloadLocation": "https://pypi.org/project/email-validator/2.3.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Unlicense",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/email-validator@2.3.0"
        }
      ]
    },
    {
      "name": "fastapi",
      "SPDXID": "SPDXRef-Python-runtime-fastapi",
      "versionInfo": "0.141.1",
      "downloadLocation": "https://pypi.org/project/fastapi/0.141.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/fastapi@0.141.1"
        }
      ]
    },
    {
      "name": "greenlet",
      "SPDXID": "SPDXRef-Python-runtime-greenlet",
      "versionInfo": "3.5.5",
      "downloadLocation": "https://pypi.org/project/greenlet/3.5.5/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT AND PSF-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/greenlet@3.5.5"
        }
      ]
    },
    {
      "name": "h11",
      "SPDXID": "SPDXRef-Python-runtime-h11",
      "versionInfo": "0.16.0",
      "downloadLocation": "https://pypi.org/project/h11/0.16.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/h11@0.16.0"
        }
      ]
    },
    {
      "name": "httpcore",
      "SPDXID": "SPDXRef-Python-runtime-httpcore",
      "versionInfo": "1.0.9",
      "downloadLocation": "https://pypi.org/project/httpcore/1.0.9/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/httpcore@1.0.9"
        }
      ]
    },
    {
      "name": "httptools",
      "SPDXID": "SPDXRef-Python-runtime-httptools",
      "versionInfo": "0.8.0",
      "downloadLocation": "https://pypi.org/project/httptools/0.8.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/httptools@0.8.0"
        }
      ]
    },
    {
      "name": "httpx",
      "SPDXID": "SPDXRef-Python-runtime-httpx",
      "versionInfo": "0.28.1",
      "downloadLocation": "https://pypi.org/project/httpx/0.28.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/httpx@0.28.1"
        }
      ]
    },
    {
      "name": "idna",
      "SPDXID": "SPDXRef-Python-runtime-idna",
      "versionInfo": "3.18",
      "downloadLocation": "https://pypi.org/project/idna/3.18/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/idna@3.18"
        }
      ]
    },
    {
      "name": "isodate",
      "SPDXID": "SPDXRef-Python-runtime-isodate",
      "versionInfo": "0.7.2",
      "downloadLocation": "https://pypi.org/project/isodate/0.7.2/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/isodate@0.7.2"
        }
      ]
    },
    {
      "name": "itsdangerous",
      "SPDXID": "SPDXRef-Python-runtime-itsdangerous",
      "versionInfo": "2.2.0",
      "downloadLocation": "https://pypi.org/project/itsdangerous/2.2.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/itsdangerous@2.2.0"
        }
      ]
    },
    {
      "name": "joserfc",
      "SPDXID": "SPDXRef-Python-runtime-joserfc",
      "versionInfo": "1.7.4",
      "downloadLocation": "https://pypi.org/project/joserfc/1.7.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/joserfc@1.7.4"
        }
      ]
    },
    {
      "name": "ldap3",
      "SPDXID": "SPDXRef-Python-runtime-ldap3",
      "versionInfo": "2.9.1",
      "downloadLocation": "https://pypi.org/project/ldap3/2.9.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "LGPL-3.0-only",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/ldap3@2.9.1"
        }
      ]
    },
    {
      "name": "lxml",
      "SPDXID": "SPDXRef-Python-runtime-lxml",
      "versionInfo": "6.1.1",
      "downloadLocation": "https://pypi.org/project/lxml/6.1.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/lxml@6.1.1"
        }
      ]
    },
    {
      "name": "mako",
      "SPDXID": "SPDXRef-Python-runtime-mako",
      "versionInfo": "1.4.1",
      "downloadLocation": "https://pypi.org/project/mako/1.4.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/mako@1.4.1"
        }
      ]
    },
    {
      "name": "markupsafe",
      "SPDXID": "SPDXRef-Python-runtime-markupsafe",
      "versionInfo": "3.0.3",
      "downloadLocation": "https://pypi.org/project/markupsafe/3.0.3/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/markupsafe@3.0.3"
        }
      ]
    },
    {
      "name": "pillow",
      "SPDXID": "SPDXRef-Python-runtime-pillow",
      "versionInfo": "12.3.0",
      "downloadLocation": "https://pypi.org/project/pillow/12.3.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT-CMU",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pillow@12.3.0"
        }
      ]
    },
    {
      "name": "prometheus-client",
      "SPDXID": "SPDXRef-Python-runtime-prometheus-client",
      "versionInfo": "0.26.0",
      "downloadLocation": "https://pypi.org/project/prometheus-client/0.26.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0 AND BSD-2-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/prometheus-client@0.26.0"
        }
      ]
    },
    {
      "name": "psycopg",
      "SPDXID": "SPDXRef-Python-runtime-psycopg",
      "versionInfo": "3.3.4",
      "downloadLocation": "https://pypi.org/project/psycopg/3.3.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "LGPL-3.0-only",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/psycopg@3.3.4"
        }
      ]
    },
    {
      "name": "psycopg-binary",
      "SPDXID": "SPDXRef-Python-runtime-psycopg-binary",
      "versionInfo": "3.3.4",
      "downloadLocation": "https://pypi.org/project/psycopg-binary/3.3.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "LGPL-3.0-only",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/psycopg-binary@3.3.4"
        }
      ]
    },
    {
      "name": "pyasn1",
      "SPDXID": "SPDXRef-Python-runtime-pyasn1",
      "versionInfo": "0.6.4",
      "downloadLocation": "https://pypi.org/project/pyasn1/0.6.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-2-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pyasn1@0.6.4"
        }
      ]
    },
    {
      "name": "pycparser",
      "SPDXID": "SPDXRef-Python-runtime-pycparser",
      "versionInfo": "3.0",
      "downloadLocation": "https://pypi.org/project/pycparser/3.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pycparser@3.0"
        }
      ]
    },
    {
      "name": "pydantic",
      "SPDXID": "SPDXRef-Python-runtime-pydantic",
      "versionInfo": "2.13.4",
      "downloadLocation": "https://pypi.org/project/pydantic/2.13.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pydantic@2.13.4"
        }
      ]
    },
    {
      "name": "pydantic-core",
      "SPDXID": "SPDXRef-Python-runtime-pydantic-core",
      "versionInfo": "2.46.4",
      "downloadLocation": "https://pypi.org/project/pydantic-core/2.46.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pydantic-core@2.46.4"
        }
      ]
    },
    {
      "name": "pydantic-settings",
      "SPDXID": "SPDXRef-Python-runtime-pydantic-settings",
      "versionInfo": "2.15.0",
      "downloadLocation": "https://pypi.org/project/pydantic-settings/2.15.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pydantic-settings@2.15.0"
        }
      ]
    },
    {
      "name": "python-dotenv",
      "SPDXID": "SPDXRef-Python-runtime-python-dotenv",
      "versionInfo": "1.2.3",
      "downloadLocation": "https://pypi.org/project/python-dotenv/1.2.3/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/python-dotenv@1.2.3"
        }
      ]
    },
    {
      "name": "python-multipart",
      "SPDXID": "SPDXRef-Python-runtime-python-multipart",
      "versionInfo": "0.0.32",
      "downloadLocation": "https://pypi.org/project/python-multipart/0.0.32/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/python-multipart@0.0.32"
        }
      ]
    },
    {
      "name": "python3-saml",
      "SPDXID": "SPDXRef-Python-runtime-python3-saml",
      "versionInfo": "1.16.0",
      "downloadLocation": "https://pypi.org/project/python3-saml/1.16.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/python3-saml@1.16.0"
        }
      ]
    },
    {
      "name": "pyyaml",
      "SPDXID": "SPDXRef-Python-runtime-pyyaml",
      "versionInfo": "6.0.3",
      "downloadLocation": "https://pypi.org/project/pyyaml/6.0.3/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/pyyaml@6.0.3"
        }
      ]
    },
    {
      "name": "reportlab",
      "SPDXID": "SPDXRef-Python-runtime-reportlab",
      "versionInfo": "4.5.1",
      "downloadLocation": "https://pypi.org/project/reportlab/4.5.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "LicenseRef-ReportLab-BSD",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/reportlab@4.5.1"
        }
      ]
    },
    {
      "name": "sqlalchemy",
      "SPDXID": "SPDXRef-Python-runtime-sqlalchemy",
      "versionInfo": "2.0.52",
      "downloadLocation": "https://pypi.org/project/sqlalchemy/2.0.52/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/sqlalchemy@2.0.52"
        }
      ]
    },
    {
      "name": "starlette",
      "SPDXID": "SPDXRef-Python-runtime-starlette",
      "versionInfo": "1.6.0",
      "downloadLocation": "https://pypi.org/project/starlette/1.6.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/starlette@1.6.0"
        }
      ]
    },
    {
      "name": "typing-extensions",
      "SPDXID": "SPDXRef-Python-runtime-typing-extensions",
      "versionInfo": "4.16.0",
      "downloadLocation": "https://pypi.org/project/typing-extensions/4.16.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "PSF-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/typing-extensions@4.16.0"
        }
      ]
    },
    {
      "name": "typing-inspection",
      "SPDXID": "SPDXRef-Python-runtime-typing-inspection",
      "versionInfo": "0.4.4",
      "downloadLocation": "https://pypi.org/project/typing-inspection/0.4.4/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/typing-inspection@0.4.4"
        }
      ]
    },
    {
      "name": "uvicorn",
      "SPDXID": "SPDXRef-Python-runtime-uvicorn",
      "versionInfo": "0.52.3",
      "downloadLocation": "https://pypi.org/project/uvicorn/0.52.3/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/uvicorn@0.52.3"
        }
      ]
    },
    {
      "name": "uvloop",
      "SPDXID": "SPDXRef-Python-runtime-uvloop",
      "versionInfo": "0.22.1",
      "downloadLocation": "https://pypi.org/project/uvloop/0.22.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0 OR MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/uvloop@0.22.1"
        }
      ]
    },
    {
      "name": "watchfiles",
      "SPDXID": "SPDXRef-Python-runtime-watchfiles",
      "versionInfo": "1.2.0",
      "downloadLocation": "https://pypi.org/project/watchfiles/1.2.0/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/watchfiles@1.2.0"
        }
      ]
    },
    {
      "name": "websockets",
      "SPDXID": "SPDXRef-Python-runtime-websockets",
      "versionInfo": "17.0.1",
      "downloadLocation": "https://pypi.org/project/websockets/17.0.1/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "BSD-3-Clause",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/websockets@17.0.1"
        }
      ]
    },
    {
      "name": "xmlsec",
      "SPDXID": "SPDXRef-Python-runtime-xmlsec",
      "versionInfo": "1.3.17",
      "downloadLocation": "https://pypi.org/project/xmlsec/1.3.17/",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "MIT",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:pypi/xmlsec@1.3.17"
        }
      ]
    },
    {
      "name": "python",
      "SPDXID": "SPDXRef-Container-base-image-python",
      "versionInfo": "3.13.14-slim-trixie",
      "downloadLocation": "https://hub.docker.com/_/python",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "PSF-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:docker/python@3.13.14-slim-trixie"
        }
      ]
    },
    {
      "name": "caddy",
      "SPDXID": "SPDXRef-Container-base-image-caddy",
      "versionInfo": "2.11.4-alpine",
      "downloadLocation": "https://hub.docker.com/_/caddy",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:docker/caddy@2.11.4-alpine"
        }
      ]
    },
    {
      "name": "postgres",
      "SPDXID": "SPDXRef-Production-service-image-postgres",
      "versionInfo": "17.10-alpine3.23",
      "downloadLocation": "https://hub.docker.com/_/postgres",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "PostgreSQL",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:docker/postgres@17.10-alpine3.23"
        }
      ]
    },
    {
      "name": "prometheus",
      "SPDXID": "SPDXRef-Optional-monitoring-image-prometheus",
      "versionInfo": "3.12.0",
      "downloadLocation": "https://hub.docker.com/r/prom/prometheus",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:docker/prom/prometheus@v3.12.0"
        }
      ]
    },
    {
      "name": "alertmanager",
      "SPDXID": "SPDXRef-Optional-monitoring-image-alertmanager",
      "versionInfo": "0.33.1",
      "downloadLocation": "https://hub.docker.com/r/prom/alertmanager",
      "filesAnalyzed": false,
      "licenseConcluded": "NOASSERTION",
      "licenseDeclared": "Apache-2.0",
      "copyrightText": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE-MANAGER",
          "referenceType": "purl",
          "referenceLocator": "pkg:docker/prom/alertmanager@v0.33.1"
        }
      ]
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-JavaScript-runtime-cytoscape"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-JavaScript-runtime-dompurify"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-JavaScript-runtime-marked"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-JavaScript-runtime-mermaid"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-alembic"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-annotated-doc"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-annotated-types"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-anyio"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-authlib"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-certifi"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-cffi"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-charset-normalizer"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-click"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-cryptography"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-defusedxml"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-dnspython"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-email-validator"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-fastapi"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-greenlet"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-h11"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-httpcore"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-httptools"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-httpx"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-idna"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-isodate"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-itsdangerous"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-joserfc"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-ldap3"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-lxml"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-mako"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-markupsafe"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pillow"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-prometheus-client"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-psycopg"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-psycopg-binary"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pyasn1"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pycparser"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pydantic"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pydantic-core"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pydantic-settings"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-python-dotenv"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-python-multipart"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-python3-saml"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-pyyaml"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-reportlab"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-sqlalchemy"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-starlette"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-typing-extensions"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-typing-inspection"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-uvicorn"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-uvloop"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-watchfiles"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-websockets"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Python-runtime-xmlsec"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Container-base-image-python"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Container-base-image-caddy"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Production-service-image-postgres"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Optional-monitoring-image-prometheus"
    },
    {
      "spdxElementId": "SPDXRef-Pentest-Navigator",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-Optional-monitoring-image-alertmanager"
    }
  ],
  "hasExtractedLicensingInfos": [
    {
      "licenseId": "LicenseRef-Pentest-Navigator-Proprietary",
      "name": "Pentest Navigator Proprietary License",
      "extractedText": "Pentest Navigator Proprietary License\n\nDeclaration reviewed: 10 September 2026\n\nCopyright (c) 2026 Pentest Navigator. All rights reserved.\n\nThe authorship and rights-holder record is maintained in `AUTHORS.md`.\n\n1. Proprietary material\n\nPentest Navigator's original source code, documentation, user interface and\nproduct assets are proprietary material of the copyright holder unless a file\nor directory expressly states otherwise.\n\n2. No general license grant\n\nPossession of, access to or publication of this repository does not grant a\nlicense to use, copy, modify, create derivative works from, distribute,\nsublicense, sell or provide Pentest Navigator to third parties. Such acts are\npermitted only to the extent authorized by a separate written agreement with\nthe copyright holder, by explicit written permission, or by mandatory law.\n\n3. Third-party material\n\nThird-party software and other third-party material are not relicensed by this\ndocument. They remain governed by their respective licenses and notices. The\napplicable component register and notices are provided in\ndocs/THIRD_PARTY_NOTICES.md, docs/sbom.spdx.json and any license files shipped\nwith those components.\n\n4. Notices and trademarks\n\nCopyright, attribution and license notices must not be removed or obscured.\nThis license grants no right to use the Pentest Navigator name, logos or other\nmarks except as required to identify an authorized copy.\n\n5. Disclaimer\n\nTO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED \"AS IS\",\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. THE COPYRIGHT HOLDER SHALL NOT BE\nLIABLE FOR ANY CLAIM, DAMAGE OR OTHER LIABILITY ARISING FROM UNAUTHORIZED USE OF\nTHE SOFTWARE. RIGHTS AND LIABILITY UNDER A SEPARATE WRITTEN AGREEMENT ARE\nGOVERNED BY THAT AGREEMENT.\n\nFor licensing inquiries, contact info@pentest-navigator.com.",
      "seeAlsos": ["https://pentest-navigator.com/"]
    },
    {
      "licenseId": "LicenseRef-ReportLab-BSD",
      "extractedText": "See the complete license distributed in the reportlab package metadata and the upstream source distribution.",
      "seeAlsos": ["https://pypi.org/project/reportlab/4.5.1/"]
    }
  ]
}
