{"_id":"@apiposture/pro","_rev":"12-70e18f3c0f38bf1b9fa1da4d97abc0ba","name":"@apiposture/pro","dist-tags":{"latest":"1.8.8"},"versions":{"1.6.0":{"name":"@apiposture/pro","version":"1.6.0","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.6.0","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"fea244ba408607e7d22eb264ffad44a3a7942423","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.6.0.tgz","fileCount":197,"integrity":"sha512-t/aQFchLfz1g5mk5Qa8qBWYEDpIYbmwax49fs51pfy9kpiunErQHkNRM/ORwKHzVSk3IcyPUnDLze/zHHd8ZhQ==","signatures":[{"sig":"MEYCIQD90acremAD7LPGijTVKxu1D3bWrftI57OdEzh6aTWbpwIhANY6vNPkxhIGcQMU2qs86VhcnanYOWn1zdCGSTMiE2H6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449770},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"05ab8b91def84c70192441709edadb0481f93b1c","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.8.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"_npmOperationalInternal":{"tmp":"tmp/pro_1.6.0_1772100753242_0.3006743034817698","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@apiposture/pro","version":"1.6.1","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.6.1","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"f6dc4ff748031e061d9b1793b756a7c3c232cb4e","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.6.1.tgz","fileCount":199,"integrity":"sha512-LidxbqA3cedbvINzjFy7+IiEMpLGokjSg5ugcgYZ6QQJwn7gnORZTqgyerD4E0DEj41M8A4CSUWjFL9oNMDxZA==","signatures":[{"sig":"MEUCIATL9TTfSjqe6qo16IAydiCxXIwMT7JOQl62+c7S9Ul5AiEAxJxcg025yN1QI36mzOvbql7x6wKD5IOl3Z+ULbGYq3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450638},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9efc5099dd60db9345b1d45f09ab8cb7047712b1","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.8.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.6.1_1772104285294_0.11541427175489183","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@apiposture/pro","version":"1.6.2","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.6.2","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"618488ff3f90f3035aa53a9d44578aaf5ab6f32c","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.6.2.tgz","fileCount":199,"integrity":"sha512-BJkWOFAxrVCyU9B8IntGZuhpGnsCIBx0zR62CJPb0TczH/DGb3bnnrCov0LNOfB/XjCYHWpWBKttlD8F9sEQag==","signatures":[{"sig":"MEUCIE0n3ICcyhuQZ0+pGISXUDkrWIOQ6HHjFjJBjYZiwI53AiEAyIsSSOZyCWIL7wHF8Z0q4PNfrTFPzrX/5zY24wQ7+zI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450476},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4239d34009b0f63e8eabd24530157ed07832c636","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.8.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.6.2_1772106190178_0.5487011213485009","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@apiposture/pro","version":"1.7.0","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.7.0","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"7e49602a0fb276c160a9c9fc31eef767f9d6510f","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.7.0.tgz","fileCount":199,"integrity":"sha512-iI0fORBFOHC2UQukzEWoefM6uWVqg0ThTa9ZazDyVBf45GjTyxZ7/XBlIkwgLxZgH+2tKC1x5AKM2A1/+QDB2w==","signatures":[{"sig":"MEUCIQC7+Ck0BrOC53q5wP9OrF1v2feExP/+47ik/DqX2kszXwIgciGUbKpQ94fP0IPsVFtAxnsjbgELe72gRZXLEWuni0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453794},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2b6f921fd449702ae45f6a14109d2f227a4e0d34","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.8.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.7.0_1772637412014_0.4523040281362707","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@apiposture/pro","version":"1.8.0","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.0","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"b908ff1a300b9ba3e77da2a4a8d7e05472d08cd0","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.0.tgz","fileCount":203,"integrity":"sha512-RtzPEKDaE7FeesoQbxdbwyQqqYiKysezhiccFvpG2gcHrpLr/cAnw08Rbj2LoOTKUxVhQs517063Inr8a6hs/g==","signatures":[{"sig":"MEUCIEJaLnGuMYSTN6wK0y8BEssYXvP9zh93t1gsLAMxjY6XAiEAwnF+qQOf2p1bndAxnPC6woU+LEMQDFPDGZ9pfsMLK6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":460118},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"995b05f10d21a3d9838af19f1cfee429c899f0f4","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.8.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.13.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.0_1772638902310_0.9859100879609402","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"@apiposture/pro","version":"1.8.2","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.2","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"75c697e59bd8b0708212747212121a07f302da10","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.2.tgz","fileCount":203,"integrity":"sha512-GAZA/Ixz9IeN3Es7G00ecZHuEgqNmshQIcN/oE7WlgoJzG6Q7JJ3dSQ+k44430D++898YI/kKqzB//PDGiQXQA==","signatures":[{"sig":"MEUCICOuKqvWbxCBCCr22c5xa93A41inpGarHjAT4YRbxi4yAiEA74Nnu4tDbyMqUO9NKm5XAKamUp/mvfzzyccJ+pApBS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471907},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4d695c044c6589e25fe026f3d910e7dda7f336e0","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.2_1773053832758_0.5639562121961212","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"@apiposture/pro","version":"1.8.3","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.3","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"bc23d773c88ea0970fab319c13ffeda1d3974fd8","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.3.tgz","fileCount":203,"integrity":"sha512-4HxejttYd/d2E4gpU7yLXE8S7dvknaBzmMRRMgcId4g1L2hPwSCfE5MzCE2zSVPTlQk6C3Ps7JXQEiIrHAWHqw==","signatures":[{"sig":"MEUCIQDc+CPDzSg30V8DUsMT7AhRUVLOyfx9fYnQ6Dz5odUOHAIgVKAAb87aBVuN8H82v26wiZZSjL6P6nBAtHSyP0rElhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472315},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b299a59d0cdd305b37f422dbd922480af7bd93fe","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.3_1773126205544_0.20760063791033656","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"@apiposture/pro","version":"1.8.4","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.4","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"53f163a9d1dc59a8d216649119fea25c7a7f9826","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.4.tgz","fileCount":203,"integrity":"sha512-3JzrRA+DvUOgTij5GtnRKcITswl1YVfWLfgUHV4v1q9bJw/PfRTh2P/HC6o6MrdyPlBlPeDsYvrFmHt5nRwa4w==","signatures":[{"sig":"MEQCIAnIEgZvv7VQ6D583ouAGQXdliVLe4LqQyuVpZA/G1B1AiBYE/qog0p5dwMBtpPlGJL84rqe2TTlNEOa1gRiD+i3mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475226},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"18a27e2a418aca72fc395340a2bec99b8a5567c6","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.4_1774985782968_0.4169480849126519","host":"s3://npm-registry-packages-npm-production"}},"1.8.5":{"name":"@apiposture/pro","version":"1.8.5","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.5","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"62d53d45cf825b8e7d03cfa6e978d31bee329271","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.5.tgz","fileCount":247,"integrity":"sha512-szseulrhN/iFFlJI9eXS8GkHsQFKg+QBre6xP3HOt/g5Fxd/6+9Ay/smaYzt7jxuhIHAplC5jPReWC0S5fQgAg==","signatures":[{"sig":"MEQCIG56TwUCH0QbL+kJ7NmFqlW3Vcg9FDpkrDMj9CTv58yhAiBd+zsOr7AFOxUa/ct79CYO7nkwKBJUDeMu9mZJUzWxFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570013},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"05f6bdb82fb25342911ddecf6f3b56e04b9ecbd1","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","pdfkit":"^0.18.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","@types/pdfkit":"^0.17.5","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^6.18.0","@typescript-eslint/eslint-plugin":"^6.18.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.5_1775097267328_0.8213588752762988","host":"s3://npm-registry-packages-npm-production"}},"1.8.6":{"name":"@apiposture/pro","version":"1.8.6","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.6","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"8a9f8b1c4da3c72bd5e9a0fcfc7d40e943e99a40","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.6.tgz","fileCount":247,"integrity":"sha512-b6sS44ROwHytSXF4y7Yf9d0TWh6C8qPSgPl0zfiGQpsu7TF3xEg54TEzLngCv2MdbPyEKeqXa8YwodKBZRv/Aw==","signatures":[{"sig":"MEUCIQCFh6bfIq05oUiqKtJP7b1za3jqtE+MBD1Hq2NSTumUiAIgP5w0sxgODdf0Nz3tKo5CYG969+sqg4QqhzWlFUfW1xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563924},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"09e725708b51b2ce547a10d498823d204abe3b49","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.0.1","glob":"^10.5.0","axios":"^1.6.0","chalk":"^5.3.0","pdfkit":"^0.18.0","commander":"^12.0.0","tunnel-agent":"file:./stubs/tunnel-agent-0.6.0.tgz","@types/pdfkit":"^0.17.5","better-sqlite3":"^11.0.0","@apiposture/cli":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","eslint":"^8.56.0","vitest":"^3.2.4","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^8.58.1","@typescript-eslint/eslint-plugin":"^8.58.1"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.6_1775650016067_0.300710185894534","host":"s3://npm-registry-packages-npm-production"}},"1.8.7":{"name":"@apiposture/pro","version":"1.8.7","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"@apiposture/pro@1.8.7","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"bin":{"apiposture-pro":"dist/index.js"},"dist":{"shasum":"c6069a279a8e2c7b9db9684013f1e9d5a7bfd02a","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.7.tgz","fileCount":247,"integrity":"sha512-xkNMBu+HNVu3C4Acpo/nLAfMOGvHOcMegwIj+3oCqW/j+RwPRWIH88sNDmUCcWGn4TbGjOuh0cVnU0JZ+pDHnA==","signatures":[{"sig":"MEUCIQDgdOXkbia94F1hh0qIFT5AioXvcT2WmH+BaC3V6mYCyQIgfsVh3O6Cfjgk3DSLQ1leL0i/u63GaUJQGr51Rf4TAzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563925},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"41b532f5fee0f2d415d688db9f1f273545db1724","scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"repository":{"url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","glob":"^10.5.0","axios":"^1.15.2","chalk":"^5.6.2","pdfkit":"^0.18.0","commander":"^12.1.0","tunnel-agent":"file:stubs/tunnel-agent-0.6.0.tgz","@types/pdfkit":"^0.17.6","better-sqlite3":"^11.10.0","@apiposture/cli":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^8.57.1","vitest":"^4.1.5","typescript":"^5.9.3","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.13","@typescript-eslint/parser":"^8.59.0","@typescript-eslint/eslint-plugin":"^8.59.0"},"bundleDependencies":["tunnel-agent"],"_npmOperationalInternal":{"tmp":"tmp/pro_1.8.7_1776972356619_0.4708398995194001","host":"s3://npm-registry-packages-npm-production"}},"1.8.8":{"name":"@apiposture/pro","version":"1.8.8","description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","main":"dist/index.js","bin":{"apiposture-pro":"dist/index.js"},"type":"module","scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","lint":"eslint src --ext .ts","prepublishOnly":"npm run build"},"keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"author":"","license":"SEE LICENSE IN LICENSE","repository":{"type":"git","url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git"},"bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","engines":{"node":">=20.0.0"},"dependencies":{"@apiposture/cli":"^1.2.2","@types/pdfkit":"^0.17.6","axios":"^1.15.2","better-sqlite3":"^11.10.0","chalk":"^5.6.2","commander":"^12.1.0","glob":"^10.5.0","ora":"^8.2.0","pdfkit":"^0.18.0","tunnel-agent":"file:stubs/tunnel-agent-0.6.0.tgz"},"devDependencies":{"@types/better-sqlite3":"^7.6.13","@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^8.59.0","@typescript-eslint/parser":"^8.59.0","eslint":"^8.57.1","tsx":"^4.21.0","typescript":"^5.9.3","vitest":"^4.1.5"},"bundleDependencies":["tunnel-agent"],"gitHead":"7b4b90310dcefdaa0c3b88f2ea321bfc3f0733e3","types":"./dist/index.d.ts","_id":"@apiposture/pro@1.8.8","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-NRjpTiZGQVgPV0NEpPIVAe+7OP2PMCMVBbhBc6Hc3anDUjRJxyA+A0y0RKoVOd38NWPTXFh3lcaHUdV34z3B0w==","shasum":"31db6571abf93b9052abdec58b091d85c954beb6","tarball":"https://registry.npmjs.org/@apiposture/pro/-/pro-1.8.8.tgz","fileCount":247,"unpackedSize":564688,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFpMxUJVAzcwRtsYCB9LCJ8ODQJEQNC1xgt1VtTPNRbHAiBCPQsO0eljeKQwa/FVA/kaQ+L3BhC2byylZ2N5xy1Jjg=="}]},"_npmUser":{"name":"blago.culjak","email":"blago.culjak@hotmail.com"},"directories":{},"maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pro_1.8.8_1778228516967_0.5092385456813209"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T10:12:33.110Z","modified":"2026-05-08T08:21:57.283Z","1.6.0":"2026-02-26T10:12:33.408Z","1.6.1":"2026-02-26T11:11:25.437Z","1.6.2":"2026-02-26T11:43:10.360Z","1.7.0":"2026-03-04T15:16:52.204Z","1.8.0":"2026-03-04T15:41:42.478Z","1.8.2":"2026-03-09T10:57:12.930Z","1.8.3":"2026-03-10T07:03:25.701Z","1.8.4":"2026-03-31T19:36:23.104Z","1.8.5":"2026-04-02T02:34:27.498Z","1.8.6":"2026-04-08T12:06:56.259Z","1.8.7":"2026-04-23T19:25:56.752Z","1.8.8":"2026-05-08T08:21:57.149Z"},"bugs":{"url":"https://github.com/ApiPosture/ApiPosturePro.Node.js/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/ApiPosture/ApiPosturePro.Node.js#readme","keywords":["security","api","owasp","secrets","risk-scoring","express","nestjs","fastify","koa","cli","static-analysis"],"repository":{"type":"git","url":"git+https://github.com/ApiPosture/ApiPosturePro.Node.js.git"},"description":"Advanced security analysis CLI for Node.js APIs — OWASP rules, secrets detection, risk scoring, diff mode, and historical tracking","maintainers":[{"name":"blago.culjak","email":"blago.culjak@hotmail.com"}],"readme":"# ApiPosture Pro for Node.js\n\n**Professional security extension for Node.js API security scanning**\n\nExtends the open-source [ApiPosture CLI for Node.js](https://github.com/BlagoCuljak/ApiPosture.Node.js) with advanced security rules, secrets detection, diff mode, historical tracking, and risk scoring.\n\n🔒 **100% Local Analysis** - Your code never leaves your machine. All scanning is performed locally on your computer or CI/CD runner.\n\n## Features\n\n### Free Rules (AP001-AP008)\nIncluded automatically — public endpoint detection, missing auth, authorization conflicts, sensitive route keywords, and more.\n\n### Pro Rules — OWASP Top 10 (AP101-AP108)\n\n| ID | Name | Severity | What it detects |\n|----|------|----------|-----------------|\n| AP101 | Broken Access Control | Critical | Missing auth middleware, IDOR, database writes without auth, GET→destructive ops |\n| AP102 | Cryptographic Failures | High | Weak hashing (MD5/SHA1), hardcoded crypto keys, sensitive data logging |\n| AP103 | Injection Vulnerabilities | Critical | Raw SQL with string interpolation, `eval()`, insecure deserialization, `child_process.exec` with user input |\n| AP104 | Insecure Design | High | Missing CSRF protection, missing input validation, missing rate limiting |\n| AP105 | Security Misconfiguration | Medium | Permissive CORS (`origin: *`), missing Helmet, exposed stack traces, debug mode in prod |\n| AP106 | Vulnerable Components | Medium | Legacy API patterns, deprecated frameworks, Node.js below 18 |\n| AP107 | Authentication Failures | High | Missing audit logging on DELETE, plaintext password comparison |\n| AP108 | SSRF Vulnerabilities | High | `axios`/`fetch`/`http.get` with user input, URL construction from variables |\n\n### Pro Rules — Secrets & File-Level\n\n| ID | Name | Severity |\n|----|------|----------|\n| AP201 | Secrets in Code (30+ patterns: AWS, Azure, GCP, GitHub, Stripe, JWT, DB strings) | Critical |\n| AP301–AP3xx | File-level: app.js/server.js misconfig, template XSS (`<%- %>`, `{{{ }}}`), `eval()`, insecure deserialization | Mixed |\n\n### Additional Pro Features\n- **Risk Scoring** — severity 40%, exposure 25%, sensitivity 25%, density 10%\n- **Diff Mode** — compare baseline vs current scan\n- **History Tracking** — SQLite-backed scan history with trends\n- **Method Body Analysis** — inspects route handlers and middleware\n\n## Supported Frameworks\n\nExpress.js, NestJS, Fastify, Koa\n\n## Installation\n\n```bash\n# Install Pro CLI\nnpm install -g @apiposture/pro\n\n# Activate your license\napiposture-pro license activate XXXX-XXXX-XXXX-XXXX\n\n# Verify activation\napiposture-pro license status\n```\n\n### CI/CD: set license via environment variable\n\n```bash\n# The JWT token is stored in ~/.apiposture/license.json after activation.\n# Use this JWT token (not the raw license key) as your CI secret:\nexport APIPOSTURE_LICENSE_KEY=<jwt-token-from-license.json>\n```\n\n> **Note:** `APIPOSTURE_LICENSE_KEY` must contain the JWT token — not the raw `XXXX-XXXX-XXXX-XXXX` key. If set to a raw key the tool will warn and fall back to free-tier rules.\n\n## Usage\n\n### Scan\n\n```bash\napiposture-pro scan /path/to/your/api\napiposture-pro scan . --output json --output-file report.json\napiposture-pro scan . --fail-on high\napiposture-pro scan . --severity medium\n```\n\n### Diff Mode\n\n```bash\napiposture-pro scan . --output json --output-file baseline.json\n# ... make changes ...\napiposture-pro scan . --output json --output-file current.json\napiposture-pro diff baseline.json current.json\n```\n\n### History\n\n```bash\napiposture-pro history list\napiposture-pro history trend --path /path/to/api\napiposture-pro history show <scan-id>\n```\n\n### License\n\n```bash\napiposture-pro license status\napiposture-pro license deactivate\n```\n\n## Enterprise\n\nEnterprise features require an Enterprise license.\n\n### Compliance Reports\n\nGenerate SOC 2 / ISO 27001 compliance reports mapped to your scan findings:\n\n```bash\napiposture-pro compliance report . --framework soc2 --output both\napiposture-pro compliance report . --framework iso27001 --output pdf --operator \"Acme Corp\"\napiposture-pro compliance report . --framework all --output both\n```\n\n### Compliance Score in Scan\n\n```bash\napiposture-pro scan . --comp-framework soc2\napiposture-pro scan . --comp-framework iso27001\n```\n\n### Starter Kits\n\n```bash\napiposture-pro compliance starter-kit soc2 ./compliance/\napiposture-pro compliance starter-kit iso27001 ./compliance/\n```\n\nGenerates: `.apiposture-policy.json`, `sample-report.html`, `github-actions/apiposture-pr-gate.yml`, `github-actions/apiposture-weekly-report.yml`, `README.md`.\n\n### Policy Enforcement\n\nPlace `.apiposture-policy.json` in your project root — the scanner reads it automatically:\n\n```json\n{\n  \"zero_tolerance\": [\"AP201\", \"AP101\"],\n  \"warn\": [\"AP103\", \"AP104\"]\n}\n```\n\n### Operator Attribution\n\n```bash\napiposture-pro scan . --operator \"Security Team\"\n```\n\n### Audit Trail Export\n\n```bash\napiposture-pro history export --format json\napiposture-pro history export --format pdf --output-file audit-export.pdf\napiposture-pro history export --scan-id 42 --format pdf --output-file audit-42.pdf\n```\n\n### Integrity Verification\n\n```bash\napiposture-pro verify\napiposture-pro verify --scan-id 42\n```\n\n## CI/CD Integration\n\n### GitHub Actions\n\n```yaml\nname: Security Scan\non: [push, pull_request]\njobs:\n  security:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: '20'\n      - run: npm install -g @apiposture/pro\n      - run: apiposture-pro scan . --output json --output-file results.json --fail-on high\n        env:\n          APIPOSTURE_LICENSE_KEY: ${{ secrets.APIPOSTURE_LICENSE_KEY }}\n      - uses: actions/upload-artifact@v4\n        with:\n          name: security-scan-results\n          path: results.json\n```\n\n### Azure DevOps\n\n```yaml\nsteps:\n  - task: NodeTool@0\n    inputs:\n      versionSpec: '20.x'\n  - script: npm install -g @apiposture/pro\n  - script: apiposture-pro scan . --output json --output-file $(Build.ArtifactStagingDirectory)/results.json\n    env:\n      APIPOSTURE_LICENSE_KEY: $(ApiPostureLicenseKey)\n```\n\n### GitLab CI\n\n```yaml\nsecurity_scan:\n  image: node:20\n  script:\n    - npm install -g @apiposture/pro\n    - apiposture-pro scan . --output json --output-file results.json\n  variables:\n    APIPOSTURE_LICENSE_KEY: $APIPOSTURE_LICENSE_KEY\n  artifacts:\n    paths:\n      - results.json\n```\n\n## Privacy\n\nAll analysis is performed **100% locally**. No code, findings, or project data is uploaded to external servers. Only the license key is sent to `api.apiposture.com` during activation/validation. SQLite history is stored at `~/.apiposture/history.db`.\n\n## License Tiers\n\n| Feature | Pro | Enterprise |\n|---------|-----|------------|\n| Free rules (AP001-AP008) | ✓ | ✓ |\n| OWASP rules (AP101-AP108) | ✓ | ✓ |\n| Secrets detection (AP201) | ✓ | ✓ |\n| File-level scanning (AP3xx) | ✓ | ✓ |\n| Diff mode | ✓ | ✓ |\n| Historical tracking | ✓ | ✓ |\n| Risk scoring | ✓ | ✓ |\n| Compliance reports (SOC 2 / ISO 27001) | — | ✓ |\n| Compliance score + trend | — | ✓ |\n| Starter kits | — | ✓ |\n| Policy enforcement | — | ✓ |\n| Audit trail export | — | ✓ |\n| Operator attribution | — | ✓ |\n| Integrity verification | — | ✓ |\n\n## Development Setup\n\nThis project depends on the free [@apiposture/cli](https://github.com/BlagoCuljak/ApiPosture.Node.js) package via a local `file:` reference. Clone and build it first as a sibling directory:\n\n```bash\ngit clone https://github.com/BlagoCuljak/ApiPosture.Node.js.git\ncd ApiPosture.Node.js && npm install && npm run build && cd ..\n\ngit clone https://github.com/ApiPosture/ApiPosturePro.Node.js.git\ncd ApiPosturePro.Node.js && npm install\nnpm run lint && npm run build && npm test\n```\n\n## Links\n\n- **Free ApiPosture CLI for Node.js:** [GitHub](https://github.com/BlagoCuljak/ApiPosture.Node.js) | [npm](https://www.npmjs.com/package/@apiposture/cli)\n- **ApiPosture Pro for Node.js:** [npm](https://www.npmjs.com/package/@apiposture/pro)\n- **Documentation:** https://docs.apiposture.com\n- **Support:** support@apiposture.com\n\n## Changelog\n\n### 1.1.0\n- Enterprise tier: compliance reports (SOC 2 / ISO 27001), compliance score, starter kits, policy enforcement, audit trail export, operator attribution, integrity verification\n\n### 1.0.0 (2025-02-24)\n- Initial release: OWASP Top 10 rules (AP101-AP108), file-level scanning, secrets detection (AP201), diff mode, history tracking, risk scoring\n\n---\n\nCopyright © 2025 ApiPosture. All rights reserved. | [License Terms](LICENSE)\n","readmeFilename":"README.md"}