{"_id":"@dottedice/usb-token-policy-guard","_rev":"7-faed962bbacb164b6a95796fdc70e28a","name":"@dottedice/usb-token-policy-guard","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.0","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.0","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"4e6c15a08ccc7b52c482f740e5a91473fc14368c","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.0.tgz","fileCount":3,"integrity":"sha512-arGq/S+RkSHDhKbg0bEF4LyriAxkZyqrU7537CYUXLSnoxN17g48E9Eu3cd2b2mbaOBynGh22u+OGBh2l4Oi5A==","signatures":[{"sig":"MEUCICgR4coGhBTaNZl4l1N1oaW+jyClpQ5YOiVmwregb1hHAiEA3ga/XVW53AgkRqSHZxeplo4zFx5eH7GSf1G+RhqMIKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4217},"main":"index.js","type":"module","gitHead":"4b689c2fc0b93920a14ed6ad718bf0b3fe1a8b67","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.0_1785999053561_0.26744492689706134","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.1","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.1","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"2d646563dc6e9a253670329d00213e6d1dd4ed31","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.1.tgz","fileCount":3,"integrity":"sha512-VGGF9t96Ss5G4shS82tPX2x+RsbT/jkUSOFquEHX1SQWyWXxNgiS5Kfm/EaiGtdZf2rcsy9YAo1EqCdPY3L9LQ==","signatures":[{"sig":"MEUCIDxIr9kXTIRS0QRIBfyYRDArK7NGcUPAZqPR6bYvM3xcAiEA1S62r5H/FUXwkXoUBblrN0J2659xDzfq9XSq/XvQfEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9795},"main":"index.js","type":"module","gitHead":"39c658f30e9a13eaa0278eb6b3585ce701eafee6","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.1_1786198740348_0.8511120245964783","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.2","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.2","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"d25a38d9418e369a1aad4c4c64f830d69a2c7cf4","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.2.tgz","fileCount":3,"integrity":"sha512-pnTDIMGbFyAqd5kg/QdJtkiemkRBTd9B6prua6qFmA9rILWKXMvT7ob3HL28v3/l+n4MnsCy7Gc6788vtjr9/w==","signatures":[{"sig":"MEUCIELKaR5hwCSD/e/PKv1Zw8uWYtXbF7ZjotbzNM+jIavzAiEA+SYMfjfUsMbIbn7O1fVv1sA/eQwTN9rdM0joZY9i370=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9857},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.2_1786885912498_0.3264171615810607","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.3","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.3","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"05d371f32a88a466405179f387d246a85101402b","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.3.tgz","fileCount":3,"integrity":"sha512-+JkhnPAIuqcxWRSJ+fAYaupFWvx43ZXU/e58yeSclCweGBc9SQvsIUm6cX8Ck/kVwwIFN5hv88YZgd1YcRSoeA==","signatures":[{"sig":"MEUCIQCHLTue7tb4scBI+KBBkLe9WmnGik25Znq5q+38Rlla1QIgXZJPWd5gBVqegV3RorKtuE2xu474tiboBM6naCHxMyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9857},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"24.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.3_1786971122505_0.22431410803751328","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.4","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.4","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/legal.html#tab=opensource","dist":{"shasum":"a6415c5e4979dd950d2ca83475d42fef1979bd24","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.4.tgz","fileCount":3,"integrity":"sha512-whQOFwPwM9bk05EEHh7LvxPgGHTRbK3Ui1cvm1ez1f+MfWdfrFCNxdmSJdu2hL8OgBKwJ6UwdYAKxJBmKxg/xA==","signatures":[{"sig":"MEQCIAby4tBAG6TR2QcCP4OPRfqW8FJa6aTaW13frAtewBobAiAxhyCZYJkLr96BqGMYzeZKM17P1N7JLyMnwtPA34LMGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5254},"main":"index.js","type":"module","gitHead":"ce102bc6358dfcce38e3625b8efc56246f033747","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"24.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.4_1786973286340_0.9855973404873941","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.5","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/usb-token-policy-guard@1.0.5","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/legal.html#tab=opensource","dist":{"shasum":"7db05d5f40de7a395f77c5d0c6fde103cf2c0f03","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.5.tgz","fileCount":3,"integrity":"sha512-xmOs8H/WFSbeOJNxZUfiL9LYG2LV/OQShi0hIRS+Hk29H5usu1PP4g7MM8tTvpQkhU6Y3fSB6Y8gGznXipFh+Q==","signatures":[{"sig":"MEUCIQC1UtzNNKAzriYAx/yT91TUH6uYtxr00YtLpKbapFSFXAIgT4ukpS5U7uQmvza54iU0f4HQuLR+q6uZBUdPD7M9hhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5282},"main":"index.js","type":"module","gitHead":"d542482878d3a7ad5de31c2cddfa6fd2fdab6aa8","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/usb-token-policy-guard_1.0.5_1787232431248_0.5323609569282102","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@dottedice/usb-token-policy-guard","version":"1.0.6","description":"CCID security policy enforcer and APDU inspector for secure USB token communications","main":"index.js","type":"module","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","publishConfig":{"access":"public"},"_id":"@dottedice/usb-token-policy-guard@1.0.6","gitHead":"3d162b3ab290497b392b95c2df1b86ed3f9bec84","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Mm9HpCP3Sw5ks5TFSBI3R68yiuZ4cFGNAOV0pRRvMcorMObmHNlTtE58mZz4AB7qXB4B5hzmmrZsVeLOoXnpnA==","shasum":"68278728863506130bc2c2f4a0479b63bd8b633b","tarball":"https://registry.npmjs.org/@dottedice/usb-token-policy-guard/-/usb-token-policy-guard-1.0.6.tgz","fileCount":3,"unpackedSize":5282,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDw/xRm9XlXBuIlpYKbeAj9QVM6O0C7MF/UOQrDD9MOdgIgfEpIPMBBHd0nuAULkHWUkhukTKdXapMKEN84HVgpwWA="}]},"_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"directories":{},"maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/usb-token-policy-guard_1.0.6_1787674437504_0.03195927590985681"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T06:50:53.335Z","modified":"2026-08-25T16:13:57.794Z","1.0.0":"2026-08-06T06:50:53.691Z","1.0.1":"2026-08-08T14:19:00.492Z","1.0.2":"2026-08-16T13:11:52.649Z","1.0.3":"2026-08-17T12:52:02.646Z","1.0.4":"2026-08-17T13:28:06.490Z","1.0.5":"2026-08-20T13:27:11.409Z","1.0.6":"2026-08-25T16:13:57.639Z"},"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","keywords":["usb-token","ccid","apdu-filter","webusb-security","smartcard"],"description":"CCID security policy enforcer and APDU inspector for secure USB token communications","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"readme":"## Legal Terms & Disclaimer\nThis open-source package is distributed strictly for technical education and architectural research purposes. For full warranty disclaimers, export control notices (US EAR / EU Dual-Use), and limitation of liability terms, please review our [Open Source Terms & Disclaimer](https://dottedice.com/legal.html#tab=opensource).\n\n---\n\n# @dottedice/usb-token-policy-guard\n\nProgrammatic APDU (Application Protocol Data Unit) firewall and security enforcer for browser-based WebUSB CCID token communications. Protects USB smartcards against PIN verification bypasses and proprietary vendor backdoors.\n\n## Installation\n\n```bash\nnpm install @dottedice/usb-token-policy-guard\n```\n\n## Features\n* **APDU Firewalls**: Filters out non-standard ISO/IEC 7816-4 commands to block proprietary debugging routines.\n* **PIN Length Guards**: Intercepts `VERIFY_PIN` frames to prevent buffer overflow attacks.\n* **Wrapper Utilities**: Easily wraps low-level transport functions to enforce policy checks transparently.\n\n## API Reference\n\n### `inspectAPDU(apduBytes)`\nInspects the header of the APDU packet and throws an error if it violates safety policies.\n* `apduBytes` (`Uint8Array`): APDU byte array.\n\n### `wrapSecureTransfer(transferFunc)`\nWraps raw transfer functions to run `inspectAPDU` checks automatically before writing data to hardware.\n","readmeFilename":"README.md"}