{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.beyondszine/camerasdiscovery","documentNamespace":"https://spdx.org/spdxdocs/protobom/0d1d99c2-cbcc-4bac-b7e2-5bf4174e53e5","creationInfo":{"creators":["Tool: protobom-v0.0.0-20250731140552-613e75aeb253+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2025-08-02T12:48:19Z"},"packages":[{"name":"cookie-parser","SPDXID":"SPDXRef-npm-cookie-parser-1.4.3-901cd4","versionInfo":"~1.4.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/cookie-parser@~1.4.3"}]},{"name":"fluent-ffmpeg","SPDXID":"SPDXRef-npm-fluent-ffmpeg-2.1.2-afb924","versionInfo":"^2.1.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/fluent-ffmpeg@%5E2.1.2"}]},{"name":"cross-env","SPDXID":"SPDXRef-npm-cross-env-7.0.3-d8d0c5","versionInfo":"^7.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/cross-env@%5E7.0.3"}]},{"name":"node-onvif","SPDXID":"SPDXRef-npm-node-onvif-0.1.7-92df98","versionInfo":"^0.1.7","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/node-onvif@%5E0.1.7"}]},{"name":"husky","SPDXID":"SPDXRef-npm-husky-1.3.1-023b83","versionInfo":"^1.3.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/husky@%5E1.3.1"}]},{"name":"websocket","SPDXID":"SPDXRef-npm-websocket-1.0.28-9f2b6c","versionInfo":"^1.0.28","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/websocket@%5E1.0.28"}]},{"name":"cors","SPDXID":"SPDXRef-npm-cors-2.8.5-d98e73","versionInfo":"^2.8.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/cors@%5E2.8.5"}]},{"name":"get-port","SPDXID":"SPDXRef-npm-get-port-4.1.0-b31171","versionInfo":"^4.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/get-port@%5E4.1.0"}]},{"name":"ws","SPDXID":"SPDXRef-npm-ws-6.2.2-78d866","versionInfo":"^6.2.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/ws@%5E6.2.2"}]},{"name":"xml2js","SPDXID":"SPDXRef-npm-xml2js-0.4.17-6f25ad","versionInfo":"\u003e=0.4.17","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/xml2js@%3E%3D0.4.17"}]},{"name":"compression","SPDXID":"SPDXRef-npm-compression-1.7.3-80bff5","versionInfo":"^1.7.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/compression@%5E1.7.3"}]},{"name":"morgan","SPDXID":"SPDXRef-npm-morgan-1.9.0-f987d1","versionInfo":"~1.9.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/morgan@~1.9.0"}]},{"name":"uuid","SPDXID":"SPDXRef-npm-uuid-3.3.2-a61d50","versionInfo":"^3.3.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/uuid@%5E3.3.2"}]},{"name":"http","SPDXID":"SPDXRef-npm-http-0.0.0-d3d5a5","versionInfo":"0.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"BSD-2-Clause","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/http@0.0.0"}]},{"name":"dotenv","SPDXID":"SPDXRef-npm-dotenv-6.1.0-82f355","versionInfo":"^6.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/dotenv@%5E6.1.0"}]},{"name":"debug","SPDXID":"SPDXRef-npm-debug-2.6.9-9259e9","versionInfo":"^2.6.9","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/debug@%5E2.6.9"}]},{"name":"express","SPDXID":"SPDXRef-npm-express-4.16.0-f10bc2","versionInfo":"~4.16.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/express@~4.16.0"}]},{"name":"is-port-reachable","SPDXID":"SPDXRef-npm-is-port-reachable-3.0.0-efc62c","versionInfo":"^3.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/is-port-reachable@%5E3.0.0"}]},{"name":"nat-upnp-2","SPDXID":"SPDXRef-npm-nat-upnp-2-3.0.3-93a7a6","versionInfo":"^3.0.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nat-upnp-2@%5E3.0.3"}]},{"name":"config","SPDXID":"SPDXRef-npm-config-3.0.1-a39221","versionInfo":"^3.0.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/config@%5E3.0.1"}]},{"name":"find-free-port","SPDXID":"SPDXRef-npm-find-free-port-2.0.0-f566b6","versionInfo":"^2.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/find-free-port@%5E2.0.0"}]},{"name":"html","SPDXID":"SPDXRef-npm-html-1.0.0-370c6e","versionInfo":"\u003e=1.0.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/html@%3E%3D1.0.0"}]},{"name":"node-fetch","SPDXID":"SPDXRef-npm-node-fetch-2.6.1-f3ef3e","versionInfo":"^2.6.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/node-fetch@%5E2.6.1"}]},{"name":"nodemon","SPDXID":"SPDXRef-npm-nodemon-2.0.4-1ce943","versionInfo":"^2.0.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/nodemon@%5E2.0.4"}]},{"name":"helmet","SPDXID":"SPDXRef-npm-helmet-4.1.1-efa809","versionInfo":"^4.1.1","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/helmet@%5E4.1.1"}]},{"name":"snyk","SPDXID":"SPDXRef-npm-snyk-1.717.0-d2d1fc","versionInfo":"^1.717.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/snyk@%5E1.717.0"}]},{"name":"@godaddy/terminus","SPDXID":"SPDXRef-npm-godaddy-terminus-4.1.0-be8f45","versionInfo":"^4.1.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/%40godaddy/terminus@%5E4.1.0"}]},{"name":"body-parser","SPDXID":"SPDXRef-npm-body-parser-1.18.3-7cc9a7","versionInfo":"^1.18.3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:npm/body-parser@%5E1.18.3"}]},{"name":"com.github.beyondszine/camerasdiscovery","SPDXID":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","versionInfo":"master","downloadLocation":"git+https://github.com/beyondszine/camerasdiscovery","filesAnalyzed":false,"licenseDeclared":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/beyondszine/camerasdiscovery@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-cookie-parser-1.4.3-901cd4","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-fluent-ffmpeg-2.1.2-afb924","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-cross-env-7.0.3-d8d0c5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-node-onvif-0.1.7-92df98","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-husky-1.3.1-023b83","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-websocket-1.0.28-9f2b6c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-cors-2.8.5-d98e73","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-get-port-4.1.0-b31171","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-ws-6.2.2-78d866","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-xml2js-0.4.17-6f25ad","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-compression-1.7.3-80bff5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-morgan-1.9.0-f987d1","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-uuid-3.3.2-a61d50","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-http-0.0.0-d3d5a5","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-dotenv-6.1.0-82f355","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-debug-2.6.9-9259e9","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-express-4.16.0-f10bc2","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-is-port-reachable-3.0.0-efc62c","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-nat-upnp-2-3.0.3-93a7a6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-config-3.0.1-a39221","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-find-free-port-2.0.0-f566b6","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-html-1.0.0-370c6e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-node-fetch-2.6.1-f3ef3e","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-nodemon-2.0.4-1ce943","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-helmet-4.1.1-efa809","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-snyk-1.717.0-d2d1fc","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-godaddy-terminus-4.1.0-be8f45","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relatedSpdxElement":"SPDXRef-npm-body-parser-1.18.3-7cc9a7","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-beyondszine-camerasdiscovery-master-2e68b9","relationshipType":"DESCRIBES"}]}