{"_id":"@empowered-humanity/detectionlab-collector","name":"@empowered-humanity/detectionlab-collector","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@empowered-humanity/detectionlab-collector","version":"1.0.0","description":"Invisible bot detection — 22 behavioral signals, zero user friction. Drop-in JS collector for Detection Lab API.","main":"dist/detectionlab.min.js","module":"dist/detectionlab.esm.js","types":"dist/detectionlab.d.ts","scripts":{"build":"node build.js","prepublishOnly":"npm run build"},"keywords":["bot-detection","captcha-alternative","behavioral-analytics","security","fraud-detection","anti-bot"],"author":{"name":"Empowered Humanity, Inc","email":"travis@empoweredhumanity.ai"},"license":"MIT","homepage":"https://detectionlab.app","repository":{"type":"git","url":"git+https://github.com/empowered-humanity/detectionlab-collector.git"},"gitHead":"d1e34f6b65307f1747fbeeca1146ae116f8a3087","_id":"@empowered-humanity/detectionlab-collector@1.0.0","bugs":{"url":"https://github.com/empowered-humanity/detectionlab-collector/issues"},"_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-rJT+sFiWeFx9HMZ/Rn2uzdT4SSvzP3GJgLrBMh9KKgipDPKC1ZWNiWHJ2af761wYfNddlCxIaONQ+xUauwHrNA==","shasum":"03bb9123189687f6195afe9237c244b60bf0841f","tarball":"https://registry.npmjs.org/@empowered-humanity/detectionlab-collector/-/detectionlab-collector-1.0.0.tgz","fileCount":5,"unpackedSize":40283,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIChEPCBt6J5svrPgXyZ0v5JynNKLr0Ks8vxmJpzhyCLuAiBoZebhL7w41AkpUrsWkP5HZ4wAMydIu8Vu+fc0cMlvOw=="}]},"_npmUser":{"name":"travis_eric","email":"tbergsgaard@gmail.com"},"directories":{},"maintainers":[{"name":"travis_eric","email":"tbergsgaard@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/detectionlab-collector_1.0.0_1771092044273_0.23660438283796048"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-14T18:00:44.178Z","1.0.0":"2026-02-14T18:00:44.447Z","modified":"2026-02-14T18:00:44.734Z"},"maintainers":[{"name":"travis_eric","email":"tbergsgaard@gmail.com"}],"description":"Invisible bot detection — 22 behavioral signals, zero user friction. Drop-in JS collector for Detection Lab API.","homepage":"https://detectionlab.app","keywords":["bot-detection","captcha-alternative","behavioral-analytics","security","fraud-detection","anti-bot"],"repository":{"type":"git","url":"git+https://github.com/empowered-humanity/detectionlab-collector.git"},"author":{"name":"Empowered Humanity, Inc","email":"travis@empoweredhumanity.ai"},"bugs":{"url":"https://github.com/empowered-humanity/detectionlab-collector/issues"},"license":"MIT","readme":"# @empowered-humanity/detectionlab-collector\r\n\r\nInvisible bot detection — 22 behavioral signals, zero user friction. No CAPTCHAs.\r\n\r\n## Quick Start\r\n\r\n### Script tag (CDN)\r\n\r\n```html\r\n<script src=\"https://unpkg.com/@empowered-humanity/detectionlab-collector\"></script>\r\n<script>\r\n  DetectionLab.init({ apiKey: \"detlab_your_key\" });\r\n\r\n  // Score when ready (e.g., on form submit)\r\n  document.querySelector(\"form\").addEventListener(\"submit\", async (e) => {\r\n    e.preventDefault();\r\n    const result = await DetectionLab.score();\r\n    if (result.verdict === \"FAIL\") return alert(\"Bot detected\");\r\n    e.target.submit();\r\n  });\r\n</script>\r\n```\r\n\r\n### npm\r\n\r\n```bash\r\nnpm install @empowered-humanity/detectionlab-collector\r\n```\r\n\r\n```javascript\r\nimport DetectionLab from \"@empowered-humanity/detectionlab-collector\";\r\n\r\nDetectionLab.init({ apiKey: \"detlab_your_key\" });\r\n\r\n// After user interaction...\r\nconst result = await DetectionLab.score();\r\nconsole.log(result.verdict);       // \"PASS\" | \"MARGINAL\" | \"FAIL\"\r\nconsole.log(result.overall_score); // 0-100\r\nconsole.log(result.intent);       // { primary: \"human\", confidence: 1.0, ... }\r\n```\r\n\r\n## API\r\n\r\n### `DetectionLab.init(options)`\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| `apiKey` | `string` | — | Your API key (`detlab_...`). Get one free at [detectionlab.app](https://detectionlab.app) |\r\n| `endpoint` | `string` | `https://www.detectionlab.app/api/score` | Custom endpoint for self-hosted |\r\n| `debug` | `boolean` | `false` | Log collection events to console |\r\n\r\n### `DetectionLab.score()` → `Promise<ScoreResult>`\r\n\r\nPosts all collected events to the API and returns the full score report.\r\n\r\n### `DetectionLab.eventCount()` → `number`\r\n\r\nReturns the number of events collected so far.\r\n\r\n### `DetectionLab.reset()`\r\n\r\nClears all collected events. Use after scoring or on SPA route changes.\r\n\r\n## 22 Signals Scored\r\n\r\nMouse curvature, speed variability, click precision, hover-before-click, keystroke timing, scroll behavior, dwell time, action pacing, overshoot, fingerprint, scroll jump, timing fit, direction changes, path uniqueness, velocity asymmetry, CSS fingerprint, stealth artifacts, event trust, spatial efficiency, vocabulary richness, typing burst, content naturalness.\r\n\r\n## Get an API Key\r\n\r\n1. Go to [detectionlab.app](https://detectionlab.app)\r\n2. Sign up for a free Sandbox key (100 evaluations/month)\r\n3. Upgrade to Pro ($29/mo, 10K evals) or Scale ($99/mo, 100K evals)\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-db56563d092ca597973b7584bfe9a6b4"}