{"_id":"unshared-frontend-sdk","_rev":"56-97f0d970b2dff04498c30f950b6bb879","name":"unshared-frontend-sdk","dist-tags":{"latest":"3.0.0","next":"3.0.0-rc.15"},"versions":{"2.0.0-rc.2":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.2","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.2","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"7b55eae2f6655c0a9c1ecc001c8cff3d950880d2","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.2.tgz","fileCount":6,"integrity":"sha512-JCftlkMF/CX+p5CDQpnN4mjawZHOeTSLbQZG9fFrchKLxxj5wdKuu1tO0zpZKXLYi45OAVkldWoCAeoGXYAIrQ==","signatures":[{"sig":"MEYCIQCBUf9aiie4o45N2z+clBekORjBufYI71eNvFqYOk3IRQIhAJpvlyZPXFy/6Iae7CNMja7U3WlquXr1RVN1RdjxyNEf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92710},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"5db58dcfbd2ac51fe928ca41ae0b510de0ff10b1","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.2_1774225577765_0.3743434436475426","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.3":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.3","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.3","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"7a0bbd3f55c96c4507bbac2f5106f37829e5c5d5","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.3.tgz","fileCount":7,"integrity":"sha512-9/SwolM6kkehbINLoUhPTZqKBIRx8RQneQygl6AjkCamygskKAPn78wiwJP+IM6AqK0zVK1Wohc2zWmxA4jOkQ==","signatures":[{"sig":"MEYCIQD7n89sY8Zvt/TOwE5IsKayQx8D8Ag+W+QX6Ap0RdhINgIhAIZ7w2jiNYlBTBvfDcNPBY9NVzih2Ro9drmwONOcx2FV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96851},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"d2098fdca51a45f40067107af77cca252c0324af","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.3_1774228420112_0.8340436680742103","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.4":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.4","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.4","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"3ac2f03c940c6958e89c130bf8a6d5a3c23ce2fa","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.4.tgz","fileCount":7,"integrity":"sha512-skE4OdAQADq5nAVOBfZOKk3k+VS8mkfJROHZxdaw9G1ElF5BkCd2+Ru+fvw2dt8+xfpDGJVEtNF15mMVKmdcuw==","signatures":[{"sig":"MEUCIQDx8nB5JWRYkAYQUTDEkZvkujua9L8rL2p5b8z2r3POYQIgNp1dW5IlqFZmQX7L/VxHiCzAoMybJIvLUOHhZnAQxwI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97237},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"a25e94dc359f51a50ce93de752db72937f6a97cc","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.4_1774230719087_0.19273650650223617","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.5":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.5","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.5","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"48a6c9c040690318b51d004d317128e410ef87a0","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.5.tgz","fileCount":7,"integrity":"sha512-VByYrkuT+msmxgwS3w0pV5RAEs7A7twJGlj42Md6ACBjX+jOScrwEAtic63Qu/UD2HMkBpynhTttza2FiNIT3g==","signatures":[{"sig":"MEUCIQDL0ZUs0VaEJNSPZ0/PkARxrdUlltfcwenknW5KeyjBvQIgdGgvQ6IpZudVfBLwfIG0qYnsTac1WbJHPI5ykKtOTx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97237},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"0f5b387db5c48c6d4d0f919351fcbc49162f6394","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.5_1774681499034_0.8741568070620727","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.6":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.6","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.6","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"301c0cef42e57ab9cb713fbbea8174f1041a6c6d","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.6.tgz","fileCount":7,"integrity":"sha512-NXDZqiKNI6koL9nr5qygWahXRWoiHy3prLJenFIRb9MKpXD45ivOs7h6swvDRa0lqsQyca0+nGljt5CtRPB3IA==","signatures":[{"sig":"MEUCIGY8q4THTZrHRzLN5aHZ9lLB0DPrNqZRVA0G8v0Iuw82AiEA6y4rhWUO4/eGQiPcO5H5kMHoW/4N4tWWQULBJkiUipI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97237},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"f2936c1f91b1a336f3b901a746ba6f71113440e7","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.6_1774760956277_0.14331747747421208","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.8":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.8","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.8","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"a830dd80101e0d0a02151d23fb7fc33ec7ae7586","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.8.tgz","fileCount":7,"integrity":"sha512-ZHx86504EJPtDHf+Y0ss0KXx0DrBjvHNkcpv1lyKThm79RIqtkXI8qTKIVwX5tNoFq3XFvjo6AQ7JAMeG47zrw==","signatures":[{"sig":"MEUCIQCwN+NrYR4KmXqC2dfbhZVwMZwNyN6+2GEdofo/05SXSAIgOXbW4bc4Yeugfy5Fku9IrJK1jFUWJumyODJCrhgHTlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97178},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"e8d2d704c3ddcc611f48f036d6ce252270bc9434","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.9.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.8_1774848768187_0.07407834401592117","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.9":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.9","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.9","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"b23f74bb5dfd2f785dc35eeb772550179e7f2c78","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.9.tgz","fileCount":7,"integrity":"sha512-yHJvLHgIg2cYqmnNQsNrgp1jhpSGwwJ0OMgysInowAEN7mgZ5o9tzQuZTkZrr/UUW3SNQByt9L2feuDpixvVig==","signatures":[{"sig":"MEYCIQCNUT7hNc+8ah5ckAGNzf5NWOI9hXA3yrQ1vUQGIU+B0gIhAJtf2jvSlsbjwbDJCKa5uRksE7EcQj7KWC+pm+okdco4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108838},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"3499b48077b7945022963101d3439a8e833b506b","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.9_1775274887451_0.5647963028084608","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.10":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.10","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.10","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"70879d2055b0a829464c6d386df3fb28a2da9251","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.10.tgz","fileCount":7,"integrity":"sha512-70qu9AcTfrCiiwL7MNjQ/HfYHz57bm9tcWoSj/QYtGMot/4/Q4k44UXAZpVut7rrAcpPdcwME8zc1Sg8p1PY0g==","signatures":[{"sig":"MEUCIA1UMFxnlW5xJ5VY/pHFA2f87xX9ImDtfyaFAnlxhTcIAiEA+DMvQ7H+2dpvMLzOLf63PhlnnmN7m/us35vvh7QsvQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"b8ed0d92afc82f082a1d1548f2be2508fe2828d3","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.10_1775356481119_0.7556272162808977","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.11":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.11","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.11","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"2bde165c28f5857b7dc905da3a3b4c83a64247de","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.11.tgz","fileCount":7,"integrity":"sha512-D31wQUWMySFiyIkEXZDrYkS2fnHhpBjSoaiuh9stpqKgQvbD0Aufd5ksfAnMkMRH58icAqnS/Uxs8SkeaQMTaw==","signatures":[{"sig":"MEYCIQDGeTWOLnLd38nJcsXGXKT3NRVxa/LqSTv3/jC61pIRBwIhAJE6odVRiSMX6v72ZvrPUzSOi1Z16+C7JfHIsY/FlmWG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"238166359b7241f9edb0ded621b0a3aa2ebfda03","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.11_1775361235122_0.844691483778931","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.12":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.12","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.12","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"2f9059780d4a530704219e1ab770539b4149e192","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.12.tgz","fileCount":7,"integrity":"sha512-iRe8PwU7wXFUFQGSu6LsMXavdiIqDhXjbWhw2GjqH3dgNQgJrjj0i6RBgsRBgPe2W/dn+8Xmk8AnItLzUF3TrQ==","signatures":[{"sig":"MEUCIQCjj0SskkYnbEhllj05ECyF1C5ByEd0xTiNwCi/isYkfAIgMDVeep6uMK9Tukvj/Yx7FpnWYYf6mlPymabMasaffRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"38147926f3ea22118d2353ff47fc5ebdf5b66bbd","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.12_1775444110937_0.7648004291679333","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.13":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.13","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.13","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"1ecac97d328782748ad230d2447c31f26f22b902","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.13.tgz","fileCount":7,"integrity":"sha512-TJEvepqZd+00cYtfH9z0vhMQxqCYzAtZSw1G9UEKQ0kvpvf6fCb1u+mTazvtZ+WvYHODtAUiRD0Jvm+dtSMccw==","signatures":[{"sig":"MEUCIQDpOugBVKnvh52YpwkWMWBpax/FrS6+kbr2utdGkkukpwIgNY1aRXOWD148ChmCGtK6b7Tqh74ybw3x/00IuMen/4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"1c1b392be7ced58e75a22d5d7489c3237c2e731c","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"2.0.0 will be released soon","_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.13_1775446563246_0.03151883647287579","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.14":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.14","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.14","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"bbd373e8ef0080e258260833133ecefd9533791b","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.14.tgz","fileCount":7,"integrity":"sha512-x85javcyfCsYhB4F+LP1kGgAOunxyPYSDquxJYAKQEmdR1fcpo59mLDqnwQ5LdNZghgpofv7CEV61Mwc7JTl0w==","signatures":[{"sig":"MEYCIQDRWzX63HvHdJwg2rhBNr5yus6Qa+SkAn4H+mpW0Ae7ygIhALzHLmwBHT4sVbr7x+L9W7suU02kpUbFam+aT8paqfLH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"c4766fdf8b8aecec26bcb9054eae3d1fd461af1c","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.14_1775451492790_0.1533448020620367","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.15":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.15","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.15","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"ebba76e19c8e033e3e0fafaeca1725b7e242657b","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.15.tgz","fileCount":7,"integrity":"sha512-cmqybWDbkYtdRBqPAkDigbFCl0U4FPAb1Msj8sT8S4ms0s4aiY8eJkLmsxxq6qlDo/mr6x/1DdsiY82b4hB/ag==","signatures":[{"sig":"MEUCIGGV1EiivLzNu4K8iWNJQfJFFcqG/9IAcGu+5xGiA/igAiEAu1ncIr9rnifjE3+vt51v0k2Mq73fIB8K71bXGrF7V8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108839},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"77acab8410c93abcf152648c4d9c963f19e272a9","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.15_1775457057288_0.7043763739735533","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.21":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.21","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.21","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"2a4e26821a86364ce1bc4eeaa37b9739a93adbcb","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.21.tgz","fileCount":7,"integrity":"sha512-PFhGyTPby7kY5O68P/HzOh+SKXXCwNELNqW+ZjjRwpZs0dcBEJ6rkGNW9s2sW7qcnBHbE/i4L32HfPuKfrsnAQ==","signatures":[{"sig":"MEYCIQD3HkBuWT6KMnVW9gCClQf3DXrnz3j7E8mxFLrcWa+I3AIhANc033xtz8r7QY0myaDmDTqfS+TTUtgH58Lf7LHyyJvW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108893},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"50e621657fe8048616560e26771b93964a9dffc3","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.21_1775460513207_0.2398097085849915","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.22":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.22","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.22","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"6b88dcfb40a0e51d9c1e63162a2b36ba7e4fa313","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.22.tgz","fileCount":8,"integrity":"sha512-l/0aYJie4TMYSpoQ8TEUM69T5dFsxzSlrdSPUvOyehEKYWd8rQMmqXWS0fiBfOlDJE2tjT0Wq8kfwndnPMoLBg==","signatures":[{"sig":"MEUCIF2MeglyWi867gim51/9FaTtZnuW1sh/zvVQFLgt6F7TAiEAszYl5cXcdok9BKBf5A+lFiVoLzhU6yQFWTheHXXyoRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"5345fe333967fcf43a752499f722fd28621fafa7","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.22_1775896997144_0.0020498116106086872","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.23":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.23","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.23","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"920c1e6a8ff5f1d815b8d9360c3e3928f4b6b910","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.23.tgz","fileCount":8,"integrity":"sha512-YWWgZDBVJrJx7fjARTNuvKZNDnda4q3xGd7LMeBaOKlzMr1quXtavAPXKgWHAKLZstU8/TzbItw3oopwWw5oGQ==","signatures":[{"sig":"MEQCIDKECjbiH1gX0lGFI10ayTJoH2328UR077n43D6bBAfxAiAEnCqQZ6unWSGmYZBDkVe41syThkxsE+UGp4uhkXaKCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"43aebbe6e083312ca9381fc3219541623da923a2","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.23_1775960202294_0.39931642408812196","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.24":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.24","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.24","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"3a2ba9f493bb9b8932de08661d57ff2258271f18","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.24.tgz","fileCount":8,"integrity":"sha512-E6yCmP3dl5N2oogQDECYktjCV17kmaHMu6m5vwDafcbOI7egHE95SOiz6mSSMyx8x/fy2oEhJOyXOjvIXqFPXA==","signatures":[{"sig":"MEYCIQCTVPK7t55pDEmFHFYRMyPG8xRttFBl/3ALWT8Aa/iAdQIhANCCymaUamW7qr2ijW+GDcVKer6Ms55e55Zz8rBoHwzf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"1e7588cacf45a5e52960121f0907d1fb45e83990","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.24_1775962634311_0.8469530559827745","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.25":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.25","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.25","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"9f0d72f93e62fa31e18cb526d1f723573c50816e","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.25.tgz","fileCount":8,"integrity":"sha512-hvjZ68m0qhMzCaCsmiYLbK6JrUv5/v5MEGiLOyHTumLrzcxAZsHErd393bzRWj7Bzmufbe673gaL7QkwcHCcOA==","signatures":[{"sig":"MEUCIEMH+bvZdnYJ0KMy9Z7AnJiZyBvj7GCRwbR7UlKs61NUAiEAyE7Qykqpqz3JG4TW2BAkE0lbrPskzzaLnW50tDNoInI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"6dc09cb94d030137149c4fc439e8c86b988c57ad","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.25_1775964873888_0.7124882404333615","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.26":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.26","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.26","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"d845140273901ac42121b159c5933dcad1f09dc2","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.26.tgz","fileCount":8,"integrity":"sha512-BfpKzpxq09sm/6Xq0eR49FMHTfzVpDtJi9aT6NeKpKTWefMP4DXVi/a01te5WDP2cRVmkfXRBp6iYoU8W41dDQ==","signatures":[{"sig":"MEQCIB7rK+sZYY7USw5VnA8lsrKWxlINXQjv4fWeVdSbnjVdAiAVc2GiSExZscWa0CA1ZZ2x1XqrXcsV3YQhtws1/pITBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"8690fcf8b6bfa24e4773073bfe97dd4426469915","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.26_1775965156332_0.9087786662425756","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.27":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.27","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.27","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"5da233022b76409f58574ce170251ae0a5f19b65","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.27.tgz","fileCount":8,"integrity":"sha512-P0FaVruNjaBq5VmA71y0QW2TYYZC+WBNBNlSNwJtB7zkEedSMcgEDcYgQrdv1XpdL92dhHWHbOZMke64nlJAwg==","signatures":[{"sig":"MEUCIQDz8s9PhEYgrXhypPwKlQmcVTzLVw2Mp0CoYcXUpPfdfwIgO7l9D0A4R5a4nyXAXJsNx6NaXUwsHsoPmJfC3FtWm4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117155},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"ef8438cc40df810a4448f879be442caa215585e5","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.27_1775966435262_0.48190160499900303","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-rc.28":{"name":"unshared-frontend-sdk","version":"2.0.0-rc.28","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0-rc.28","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"86fdc94eac07eb277038bae472fcc09dca42998c","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0-rc.28.tgz","fileCount":8,"integrity":"sha512-axdGyudycNRRtoJXp/lOH1X4TPnKrTUHahF3YvZcHmcLkfZFuzX2/InYIkck5IT81Guxg0QkXBKesV7wZ5VKgw==","signatures":[{"sig":"MEYCIQCoWArAiLrmhfSwAp80Di4w9aL+Hwtve+vy5Qxp2iSWNgIhAMGi3oIyUrImI9uzN/wFgbXjSyp7rXohP1+PUfwhQxHl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117115},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"b573d0ccaca691c9ec3e9a085b0fd299050c4ee7","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0-rc.28_1776952134508_0.141458910471423","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"unshared-frontend-sdk","version":"2.0.0","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.0","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"50924a92e1dd3efd133af67a535b7359214fe66e","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.0.tgz","fileCount":8,"integrity":"sha512-PNsQHCTPATeOof7crvSJ2fHNS+4x8TbB4X5Kya9D1Zaky+EAuKF1ThQHXTQM54LFeAwmh8nNXcXEbGdwPEmtTQ==","signatures":[{"sig":"MEYCIQC15mNVMB7tCdp8uZavt8GlkIKk/6QW430VvlcAg36wLgIhAKrTR8rlsgBLn7mo4ZA9v6tmGCqubCv7ZMH7j9qaAIE+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117109},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"30e3feb4b2c9bbc4c709903e3833032eb481194d","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.11.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.0_1777687129483_0.1827847281452073","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"unshared-frontend-sdk","version":"2.0.1","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.1","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"22862c9fc4fd53b3e5709bc281ead33a81db288f","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.1.tgz","fileCount":8,"integrity":"sha512-CyUF91ib21XturcSMYiuJ8FBchek70C2megln0L6hJ+c2if3oBDOVuqrrm1vofRpm5pb7GueisaFX6CQagRuog==","signatures":[{"sig":"MEQCIDPqlOH7+8PCuBnwOyFVFWIEpJXVTUZhnh3AiDvGXcxeAiBalEb0JIm4yJFf6XBw02akr+2ptTGGJqzjvysqWToSkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178206},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"bf5ce2ce7cedbcb853d692cb16e006baa3af286f","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.12.1","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.1_1779809314367_0.2995220867450912","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"unshared-frontend-sdk","version":"2.0.2","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.0.2","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"0f9ee407234f3f72e93699c7eaa1d3da9ed39754","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.0.2.tgz","fileCount":9,"integrity":"sha512-9v9jqn3KK/dKv/98NDs6+IsC1mcV0cCrtdzkdM5GA5fFUJpB0ywangjdq9n3uTo9psJAPtzm7irbxryZGQPcgg==","signatures":[{"sig":"MEUCIE3SMA6IVvB9aivqDZuVAmofGxPG4Q8bMjh1SRug4xWlAiEAhpcWg4YudOpQbfaOxck9mxDV/Deuoi1AOGW+4wIpQ9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179357},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"179b29b52e08aa5e95ca8bcd9dc7b6ea3850437a","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../shared"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.0.2_1780894967276_0.16407658855680252","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.3":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.3","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.3","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"8946628020dc67c42ffee93f063c1cb7f06744c7","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.3.tgz","fileCount":9,"integrity":"sha512-jn/D/rZgx/7YU4vapwndpHgCXrB+JShp96TIyFSu95jqPfM7nUlfOANgVoi1wY2M9pPb6of1EDInQDXBkqlWOA==","signatures":[{"sig":"MEUCIQDm61Fhe4on3FjLd90FYX4epm1/25qfrDqv4d4fsRQY2wIgMndt9vMlauugqBUxKtalY5VrIqe/ROl9rVR95NWTHl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251787},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"324a4b808b763a1c224669a1a7a82dbf9bbca26c","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.3_1781834476965_0.5730115799869488","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.4":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.4","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.4","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"926f6a1a3264c31a6bbd9513ac7135667c97eb62","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.4.tgz","fileCount":9,"integrity":"sha512-QaNwvvzDT8U8OhmubTrn6JvSfiTGCfnwBh/TeXdZrMyS0yXm5ao5tjJ67LQ6Rx2+Y7bZD+foJ7or/Zl09Mt3qg==","signatures":[{"sig":"MEYCIQDJlT0aD9sNi8BaJ3BoNwUkBQZ/WLxDkcPvVToMe9aWIwIhANcqXcEnNXieiKWgpTpACzgWP7M8gukPQNBlqeVTPXq7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251787},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"9cd1706466a2fa2f4401d36e76714d55bd2d84e6","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.4_1781840489419_0.9050692811889773","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.5":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.5","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.5","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"e928cc4ba73e774781e98fe1131cf8e9fa988a35","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.5.tgz","fileCount":9,"integrity":"sha512-1mTA1gHr3/ycdRjyWclWEpFOWE/Q75F28eMNj5kLFXVFbkl0Rb37RmH2DPBbsbG8m274FIW5tQ9HNdCv71lZog==","signatures":[{"sig":"MEYCIQCd2MmZmzi5m06hUqJZVzn+ugIjYK0mYN1AWBPSITaoiQIhAKDCGaAW/1b1nLhbU2vlpsDjmD5KMCkwlEDG51PO/ODc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251244},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"887409c61e82e8b5a60072e428e9e657c7e01dbd","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.5_1781845362157_0.48123865699458324","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.6":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.6","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.6","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"1acb1fd00038b98aab924d2ca00ac386412f1652","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.6.tgz","fileCount":9,"integrity":"sha512-o/oA2CmMdo5qjEGlaRN9bFvhCZ+dY66OWLaTr0kCeFMVFhj0o8A6TUT5WxXugAX/9iMrdE64aL2ceTgymAr6Xw==","signatures":[{"sig":"MEUCIQDKQ19wF2vGZIffsTkarBhKVEa3zLs9pwA9T0yHpC9YMwIgJ99yIAAsYppp6TfjTORRPAUoSREtZ9AxnJZOVhUjGcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252543},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"c528b648fcf1b38f6186e4976cbf0db6893ee467","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.6_1781851507767_0.14605040335729202","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.7":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.7","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.7","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"5e00d5a125f325e26b7e1e13555564f94c28b0ec","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.7.tgz","fileCount":9,"integrity":"sha512-PFgLqLD7uzu73x8KuL1cNHmInd/8X5nMy0+t34WtW1PgtO9l+pvbopfFTcJ2+7fqn8aFMIhcC5coaQIDz/Qo/A==","signatures":[{"sig":"MEUCIE/pV+ayVfq/jrUwOfUOzWMwXvZIxk4oC0nx7dY2eP31AiEAk912YQgMeDElck3TFEuDgnVGt09+EMOAnrC2NnZcnYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252543},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"f282d249c32051e0d1bd00c75ad6100bcea63776","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.7_1781857030657_0.8920446350357221","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.8":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.8","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.8","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"61414adf740c4f44f93e0f825960cbe83d4d23ea","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.8.tgz","fileCount":10,"integrity":"sha512-Sj4Fr7afMAY473FV/YAnZ8ij0CF+yfkL7v0vAnDbTh0uDHXMnW+Vbk3x3HRDDHhY5PgY63993NSnjEB6OdsSQg==","signatures":[{"sig":"MEUCIQCvYXwRvMTtDTROggIurFxBtYRP4XEWzRXyApVuUjq5CgIgUNDpRJ61LncijhO+bj0BOUSvyoeYRXIev5qV2oAVqoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257402},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"173100066f9aba363ada6d3c20171dbb6ba104d3","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.8_1781909506329_0.6902257823972675","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.9":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.9","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.9","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"7f466c72b096ac66e9eb3a248d8eaae1fab45e29","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.9.tgz","fileCount":10,"integrity":"sha512-8VqYUE2WBDxtwp1WtE97EgZeTyqk3kHf0gaTf7f7a4dnXsImsuI8MnCnmTPyFHIxfWWyden7WxTaY5hIQ31yGw==","signatures":[{"sig":"MEMCH1uttt0l9tZqnElE4f1Bz/BoTsXqDhoRunYiVg10684CIDihXX3rFo862hl6oFRYM47xcnjbJAGNbB6jc6eIJNB0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257624},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"4f562ff62248f9aeac2e42829c9544c3b842ef52","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.9_1781920659079_0.6070799116217285","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-rc.10":{"name":"unshared-frontend-sdk","version":"2.1.0-rc.10","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0-rc.10","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"1725924b8b4827852d1b8e4470dcca713f31a967","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0-rc.10.tgz","fileCount":10,"integrity":"sha512-nDR3wKWZcL/dyKXYte6ADkNxBPE1I7IHCKHKQIHCkzlOX+Ix4eCuXGj1aE5HmkL8oZkEDsVxAFWGgaS/X51c6Q==","signatures":[{"sig":"MEUCIBUZtEJzVFuFrRrTaGx+Stb2DdTCDoXpoBopOY8c1Uy+AiEAnG7ATxnzxi8QHQT2nV1YHtq+FUbsNLPVrT/gtNV6EgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260829},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"c680e1b934c598ff63c6ada79d7518593f2d332d","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0-rc.10_1782006342969_0.564555773987691","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"unshared-frontend-sdk","version":"2.1.0","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.0","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"c3ea2c0efd180460d64484a3f782f3d97d8ad5af","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.0.tgz","fileCount":10,"integrity":"sha512-tJi2YUOHhLhkPdzoXRTm8ipq3MooYIKahcj6v7WJg8Cp5pOZ98o00pR/4uyUuzMOniV19J7lZUUXlbuFLfviCw==","signatures":[{"sig":"MEQCIDWJ6iNKiMeDThk7nWhAZzp6nsPUJ+E+4MZmnTHIzTUkAiBoYoTN9JtBDedPvjfISCpxijqvLL0tWggKLiNVNJ/c4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260823},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"0b38eb6e9025f17068fc86f6fa134386c4c6beb9","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"deprecated":"unpublishing","_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.0_1782173204378_0.8153689677282001","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"unshared-frontend-sdk","version":"2.1.1","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.1.1","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"3fcd4db5da6c5a9e1c8603aa4e589080275efcbc","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.1.1.tgz","fileCount":10,"integrity":"sha512-AK5t7ZUVus8Nc4yaaWhi6tR+pqBxKU9WNBmvh99vUhsafCM7hECvotj8SX9LTq3cKw0tiOoRo/ws7gSFCJjrnA==","signatures":[{"sig":"MEYCIQCXs1e7Tk7l4NeFD9VSBe/YUXGvDSMV46yJBkIkmE/GUwIhALPucQ4GrIIg2/D/yY+eYY44wRPSiGt25OndPgF8xWWi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260823},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"b7462584f0902eb6ccbd5aaaefb69d6ee53e6cc0","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.1.1_1782175349597_0.5547817135958621","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"unshared-frontend-sdk","version":"2.2.0","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.2.0","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"81b108caa3fdccf705359cbc95e21075cfea1b1d","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.2.0.tgz","fileCount":10,"integrity":"sha512-uWgIvE1na2Ar7v7bKgWtoMmTytCDJeoMXUYPzwFIH3F91YK66XEjqobNxU+z8AMElYolcU2rkek6lZvmaa8+ng==","signatures":[{"sig":"MEUCIEKMSGGvXRLDw3jpFTpnELJprgaXKj9eokaHXp/Q4RxFAiEAlkEdmezv6oKHTW2hHVO0e6yRaQ4RQ1wH51mxi3DEIXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260823},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"ab89dfd31d6f3bf50a58936f9ca6d792701bdc33","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.2.0_1782684918927_0.38101174232571555","host":"s3://npm-registry-packages-npm-production"}},"2.2.1-rc.11":{"name":"unshared-frontend-sdk","version":"2.2.1-rc.11","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.2.1-rc.11","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"4a0f2c959241b249689f6844367d15f1a0a08083","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.2.1-rc.11.tgz","fileCount":10,"integrity":"sha512-H6Q0dF1Cg5HFOH0i1DQW9m574kplfzjZ5zlPsrJ6BWe+IdX6bxMZNB+LiNEgb+opJok0MxjjWff2d1b9TNeJ9A==","signatures":[{"sig":"MEUCIEBjTU5feIY6RP8Rcx1EvoQTH9vrMkpb7+CmXqe61OGjAiEAn3at2DgIjD7cKGT9eru0+s+NPSoaz6BG+ubyEw7Ws0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266919},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"3b95630137d181f3a1ab3808902730754ef09623","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.2.1-rc.11_1782929886026_0.565397993019412","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"unshared-frontend-sdk","version":"2.2.1","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.2.1","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"f38e65fbc589e06ee18e00ef74e7ad84b119e7b7","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.2.1.tgz","fileCount":10,"integrity":"sha512-d/bM+NQ6DgngDbzprsgmBCxbq5dQ1hsmvTBh4nnxBzfCAYNBRqEcy2K3prx7Yto/Lvj0IZ+wICy3tjNlOMje2w==","signatures":[{"sig":"MEYCIQDlV0NddgnFSlC6pvW4yT+ANAY8M2I05uJOm5FRx/4H5gIhAJqxmkoYPemG87glBgGpW+44rX1qaotcQmEUhGlwsooc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266913},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"3b95630137d181f3a1ab3808902730754ef09623","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.13.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.2.1_1782931272059_0.07862948366065314","host":"s3://npm-registry-packages-npm-production"}},"2.2.1-rc.12":{"name":"unshared-frontend-sdk","version":"2.2.1-rc.12","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.2.1-rc.12","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"189c4774cbf93894985c4178b390b2b0a24d9577","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.2.1-rc.12.tgz","fileCount":10,"integrity":"sha512-GRzEd6RIKMAeRlDHaCYnrGRshskz0Jso1pIzupoYuxhuFlBpJ15Sno33bqqMZYZvxjuu4VnPpR7uiF2CkoIR1Q==","signatures":[{"sig":"MEUCIQD5/0DTZqTb4UK1otB9MHOZCneWUmeOpB7G4oTigzlkmAIgc0WgGy2nxhrbOLMuQoppywR6zN/H/h0Lob25lrmcYTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269835},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"9cb7207c34dbf508e8170831f8ffe0a895aebf50","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.16.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.2.1-rc.12_1783127016854_0.023275840656095337","host":"s3://npm-registry-packages-npm-production"}},"2.2.1-rc.13":{"name":"unshared-frontend-sdk","version":"2.2.1-rc.13","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.2.1-rc.13","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"233295e913f6018540cd25ece94eb77063d67273","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.2.1-rc.13.tgz","fileCount":10,"integrity":"sha512-7vwXS1I1jLXVgcBw5yDsBD55oOAtuGWbIHO2r9Al6BG3h4VWfvMZypJcrL+m5BpN+ygVBW37NHcLRki7rTWu2Q==","signatures":[{"sig":"MEYCIQCFCvWxalqpJYiz3BOyRRCVDQb7LTTOjh9EiNnj0m06agIhAOYcJlcTCtw6mMidq1fWsM5b7Zk/8Z6AYZpEgV4N5AXR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269835},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"11b5f2150486464415ffe57b1418543f3fc1a598","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.16.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.2.1-rc.13_1783128795526_0.8615610053828573","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"unshared-frontend-sdk","version":"2.3.0","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@2.3.0","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"4057c7e70f39347622f0d2cd16aa6a27467d2a5b","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-2.3.0.tgz","fileCount":10,"integrity":"sha512-RmcGiZfLx5l7A4pzN8RlZGVVrI6z+iIPvzgVKbHEgwgwWQM2JrHst/UPOS/yVLcPzHjXUc1TtLPdFXhZCi897w==","signatures":[{"sig":"MEUCIQDKz8uaRgJixYjTzTBRC+N876dB0E555K30HDAFLKvtBwIgK+SABpzFp+YKmp1yH77oDBePXB5ZLElySzQIDzTTi9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269829},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18"},"gitHead":"27da28bbc97c29e8381c252c7198a7cd746e3978","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.16.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_2.3.0_1783922058110_0.8560129977782813","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-rc.14":{"name":"unshared-frontend-sdk","version":"3.0.0-rc.14","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@3.0.0-rc.14","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"749b1d633967aa93a7fe07279c72230fe0d04c8a","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-3.0.0-rc.14.tgz","fileCount":11,"integrity":"sha512-FGq215omq2/K7bmv8+hE/JZPnKE6/+F0509rx/5+B5qOHjNmQ/6H4PtB8684a7fqBxnkIfHgey2WoJHjueyuEw==","signatures":[{"sig":"MEQCIF80BvH3QMgffkxNmShEwYCPJ/8RcCVqos8T6Aos1Nd+AiBFzxIxQzXc0JnX+mhkiejT/S1pPq7w6L8YTQR5YZH9ZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317972},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18.20"},"gitHead":"bf7e35d338ea50d32d4ef0df40f39e8412013526","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.19.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_3.0.0-rc.14_1789186524361_0.13761129227207802","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-rc.15":{"name":"unshared-frontend-sdk","version":"3.0.0-rc.15","keywords":["unshared-labs","browser","fingerprint","proxy"],"author":"","license":"MIT","_id":"unshared-frontend-sdk@3.0.0-rc.15","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"dist":{"shasum":"6478c24ab39ae41244c3653741f48aafdb586783","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-3.0.0-rc.15.tgz","fileCount":11,"integrity":"sha512-kBLTmAp2VrKuTkv0hNVY0NO9v3fL5K2P46C39gN7GOLy8RjtGWNviaW/TRG9EZrG9a7MScQl2PLLbaFPtU7LmQ==","signatures":[{"sig":"MEUCIDN0E3JQpOtPDAX8vevBBODMvv6cqx4C+ubfyhdg6bZmAiEAnsdAQjewoGciXvzlvPtnu+mMLqdbrxyVkBrCrp2X+00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328183},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18.20"},"gitHead":"afc3c5fd12054cfb85e3c07c37594d67a2051fc2","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"_npmVersion":"11.19.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"tmp":"tmp/unshared-frontend-sdk_3.0.0-rc.15_1789239100684_0.39307698820156056","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"_id":"unshared-frontend-sdk@3.0.0","dist":{"shasum":"451e1cd693b0dc7294dc7356bd9f4f1da0ba8f14","tarball":"https://registry.npmjs.org/unshared-frontend-sdk/-/unshared-frontend-sdk-3.0.0.tgz","fileCount":11,"integrity":"sha512-NOpJifJGKy9wlGosb9XBXnytm9jprVJ5r5sgzsScZKr64pn94JNaSurVf9a/c/klv1rW0LQPQPjQ6dWlRsj+eg==","signatures":[{"sig":"MEQCIHGhiF0e5pNaCPcdm5ojMf4jjH/RN8wfL0B1nVdqQSHSAiB6J1YbJADKmBemLznaLWCCro29KzPhVNDgZu9c4SxnOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC8TfrUGLNw1QgJz4q5/4JKs08XsU/6XFL+ihxSfWya1QIgQUhG1/bZKnJ8U4+X7b1mVO/t/QLCynTWjhUr1YSLZB4="}],"unpackedSize":328177},"main":"dist/index.cjs","name":"unshared-frontend-sdk","types":"dist/index.d.ts","author":"","module":"dist/index.mjs","browser":"dist/index.umd.js","engines":{"node":">=18.20"},"gitHead":"8249b9ce32aef22675cb085741dbf4cf1a7ad828","license":"MIT","scripts":{"dev":"vitest --watch","test":"vitest run","build":"node scripts/build.js","build:tsc":"tsc","prepublishOnly":"npm run build && npm test"},"version":"3.0.0","_npmUser":{"name":"unshared-jason","email":"almost.jason@gmail.com"},"keywords":["unshared-labs","browser","fingerprint","proxy"],"_npmVersion":"11.19.0","description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","directories":{},"maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"tslib":"^2.8.1","unshared-fingerprint-lib":"1.5.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rollup":"^4.0.0","terser":"^5.44.1","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.1.0","unshared-interstitial-sdk":"file:../interstitial","@rollup/plugin-node-resolve":"^15.2.0","@unshared-labs/shared-types":"file:../../../shared/types"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unshared-frontend-sdk_3.0.0_1789447224282_0.9857020860032706"}}},"time":{"created":"2026-03-23T00:26:17.686Z","modified":"2026-09-15T04:40:24.518Z","2.0.0-rc.2":"2026-03-23T00:26:17.907Z","2.0.0-rc.3":"2026-03-23T01:13:40.288Z","2.0.0-rc.4":"2026-03-23T01:51:59.223Z","2.0.0-rc.5":"2026-03-28T07:04:59.171Z","2.0.0-rc.6":"2026-03-29T05:09:16.437Z","2.0.0-rc.8":"2026-03-30T05:32:48.327Z","2.0.0-rc.9":"2026-04-04T03:54:47.597Z","2.0.0-rc.10":"2026-04-05T02:34:41.289Z","2.0.0-rc.11":"2026-04-05T03:53:55.272Z","2.0.0-rc.12":"2026-04-06T02:55:11.108Z","2.0.0-rc.13":"2026-04-06T03:36:03.385Z","2.0.0-rc.14":"2026-04-06T04:58:12.946Z","2.0.0-rc.15":"2026-04-06T06:30:57.430Z","2.0.0-rc.21":"2026-04-06T07:28:33.356Z","2.0.0-rc.22":"2026-04-11T08:43:17.306Z","2.0.0-rc.23":"2026-04-12T02:16:42.444Z","2.0.0-rc.24":"2026-04-12T02:57:14.445Z","2.0.0-rc.25":"2026-04-12T03:34:34.065Z","2.0.0-rc.26":"2026-04-12T03:39:16.469Z","2.0.0-rc.27":"2026-04-12T04:00:35.454Z","2.0.0-rc.28":"2026-04-23T13:48:54.695Z","2.0.0":"2026-05-02T01:58:49.621Z","2.0.1":"2026-05-26T15:28:34.574Z","2.0.2":"2026-06-08T05:02:47.474Z","2.1.0-rc.3":"2026-06-19T02:01:17.175Z","2.1.0-rc.4":"2026-06-19T03:41:29.554Z","2.1.0-rc.5":"2026-06-19T05:02:42.296Z","2.1.0-rc.6":"2026-06-19T06:45:07.921Z","2.1.0-rc.7":"2026-06-19T08:17:10.791Z","2.1.0-rc.8":"2026-06-19T22:51:46.470Z","2.1.0-rc.9":"2026-06-20T01:57:39.267Z","2.1.0-rc.10":"2026-06-21T01:45:43.106Z","2.1.0":"2026-06-23T00:06:44.537Z","2.1.1":"2026-06-23T00:42:29.783Z","2.2.0":"2026-06-28T22:15:19.056Z","2.2.1-rc.11":"2026-07-01T18:18:06.186Z","2.2.1":"2026-07-01T18:41:12.225Z","2.2.1-rc.12":"2026-07-04T01:03:36.999Z","2.2.1-rc.13":"2026-07-04T01:33:15.650Z","2.3.0":"2026-07-13T05:54:18.251Z","3.0.0-rc.14":"2026-09-12T04:15:24.498Z","3.0.0-rc.15":"2026-09-12T18:51:40.823Z","3.0.0":"2026-09-15T04:40:24.368Z"},"license":"MIT","keywords":["unshared-labs","browser","fingerprint","proxy"],"description":"Browser SDK for Unshared Labs — routes fingerprint events through the customer's own backend","maintainers":[{"name":"unshared-jason","email":"almost.jason@gmail.com"}],"readme":"# unshared-frontend-sdk\n\nBrowser SDK for [Unshared Labs](https://unshared.ai) — collects a device fingerprint and delivers it in one of two modes:\n\n- **Proxy mode**: events go through your own backend (`baseUrl`). Your secret API key never touches the browser.\n- **Direct mode**: events go straight to the Unshared Labs platform, authenticated by a **publishable key** (`upk_…`). No customer backend required — the tag-manager-style integration (à la Adobe Launch / BlueConic). The publishable key is public by design and only grants event submission.\n\n> Client-specific script-tag builds can package `UNSHARED_PUBLISHABLE_API_KEY` into the UMD bundle. When the key is packaged, `new UnsharedBrowser({})` runs in direct mode. Use `baseUrl: \"\"` for same-origin proxy mode.\n\n```typescript\n// Direct mode — no backend integration needed\nconst client = new UnsharedBrowser({ publishableKey: 'upk_your_key' });\nawait client.init({\n  userId: currentUser.id,\n  emailAddress: currentUser.email,\n  isPaidSubscriber: currentUser.hasSubscription, // false → nothing is ever collected or sent\n});\n\n// Direct mode also exposes the read/verification API:\nconst { data } = await client.checkUser();\nif (data?.is_user_flagged) {\n  await client.triggerEmailVerification();        // emails a 6-digit code\n  const result = await client.verify(codeFromUser); // -> { verified: true }\n}\n```\n\nDirect-mode reads are protected server-side: the publishable key only answers for the identity+device the browser presents, origins are allowlisted, and every endpoint is rate-limited per IP (plus per-email cooldowns and code-attempt budgets).\n\n---\n\n## Install\n\n```bash\nnpm install unshared-frontend-sdk\n```\n\nThe bundled fallback uses exact public npm dependency `unshared-fingerprint-lib@1.5.2`\n(Node >=18.20 for installation/tooling). No vendored tarball is required. S3-first\nloading remains the default. Version 1.5.2 filters components only in the library's\nown `sendFingerprint` reporter; this SDK preserves complete raw collection results\nand applies its existing payload-size policy instead.\n\nOr via CDN (no build step) — see [CDN / UMD usage](#cdn--umd-usage) below for the complete example.\n\n---\n\n## Quick Start\n\n```typescript\nimport { UnsharedBrowser } from 'unshared-frontend-sdk';\n\n// Same-origin proxy mode (frontend served by the same backend)\nconst client = new UnsharedBrowser({ baseUrl: '' });\n\n// Cross-origin (separate domains): set baseUrl via env var\n// const client = new UnsharedBrowser({ baseUrl: process.env.BACKEND_URL });\n\n// On page load — fire and forget\nconst fingerprint = await client.collect();\nclient.submitFingerprintEvent(fingerprint, { userId: currentUser?.id });\n```\n\nThat's it. The SDK handles timeouts and errors without throwing. Read-only calls may retry; Trigger and Verify never retry.\n\n> **Using this SDK alongside the Node `unsharedBoundToUser` middleware (Tier 1)?** The middleware\n> also auto-injects an inline fingerprint script into your HTML. That is expected — the two\n> submitters share a client-side dedup guard (`window.__unshared`) and emit **one** event per\n> `(user, route)`. You do **not** need to turn injection off. See\n> [_Fingerprint Collection: what loads what, who submits when_](../INTEGRATION_GUIDE.md#fingerprint-collection-what-loads-what-who-submits-when).\n\n---\n\n## Configuration\n\n```typescript\nnew UnsharedBrowser({\n  baseUrl:    '',      // same-origin proxy mode\n  maxRetries: 3,       // optional, default: 3\n  timeout:    30_000,  // optional, default: 30s per attempt\n});\n```\n\n### BrowserConfig\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `baseUrl` | `string` | `undefined` | Proxy mode: base URL of your backend. Use `\"\"` when your frontend and backend share the same domain. Omitting both `baseUrl` and `publishableKey` defaults to same-origin proxy mode (unless a key was baked into a client-specific build — see below). |\n| `publishableKey` | `string` | — | Direct mode: publishable key (`upk_…`) issued by Unshared Labs. When set, events bypass your backend and go straight to the platform. |\n| `apiUrl` | `string` | `https://api.unshared.ai` | Direct mode: Unshared Labs platform origin. |\n| `maxRetries` | `number` | `3` | Retry budget for eligible operations |\n| `timeout` | `number` | `30000` | Per-attempt timeout in milliseconds |\n| `includePathPrefix` | `string[]` | Unset (all paths) | Literal `location.pathname` prefixes for lifecycle event submission; `[]` submits on none. This is browser-side filtering, not server enforcement. |\n| `skipPaths` | `string[]` | Unset | Literal pathname prefixes excluded from lifecycle submission; wins over includes. Does not prevent explicit `init()` from establishing identity/collecting, or disable low-level collection methods. |\n| `sessionId` | `() => string \\| undefined` | Cookie, then UUID | Resolver runs at construction; a defined value wins over `__unshared_sid`/generated UUID and is persisted to the correlation cookie. Not an auth-session TTL setting. |\n| `deviceId` | `() => string \\| undefined` | Legacy stored device, then collected stable hash | Resolver runs at construction and init; a nonempty value overrides the device identifier, not the canonical collected hashes or separate permanent ID. |\n| `enableInterstitial` | `boolean` | `false` | Auto-render the interstitial modal when the user is flagged (via the `unshared:flagged` event); works in direct or proxy mode. See [Interstitial modal](#interstitial-modal). |\n| `interstitialFlowType` | `string` | `email_verification` | Flow type requested for the auto-shown interstitial. |\n\n### Packaged publishable key\n\nFor a client-specific script-tag build, package the publishable key into the UMD bundle so the client does not pass it in page code. When `baseUrl` and `publishableKey` are omitted, the SDK resolves:\n\n1. Explicit `publishableKey`.\n2. Build-time `UNSHARED_PUBLISHABLE_API_KEY` baked in by `scripts/build.js` (client-specific builds only, e.g. the S3 flow).\n3. Otherwise **no key** — the SDK stays in same-origin proxy mode. There is no hardcoded fallback; builds made without the env var (including every npm release) never carry a usable key.\n\nBuild a client-specific distribution with:\n\n```bash\nUNSHARED_PUBLISHABLE_API_KEY=upk_test_or_client_key npm --prefix sdks/javascript/browser run build\n```\n\nPassing `baseUrl`, including `baseUrl: \"\"`, suppresses the packaged-key fallback\nand keeps proxy mode unless an explicit nonempty `publishableKey` is supplied.\n\nAn explicit nonempty `publishableKey` takes precedence even when `baseUrl` is also\npassed; `baseUrl` suppresses only the packaged-key fallback. Use HTTPS origins\n(HTTP is accepted only for loopback development), and never put a secret `usk_` key\nin browser config. `maxRetries` applies only to eligible reads, not ingestion,\nTrigger or Verify.\n\nThe build applies targeted obfuscation before minification to the packaged publishable key and the default API URL so they are not present as obvious raw string literals in `dist/index.umd.js`. This is only a friction layer against casual source inspection; the browser still reconstructs those values at runtime, and server-side origin allowlists/rate limits remain the real security controls.\n\nThe browser build also runs a markdown confidentiality guard before producing dist files. It removes obvious generated metadata sections and fails if markdown contains confidential metadata markers. Mentions of known key names print warnings by default because those names are sometimes documented intentionally.\n\nLocal overrides:\n\n```bash\nnpm --prefix sdks/javascript/browser run build -- --allow-key-mentions\nnpm --prefix sdks/javascript/browser run build -- --allow-confidential-docs\n```\n\nUse the confidential-docs override only for local investigation; do not commit markdown containing generated system metadata or real key values.\n\n---\n\n## Methods\n\n### Identity and Lifecycle\n\nCall `init({ userId, emailAddress, isPaidSubscriber })` after authenticated identity\nis available, `onRouteChange()` on SPA navigation, and `client.destroy()` on logout\nor teardown. `isPaidSubscriber: false` suppresses collection/submission for that\nuser. `destroy()` clears cached collection/login state and detaches listeners; it\ndoes not erase permanent device/hash cookies or change your application's auth TTL.\n\nInit and MPA collection reuse a paired raw/wire fingerprint cache: the complete raw\nJSON is in per-tab sessionStorage `__unshared_fp_raw`, and the normalized wire view\nis in `__unshared_fp`. SPA events reuse this pair rather than recollecting; overlapping\ninit/MPA collection shares one pending collection per SDK instance. Old wire-only\ncaches are recollected. In-memory fallback keeps the current instance usable when\nstorage is blocked, but cannot persist across reloads.\n\nEligible init/route submission activity refreshes readable correlation cookies to\nrolling **400 days (`Max-Age=34560000`) before deduplication**, even if no new event\nis sent: `__unshared_stable_hash`, `__unshared_full_hash`, `__unshared_device_id`,\nlegacy stable alias `__unshared_fp_id`, and `__unshared_sid`. The permanent\n`__unshared_device_id=upid_<uuid-v4>` is independent of mutable hashes, backed by\nlocalStorage; an existing valid localStorage ID takes precedence over a cookie when\nrestoring it. Cookies use `Path=/`, `SameSite=Lax` and `Secure` on HTTPS. Browser\nprivacy controls, storage blocking and user deletion can shorten retention.\n\nWith the protection proxy, the server also writes the legacy HttpOnly\n`__unshared_fingerprint_id`: it preserves the first full hash, while canonical\n`__unshared_full_hash` tracks the current collection. Only a server response can\nrenew that HttpOnly alias. These correlation lifetimes do not extend authentication:\nthe SDK UID/email server cookies retain their existing 365-day TTL and the\nverification challenge remains ten minutes. The per-tab collection cache is not a\n400-day fingerprint snapshot.\n\nLifecycle submissions share `window.__unshared.lastKey` with the inline middleware\nscript and mirror the last `(user, pathname + query)` in sessionStorage. Consecutive\nduplicates are suppressed, including reloads in the tab; A-to-B-to-A can submit\nagain. This is not guaranteed delivery: no persistent replay queue is maintained,\nold queue entries are discarded, and failed ingestion is not retried.\n\n### `collect()`\n\nCollect a browser fingerprint. Returns a `FingerprintWireFormat` object ready to pass to `submitFingerprintEvent`.\n\n```typescript\nconst fingerprint = await client.collect();\n```\n\n### `collectRaw()`\n\nCollect the fingerprint library's complete JSON object without reducing it to the compatibility wire type.\n\n```typescript\nconst rawFingerprint = await client.collectRaw();\n```\n\n---\n\n### `submitFingerprintEvent(fingerprint, opts?)`\n\nSend the fingerprint to your backend's `/__unshared/submit-fp` route. Fire-and-forget — you don't need to await this unless you want delivery confirmation.\n\n```typescript\n// Fire and forget (recommended)\nclient.submitFingerprintEvent(fingerprint, {\n  userId:    currentUser?.id,  // optional\n  eventType: 'page_view',      // optional\n});\n\n// Awaited (if you need delivery confirmation)\nconst result = await client.submitFingerprintEvent(fingerprint);\nif (!result.success) {\n  console.warn('Delivery failed:', result.error?.message);\n}\n```\n\n**Options:**\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `userId` | `string` | ID of the logged-in user |\n| `eventType` | `string` | Event label (e.g. `\"page_view\"`, `\"login\"`) |\n\n---\n\n### `submitFingerprint(payload)`\n\nSubmit any JSON object without reshaping or filtering unknown fields. Direct mode encrypts the complete object with the publishable key; proxy mode keeps the browser-to-customer hop plaintext so middleware can add trusted context before encrypting the final request to Unshared.\n\n```typescript\nawait client.submitFingerprint({\n  fingerprint: await client.collectRaw(),\n  context: {\n    identity: { user_id: currentUser?.id },\n    event: { type: location.pathname + location.search },\n  },\n});\n```\n\nThe payload must be a non-null JSON object; arrays and primitives fail locally with `VALIDATION_ERROR`. Direct requests larger than 1 MiB fail locally with `REQUEST_TOO_LARGE`. Direct ingestion succeeds only on a strict `202` v3 acknowledgement.\n\nProxy submissions have a fixed **100 KiB (102,400 serialized UTF-8 bytes)** limit,\ncompatible with an upstream default `express.json()` without configuration or\nmiddleware reordering. Structured submissions send the full snapshot if it fits;\notherwise they empty local/session storage lists while retaining all cookies, then\nomit `context.browser_storage` if still too large. The complete raw fingerprint,\nincluding future fields, and core identity/device/session/SDK/event metadata are\nnever trimmed. Oversized core payloads return `REQUEST_TOO_LARGE` without sending;\nthe inline submitter logs that code. Low-level `submitFingerprint(payload)` never\nreduces arbitrary caller objects: it sends them exactly or rejects above 100 KiB.\nDirect mode keeps full snapshots and its existing 1 MiB logical / 1.5 MiB encrypted\nlimits. Duplicate fingerprint caches and legacy queues are excluded from snapshots.\n\n---\n\n### Direct-mode API (requires `publishableKey`)\n\nAll four methods default to the identity captured by `init()` (email + stable fingerprint hash as deviceId); pass `{ email, deviceId }` to override. In proxy mode they return `error.code === 'DIRECT_MODE_REQUIRED'` — proxy-mode apps get these flows from their own backend middleware.\n\n| Method | Retries | Returns |\n|--------|---------|---------|\n| `checkUser(opts?)` | bounded availability failures only | `{ is_user_flagged, decision_id, decision_code }` |\n| `triggerEmailVerification(opts?)` | **never** (each call emails a code) | `{ verification_id, next_allowed_at, retry_after_seconds }`; the SDK retains the challenge for `verify(...)` |\n| `verify(code, opts?)` | **never** (attempts are budgeted) | Exact verified/not-verified result; UUIDv4 challenges and 6-digit OTPs are validated locally |\n| `verifyEmail({ verification_id, code })` | **never** | Verification for an explicit challenge ID; reconciles flagged state when retained identity is available |\n| `emailVerificationStatus(opts?)` | yes | `{ can_send: boolean, next_allowed_at }` |\n\nV3 methods require exact success/error envelopes and endpoint-specific status/result shapes. After `verified: true`, the SDK performs one no-retry `checkUser` reconciliation; sticky flagged state is cleared only by a strict available unflagged decision, never by Verify alone or `CHECK_UNAVAILABLE`.\n\n---\n\n## Interstitial modal\n\nInstead of wiring your own remediation UI, the SDK can render a **server-driven\ninterstitial modal** (e.g. an email-OTP verification flow) when a user is flagged. The\nflow is authored in the Unshared dashboard and stored per company; the SDK fetches the\npublished definition from `GET /v2/browser/interstitial-flow`, renders it in a\nShadow-DOM-isolated modal, and routes the flow's actions back through\n`triggerEmailVerification()` / `verify()` above — so all verification logic stays\nserver-side. Direct mode uses `publishableKey`; proxy mode is described below.\n\n**Proxy mode is supported too.** When the SDK is constructed with `baseUrl` (no `publishableKey`) and your backend runs the Node middleware, `showInterstitial()` fetches the flow through `GET {baseUrl}/__unshared/interstitial-flow` and runs the modal's actions through the middleware's `/__unshared/verify-trigger` and `/__unshared/verify` routes. The secret key never leaves your server, and the user's identity is resolved server-side; the browser sends only the OTP. Configure the middleware's trusted `emailAddress` resolver (preferred over the `__unshared_email` cookie fallback).\n\nPublish the requested web flow for your company in the dashboard before enabling\nthe modal; a draft/missing flow cannot render. A modal or blur alone is not access\ncontrol: use server-side gate/403 enforcement for protected content. Verification\nrate limits and attempt budgets are existing platform controls, not new browser\nfunctionality; additional custom gates/rate limits belong to your app or gateway.\n\n### `showInterstitial(opts?)`\n\nFetch and render the published flow on demand. No-op if a modal is already open.\n\n```typescript\nconst sdk = new UnsharedBrowser({ publishableKey: 'upk_…' });\nawait sdk.init({ userId, emailAddress });\n\n// e.g. from your own flagged handler:\nawait sdk.showInterstitial();                       // default flow_type, web variant\nawait sdk.showInterstitial({ flowType: 'email_verification', container: myEl });\n```\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `flowType` | `string` | constructor's `interstitialFlowType` or `email_verification` | Which published flow to fetch |\n| `container` | `HTMLElement` | `document.body` | Where to mount the modal |\n\nReturns `{ success, data: { shown } }`; rendering errors are swallowed (never-throw).\n`shown` is `false` when a modal was already open.\n\n### Auto-show\n\nSet `enableInterstitial: true` to render the modal automatically the first time the\n`unshared:flagged` event fires (dispatched by the proxy-mode injected script, or by your\nown code). If you detect flagging via [`createFetchInterceptor`](#error-handling) /\n`createAxiosInterceptor` instead, call `sdk.showInterstitial()` from your `onFlagged`\nhandler.\n\n```typescript\nconst sdk = new UnsharedBrowser({ publishableKey: 'upk_…', enableInterstitial: true });\nawait sdk.init({ userId, emailAddress });\n// On the next `unshared:flagged` event, the modal renders itself.\n```\n\n`destroy()` removes any open modal and detaches the listener.\n\n---\n\n## Backend requirement\n\nThe SDK sends fingerprints to `{baseUrl}/__unshared/submit-fp`. Your backend must handle this route. If you're using `unshared-clientjs-sdk`, the `unsharedBoundToUser` middleware sets this up automatically:\n\n```typescript\n// On your Express backend\nimport express from 'express';\nimport { UnsharedClient } from 'unshared-clientjs-sdk';\nimport { unsharedBoundToUser } from 'unshared-clientjs-sdk';\n\nconst app = express();\nconst client = new UnsharedClient({ apiKey: process.env.UNSHARED_API_KEY });\n\napp.use(express.json());\n// Mount your authentication/session middleware before the SDK.\nconst middleware = unsharedBoundToUser(client, {\n  userId: (req) => req.session?.user?.id,\n  emailAddress: (req) => req.session?.user?.email,\n});\napp.use(middleware);\n// Call middleware.destroy() on server shutdown/test teardown/before re-mounting.\n```\n\nNode `includePathPrefix` scopes ordinary checks/enforcement/events, not identity\nbootstrap or eligible HTML injection. For example, include `/api/article/` to gate\narticle data while `/api/me/list` remains outside enforcement; the surrounding HTML\ncan still bootstrap fingerprinting. Node `skipPaths` truly bypasses the SDK for\nmatching application requests. These server options are separate from browser\nlifecycle path filters. See the [complete protection config](../node/README.md#protectionconfig).\n\nThe Node middleware serves both `/__unshared/fp.js` (browser SDK) and\n`/__unshared/fingerprint.js` (agent); unavailable bundles return 503 with\n`Cache-Control: no-store`. The Web Standard handler instead requires a manually\nsupplied `fingerprintSdkBundle` for `fp.js` and does not automatically serve\n`fingerprint.js` or `interstitial-flow`; wire those separately when needed.\n\nFor the injected script, middleware `debug: true` exposes PII-free reason codes and\noptional HTTP status in `window.__unshared.lastDecision` and `[Unshared]` debug logs\n(for example `MISSING_UID`, `DEDUP_SKIPPED`, `ASSET_LOAD_ERROR`, `SUBMIT_SUCCESS`).\nMiddleware `disableBotFilter: true` also reaches the inline submitter for E2E tests.\nNeither is a `BrowserConfig` option; the standalone SDK's bot filter is unchanged.\n\n---\n\n## Error handling\n\nAll methods follow a **never-throw** contract. Errors are always returned as a result object — the SDK will not throw or reject under any circumstances.\n\n```typescript\nconst result = await client.submitFingerprintEvent(fingerprint);\n\n// result.success === false means delivery failed\n// result.error.code === 'DELIVERY_FAILED'\n```\n\nRead-only direct calls retry eligible network and 5xx failures. Fingerprint ingestion, Trigger, and Verify are never retried because an ambiguous request may already have committed. Failed ingestion is not queued for replay.\n\n---\n\n## CDN / UMD usage\n\nThe UMD bundle exposes a `window.UnsharedBrowser` namespace object. Destructure the class from it first. If the bundle was built with `UNSHARED_PUBLISHABLE_API_KEY`, the client does not pass a key:\n\n```html\n<script src=\"https://unpkg.com/unshared-frontend-sdk@3.0.0/dist/index.umd.js\"></script>\n<script>\n  const { UnsharedBrowser } = window.UnsharedBrowser;\n\n  // Direct mode using the publishable key packaged into the UMD build.\n  const client = new UnsharedBrowser({});\n\n  client.init({\n    userId: currentUser.id,\n    emailAddress: currentUser.email,\n    isPaidSubscriber: currentUser.hasSubscription,\n  });\n</script>\n```\n\nFor proxy mode instead, pass `baseUrl` explicitly.\n\n---\n\n## Real-browser acceptance coverage\n\nFor Boston Globe style script-tag integration, split client-side browser tests into host-site flows and SDK-owned delivery behavior.\n\n| Area | Cases | Implementation status |\n|------|-------|-----------------------|\n| Signup | Successful signup initiation; duplicate email; missing or invalid password rules. | Host-site auth behavior. Test in the client's browser suite; no SDK code required beyond confirming the script tag remains loaded and does not block the flow. |\n| Identity verification | Correct 6-digit code; wrong code; timeout/expired code. | Host-site or Unshared direct verification UI behavior, depending on who owns the screen. SDK exposes `triggerEmailVerification`, `verify`, and `emailVerificationStatus`; page-level form states must be tested in the client's browser suite. |\n| Signup completion | Success page/message; failure page/message with reason. | Host-site auth behavior. Test in the client's browser suite. |\n| Login | Valid login; wrong email; wrong password; unregistered email; missing password; missing email. | Host-site auth behavior. Test in the client's browser suite while verifying the SDK initializes only after a real identified user is available. |\n| Password reset | Successful reset initiation. | Host-site auth behavior. Test in the client's browser suite. |\n| Password reset completion failures | Wrong current password; mismatched new-password entries; password-rule failures; missing required values. | Host-site auth behavior. Test in the client's browser suite. |\n| Page navigation | Full page loads with script tag; link clicks; forward/back; refresh with same script tag injected. | SDK supports script-tag load, `init`, MPA `DOMContentLoaded`, and SPA route-change submission. Real-browser tests should assert the UMD bundle loads and the client page still renders. |\n| Event firing | Event fires where applicable after user identity is present. | Implemented by `init`, `onRouteChange`, MPA listener, and direct/proxy submit endpoints. Covered by unit tests; should also be verified in real browser against mocked or test backend responses. |\n| Retry | Read-only checks may retry; ingestion, Trigger, and Verify make one attempt and are never queued. | Implemented and unit-tested. |\n","readmeFilename":"README.md"}