{"_id":"@ameva/sentinel","_rev":"4-dc620118bc93de95c112deec6d288352","name":"@ameva/sentinel","dist-tags":{"alpha":"0.7.0-alpha.2","latest":"2.3.0"},"versions":{"0.5.0-alpha.1":{"name":"@ameva/sentinel","version":"0.5.0-alpha.1","keywords":["security","observability","shadow-mode","bot-defense","fraud-detection"],"license":"Apache-2.0","_id":"@ameva/sentinel@0.5.0-alpha.1","maintainers":[{"name":"uno-km","email":"zhfldk014745@naver.com"}],"dist":{"shasum":"adbbb8dc7416e49fc4fc1a11a1ecb4617b5f390a","tarball":"https://registry.npmjs.org/@ameva/sentinel/-/sentinel-0.5.0-alpha.1.tgz","fileCount":5,"integrity":"sha512-X+TxaFw6oL0LpAo7K6pWSsPPPwoArV3o7kBSe206T6qdb4AAXH5+pI/X6IZ9WB6TEkQCpyzN0IZk/DiozHlI7Q==","signatures":[{"sig":"MEUCIQCB52VcHdcJ8Kb+mHrDNMXhQJenuWZTTnHSQ+JL6/NY0wIga6UuS/dlka9Vz6RlCRV+sOmKZTUmM/EQ4wk41c5KIT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8521},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"24514f1e28bae4373959e5974356d6ee8e2e2f2e","scripts":{"build":"tsup src/index.ts --format esm --clean && tsc --module nodenext --moduleResolution nodenext --target es2022 --lib es2022,dom --emitDeclarationOnly --declaration --outDir dist src/index.ts"},"_npmUser":{"name":"uno-km","email":"zhfldk014745@naver.com"},"_npmVersion":"11.13.0","description":"Privacy-first Security Observability Layer for Web Applications","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@ameva/sentinel-risk-core":"^0.5.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sentinel_0.5.0-alpha.1_1787278281725_0.6783581123324107","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-alpha.2":{"name":"@ameva/sentinel","version":"0.7.0-alpha.2","keywords":["security","observability","shadow-mode","bot-defense","fraud-detection"],"license":"Apache-2.0","_id":"@ameva/sentinel@0.7.0-alpha.2","maintainers":[{"name":"uno-km","email":"zhfldk014745@naver.com"}],"dist":{"shasum":"1bb37f424445fced65844ab5cd56a4d53ba1b212","tarball":"https://registry.npmjs.org/@ameva/sentinel/-/sentinel-0.7.0-alpha.2.tgz","fileCount":5,"integrity":"sha512-XHxS3HWggfjaqGpiNGqFwvlnXatbP7nr00NC93/RJ+n0ahfQxYxy+bWAmvMaR0PFkmYRaYVbF0OMOz266tNpnA==","signatures":[{"sig":"MEUCIQCFVPj3KukzBV7UNl9IhX3OlY1aQrt7ZDwhqo0qXOQcqQIgZSxl7lnon4KjbNTRmMiAT29HVYQ+lC1kgLUNw5YoOn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26751},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d51b7e28669b58147d9127ed65dfd8434f9bef22","scripts":{"build":"tsup src/index.ts --format esm --clean && tsc --module nodenext --moduleResolution nodenext --target es2022 --lib es2022,dom --emitDeclarationOnly --declaration --outDir dist src/index.ts"},"_npmUser":{"name":"uno-km","email":"zhfldk014745@naver.com"},"_npmVersion":"11.13.0","description":"Privacy-first Security Observability Layer for Web Applications","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@ameva/sentinel-risk-core":"^0.7.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/sentinel_0.7.0-alpha.2_1787547008076_0.7605643464369667","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@ameva/sentinel","version":"2.2.0","keywords":["security","observability","shadow-mode","bot-defense","fraud-detection","dashboard"],"license":"Apache-2.0","_id":"@ameva/sentinel@2.2.0","maintainers":[{"name":"uno-km","email":"zhfldk014745@naver.com"}],"dist":{"shasum":"e3a585e5d5b8501364d243652334c6511c9adeb7","tarball":"https://registry.npmjs.org/@ameva/sentinel/-/sentinel-2.2.0.tgz","fileCount":13,"integrity":"sha512-CQbBFP6BUYC7bqeN+L+dwRpJioFpp9o6Jz52MsRMqKFPKN+845m9zX+1PdGNphRWYaKAblspVbEgNce18RK5pg==","signatures":[{"sig":"MEUCIQDD/muv+71oUZMyC5trNdhO/IXLI8XBhlZPHO8DUkbMrgIgf6+9exqL6eAYkfFxXlTMeEwB8qlNgra4wXg9P+CXev8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46677},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./next":{"types":"./dist/adapters/next.d.ts","import":"./dist/adapters/next.js"},"./express":{"types":"./dist/adapters/express.d.ts","import":"./dist/adapters/express.js"},"./fastify":{"types":"./dist/adapters/fastify.d.ts","import":"./dist/adapters/fastify.js"},"./dashboard":{"types":"./dist/adapters/dashboard.d.ts","import":"./dist/adapters/dashboard.js"}},"gitHead":"943230259d7f07d63eb0667042c0bd3e60bd7e32","scripts":{"build":"tsup src/index.ts src/adapters/express.ts src/adapters/fastify.ts src/adapters/next.ts src/adapters/dashboard.ts --format esm --clean && tsc --module nodenext --moduleResolution nodenext --target es2022 --lib es2022,dom --emitDeclarationOnly --declaration --outDir dist src/index.ts src/adapters/express.ts src/adapters/fastify.ts src/adapters/next.ts src/adapters/dashboard.ts"},"_npmUser":{"name":"uno-km","email":"zhfldk014745@naver.com"},"_npmVersion":"11.13.0","description":"Privacy-first Security Observability Layer for Web Applications","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@ameva/sentinel-risk-core":"^2.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sentinel_2.2.0_1787763172303_0.21361859933223082","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@ameva/sentinel","version":"2.3.0","description":"Privacy-first Security Observability Layer for Web Applications","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./express":{"types":"./dist/adapters/express.d.ts","import":"./dist/adapters/express.js"},"./fastify":{"types":"./dist/adapters/fastify.d.ts","import":"./dist/adapters/fastify.js"},"./next":{"types":"./dist/adapters/next.d.ts","import":"./dist/adapters/next.js"},"./enforcement":{"types":"./dist/adapters/enforcement.d.ts","import":"./dist/adapters/enforcement.js"},"./dashboard":{"types":"./dist/adapters/dashboard.d.ts","import":"./dist/adapters/dashboard.js"}},"scripts":{"build":"tsup src/index.ts src/adapters/express.ts src/adapters/fastify.ts src/adapters/next.ts src/adapters/enforcement.ts src/adapters/dashboard.ts --format esm --clean && tsc --module nodenext --moduleResolution nodenext --target es2022 --lib es2022,dom --emitDeclarationOnly --declaration --outDir dist src/index.ts src/adapters/express.ts src/adapters/fastify.ts src/adapters/next.ts src/adapters/enforcement.ts src/adapters/dashboard.ts"},"dependencies":{"@ameva/sentinel-risk-core":"^2.3.0"},"keywords":["security","observability","shadow-mode","bot-defense","fraud-detection","dashboard"],"license":"Apache-2.0","gitHead":"e1e2fdf2be2ae1651dd80a1df7ea2910bb9dee6e","_id":"@ameva/sentinel@2.3.0","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-P9yHlEPIXoEXTv+fMzkW3OCVOtDw3G3EwWhVtZ015W/8R4PsfWOk/Zwr/kiGzQTOmpZmAVXMSkeGSkTxxz5iPg==","shasum":"8b1b5dba81e36f2bbc0843f6caa413c1248cdd65","tarball":"https://registry.npmjs.org/@ameva/sentinel/-/sentinel-2.3.0.tgz","fileCount":19,"unpackedSize":68101,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGpulkWHp2ntLiu1+uNSEiORY+6ASduysug6rR/+wlveAiEAnCw3tnNVCLYDsjvsb1f3c/cSxURb0x8PdcfYRpnGzmY="}]},"_npmUser":{"name":"uno-km","email":"zhfldk014745@naver.com"},"directories":{},"maintainers":[{"name":"uno-km","email":"zhfldk014745@naver.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sentinel_2.3.0_1788326396571_0.37928136850304006"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T02:11:21.527Z","modified":"2026-09-02T05:19:56.860Z","0.5.0-alpha.1":"2026-08-21T02:11:21.900Z","0.7.0-alpha.2":"2026-08-24T04:50:08.227Z","2.2.0":"2026-08-26T16:52:52.435Z","2.3.0":"2026-09-02T05:19:56.701Z"},"license":"Apache-2.0","keywords":["security","observability","shadow-mode","bot-defense","fraud-detection","dashboard"],"description":"Privacy-first Security Observability Layer for Web Applications","maintainers":[{"name":"uno-km","email":"zhfldk014745@naver.com"}],"readme":"# @ameva/sentinel\r\n\r\n1-Line Facade Security Observability SDK for Web Applications.\r\n\r\n## Quickstart\r\n```javascript\r\nimport { createSentinel, MemoryFixedWindowCounterStore, LocalStorageRiskEventStore } from '@ameva/sentinel';\r\n\r\nconst sentinel = createSentinel({\r\n  mode: 'shadow',\r\n  counterStore: new MemoryFixedWindowCounterStore(),\r\n  eventStore: new LocalStorageRiskEventStore()\r\n});\r\n\r\nconst report = await sentinel.score({ signals });\r\n```\r\n\r\n## License\r\nApache-2.0 © 2026 AMEVA Open Source Ecosystem.\r\n","readmeFilename":"README.md"}