{"_id":"@tracetail/vue","_rev":"13-ca56b635749455f42b978b1028de0caf","name":"@tracetail/vue","dist-tags":{"latest":"2.3.15"},"versions":{"2.3.3":{"name":"@tracetail/vue","version":"2.3.3","keywords":["tracetail","fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.3","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://github.com/tracetail/tracetail#readme","bugs":{"url":"https://github.com/tracetail/tracetail/issues"},"dist":{"shasum":"e4c635a0817bf762cc9c6e37d17282fd40b3feb6","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.3.tgz","fileCount":17,"integrity":"sha512-YihWHVX6nx2HxxMLBLifFoyXeLFglTck6tEOLqRRpQ/pPCVaYx+1YfIkCLhhv4Wc0O0A3hllRvWzZk7wSqrboA==","signatures":[{"sig":"MEUCIQCRTP8eX8eTAZPat9RIKi4EQ2kUVeroiNdG/MteSXyLIAIgPDak0LEm+3n5dFAlj0XLw3aQ8HGrJdTT3j1nqjlc/Qw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189089},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"d451f2c515ed45ca9115def1f5257df149d895ec","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail.git","type":"git"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.3_1755012507596_0.1868901628773567","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@tracetail/vue","version":"2.3.4","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.4","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo-vue.tracetail.io","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"11622c65fa8a57fdfd94005fc789bf52585c9b77","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.4.tgz","fileCount":17,"integrity":"sha512-JhAX01L4FeFBzZbMfA0BnhbliOXcGFY0MAsYmwtgUsqMdDt7+P3ZM1Oi0mjqIVeTlqDCwz3kD6L7gzBbB5FpZw==","signatures":[{"sig":"MEQCIGC68wINaP3iAIo9yvva4KOAfPHFMX07so0hFq1MdwfDAiAdDmSR+LnipJ7c/xN/0t2H1ITYeRd/P6g6sgEYoif6rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189298},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"399db2ce5bf979fdbf3c716d6f5cea2b742dea3d","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.4_1760270486461_0.20001159382311573","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@tracetail/vue","version":"2.3.5","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.5","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo-vue.tracetail.io","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"c5c5b017b3a0aee1b3e96f1ad75a0fddb7456f7a","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.5.tgz","fileCount":17,"integrity":"sha512-y4fw53dY5ZiyzxlFKFA6vX0Xq2aNRxK2A99khXr+o2Y4XYp1zyV+U2OIR10K1t08SJo3ouncQFN2nz1bOmuchA==","signatures":[{"sig":"MEUCIFmOkVU1ltgDiDSoJWEvZpFuCa4ThW8sNbUPBsjjnOjzAiEAwP8IXDnTtj2ZL97CCYnc2WdkkAWZVY7eF2Izr+j1M+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189702},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"4b870ab7bdb878499bb22ccd6403faf7eeb65acc","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.5_1760434828137_0.2163121016860967","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"@tracetail/vue","version":"2.3.6","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.6","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo-vue.tracetail.io","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"f39cd7d04ec5d22a3e64a961c53af04f63121f07","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.6.tgz","fileCount":17,"integrity":"sha512-un4pOKiDVM6Lp37pkwE9vMnihC3aQbpwnA9ittHP2SGZw8Ck2QIsSRo59xJdg6shOgnPvXQkNPuvVOPGwrNVOA==","signatures":[{"sig":"MEQCIFvXQT/87fhfiPBLTxyumlJn3bSOBhRZjcCx591WvwqnAiArIJBHMGBMMw8eIdkNh6dqmu8pqreVpmSgDkTQsdyLNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189702},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"e0b6cae88430ce3fbb2dce2b9839085010541ef1","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.6_1760436518674_0.5853226611714293","host":"s3://npm-registry-packages-npm-production"}},"2.3.7":{"name":"@tracetail/vue","version":"2.3.7","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.7","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"998e91111d366e06c389f15a6caceee4f65a5c93","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.7.tgz","fileCount":17,"integrity":"sha512-UVnLn1ql7Lb9ktvRIdSAG/G7rmshH7m4WWYjPoTFl/mSS0Ve61zfLTXieasdhkNWs/Suxqyift2W9M0q5ehD7w==","signatures":[{"sig":"MEYCIQCMAkTVgD9jbNuoQqYmf7MS6gWnxLC/HegnbQYOBVu4mwIhAJwSPHoqGXkW9f3c+gNsvvlKLY/M1x8VkCl+UwpqCS9l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189942},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"b789e57b7716b0c8c54da142274932fbbbf6fef2","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.7_1761232312582_0.836498204980098","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"@tracetail/vue","version":"2.3.8","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.8","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"c9976d485eb0d85e73e9e92ff783567151d3ae34","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.8.tgz","fileCount":16,"integrity":"sha512-uIlVx0tsR0oyr3d0RlSzVrfl+iSr1aH62EUDklBdUv9lpKlBkWnE5P/7f58OouaVMlXKGmc20v3S+nnwOHVGOg==","signatures":[{"sig":"MEQCIEnfJGRSdaTzMBzBF6UIBcfjtSalTbfLfoUZ+lmZxGxoAiBFUdVLJLEhXVFCriD6GXb6pIIpbqHwGJWmh6unHWj9oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143267},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"2c3c4ccf8e5146bc3152888e82fc768afb293d16","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.8_1763118035745_0.5380095011798147","host":"s3://npm-registry-packages-npm-production"}},"2.3.9":{"name":"@tracetail/vue","version":"2.3.9","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.9","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"62b9a96ffd1130a1f03a76de482213d768cd9ce3","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.9.tgz","fileCount":16,"integrity":"sha512-miGmwcpEqoHqjoMVGo5PAsRVx3ro1/UQue62ggFOslBjKAXUb9giGqrLxS8yC9Mz5uS57Kn9wki3O1XljdOP9A==","signatures":[{"sig":"MEQCIExvA/hGhFcGcI6RpXT0DdVTrwnABENKCFAbkzCeWVoZAiBCTCswR619bgW5tcpq7kbNVtdMnpoCuaX2Ta5ABVkN1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143267},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"821d42df589b77face8ae67c23edf01ad7dd41d5","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.9_1768210849186_0.12312371032790015","host":"s3://npm-registry-packages-npm-production"}},"2.3.10":{"name":"@tracetail/vue","version":"2.3.10","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.10","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"2f995befa7c51c5736d77254de6dbc540c252510","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.10.tgz","fileCount":16,"integrity":"sha512-vy93xqpBUPo2vMZBEZbHqya5tDeDdUQsZV2xKKEJ0MeN1/RWApmEm+OLHbQEL6QreqHBblnt62I+TeqqKncR+Q==","signatures":[{"sig":"MEUCIQCFCltGRY8hEGxyBXHqZAe/8d+9KyD8d0TSL0Hd5M0XAwIgEg42G5uVzlh/x4KnRZIfQjLJLzfdWZS2D3i/HQcsd7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143268},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"d3a6a53e3c8fc84ea4e38dc99b1937b26ba08408","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.9.4","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@tracetail/js":"^2.3.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.10_1771365480345_0.07112066017152419","host":"s3://npm-registry-packages-npm-production"}},"2.3.11":{"name":"@tracetail/vue","version":"2.3.11","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.11","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"2b058c80973af165c43bf95987c4c3aa24cad86a","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.11.tgz","fileCount":16,"integrity":"sha512-q15lfUdTrKudtzHn8tES28CKWa8ork7sBk3o3Gz13q6x9CW/XlUv/87Y7HwE80IyZbVgRtKiorA6WbRIHdGw2g==","signatures":[{"sig":"MEQCIC6CXvmAa/z2TV/QD4MdKqY1sQaP/QiztBrop1mYI1UqAiBq37Q/rEHMM3cZ7zsQFiDRaDQcJKhHRhbskEw5xi/6Pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143268},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"2d9f0a52a81affa641a6c696d45db8767b54f027","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.9.4","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@tracetail/js":"^2.3.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.11_1771366130883_0.9912521121426758","host":"s3://npm-registry-packages-npm-production"}},"2.3.12":{"name":"@tracetail/vue","version":"2.3.12","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.12","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"353131ea90ccef13d72d43ca5a234d5ff1240ae7","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.12.tgz","fileCount":16,"integrity":"sha512-pYDSOAJ8SjSg/99CKVhTBYij2NHr0+M8CQLF7AElOwieZyeDT5bUo3TydAFP5O93fgMLGy84stxWExoKaFFNCQ==","signatures":[{"sig":"MEUCIC2YrtXNKVV80eURG5sGvDNkCOmB9XHsDGcBTxCAWUIcAiEA1nmFUy8mZckkvUv6E0ElA/pvl2GAtROs2jGJr5agj/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143370},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"ddeb376a92ead8b10b0f647bc646fd25256daff3","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.12_1780437502853_0.6070507229240971","host":"s3://npm-registry-packages-npm-production"}},"2.3.13":{"name":"@tracetail/vue","version":"2.3.13","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.13","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"b0bd1324b9c6ef0a039f79d4f63665d8ff913344","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.13.tgz","fileCount":17,"integrity":"sha512-xWXBbIObfgiFSgmMoIrqMHkmZ0PN66jCXeRc2D7SkTszQ4ZhiDS3KfXW6G6LIlI5rnAyMpixasdKIC319TbAbg==","signatures":[{"sig":"MEYCIQDb7eCuPy4FDZpfVuQsvz5ZtUUyvJtPi+OBKt3kpCOXBQIhAOYVGhKg57MWigMCgbU6atajQLDn59mxhlc3Xeg34Xb7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190220},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"ba59f898fde0011f1ec44c1402a95b93c5da2f79","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.13_1780774640357_0.04240642131444994","host":"s3://npm-registry-packages-npm-production"}},"2.3.14":{"name":"@tracetail/vue","version":"2.3.14","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","_id":"@tracetail/vue@2.3.14","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"homepage":"https://demo.tracetail.io/vue","bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"dist":{"shasum":"c9e2259b8ef3541f8d1999274ab10bca95c87757","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.14.tgz","fileCount":17,"integrity":"sha512-y8claFoFfMsyep/8thoSc3RV+x/mc5jELxO3frD59RC1d/bpYTCg0BLV2M1kc3w5+JXFBhUanvc6p//cJOEHxA==","signatures":[{"sig":"MEQCIFgXXVzrfrC5pelrgSUK1DT/D0UiK1paHKzEjb6fBQGbAiAFU+OHd2r5QXOvsAg6EnCOVKnHZsLx0KGawQxUPfxrGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190220},"main":"dist/tracetail-vue.cjs.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/tracetail-vue.umd.js","module":"dist/tracetail-vue.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js"}},"gitHead":"43f9935ad40527531c3434b25aebf23fcbac99c4","scripts":{"lint":"eslint src","test":"vitest","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"repository":{"url":"git+https://github.com/tracetail/tracetail-js.git","type":"git","directory":"packages/vue"},"_npmVersion":"11.4.2","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","directories":{},"sideEffects":false,"_nodeVersion":"24.2.0","dependencies":{"@tracetail/js":"^2.3.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","vite":"^5.0.0","tslib":"^2.6.0","rollup":"^4.0.0","vitest":"^1.0.0","typescript":"^5.2.0","@types/node":"^20.0.0","@vue/test-utils":"^2.4.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-vue":"^6.0.0","@vitejs/plugin-vue":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_2.3.14_1780832038993_0.8409545242587642","host":"s3://npm-registry-packages-npm-production"}},"2.3.15":{"name":"@tracetail/vue","version":"2.3.15","description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","type":"module","main":"dist/tracetail-vue.cjs.js","module":"dist/tracetail-vue.esm.js","unpkg":"dist/tracetail-vue.umd.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/tracetail-vue.esm.js","require":"./dist/tracetail-vue.cjs.js","types":"./dist/index.d.ts"}},"scripts":{"build":"rollup -c","test":"vitest","lint":"eslint src","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"homepage":"https://demo.tracetail.io/vue","repository":{"type":"git","url":"git+https://github.com/tracetail/tracetail-js.git","directory":"packages/vue"},"bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"author":{"name":"TraceTail Inc."},"license":"MIT","peerDependencies":{"vue":"^3.0.0"},"dependencies":{"@tracetail/js":"^2.3.15"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-typescript":"^11.0.0","@types/node":"^20.0.0","@vitejs/plugin-vue":"^4.0.0","@vue/test-utils":"^2.4.0","rollup":"^4.0.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-vue":"^6.0.0","tslib":"^2.6.0","typescript":"^5.2.0","vite":"^5.0.0","vitest":"^1.0.0","vue":"^3.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"sideEffects":false,"_id":"@tracetail/vue@2.3.15","gitHead":"cf4856615a7b2e6ea2c8b9b41e4a3a0f3306a000","_nodeVersion":"24.2.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-3NKya0OU1+uR3UcwPyeus14eY3YxuuOahEJwIEZ3swUL+3ZdU9zUB99ormMO/3LFqdmfjehpCnpyxCY77bf/+Q==","shasum":"56742605be3d99017ebb046a17d7abb266cec05a","tarball":"https://registry.npmjs.org/@tracetail/vue/-/vue-2.3.15.tgz","fileCount":18,"unpackedSize":200406,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVosvoADYwRvKa0oRpQozbt+dhzy8NkZPbkKIa41pLawIhAPAArUVscMy25gAfYfDOPy702AdoKPC/XuyweGiTSSRt"}]},"_npmUser":{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"},"directories":{},"maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue_2.3.15_1780833985456_0.16674801265883565"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-12T15:28:27.461Z","modified":"2026-06-07T12:06:25.743Z","2.3.3":"2025-08-12T15:28:27.790Z","2.3.4":"2025-10-12T12:01:26.638Z","2.3.5":"2025-10-14T09:40:28.331Z","2.3.6":"2025-10-14T10:08:38.873Z","2.3.7":"2025-10-23T15:11:52.780Z","2.3.8":"2025-11-14T11:00:35.936Z","2.3.9":"2026-01-12T09:40:49.336Z","2.3.10":"2026-02-17T21:58:00.497Z","2.3.11":"2026-02-17T22:08:51.031Z","2.3.12":"2026-06-02T21:58:23.005Z","2.3.13":"2026-06-06T19:37:20.494Z","2.3.14":"2026-06-07T11:33:59.123Z","2.3.15":"2026-06-07T12:06:25.598Z"},"bugs":{"url":"https://github.com/tracetail/tracetail-js/issues"},"author":{"name":"TraceTail Inc."},"license":"MIT","homepage":"https://demo.tracetail.io/vue","keywords":["tracetail","fingerprinting","browser-fingerprinting","browser-fingerprint","device-fingerprint","fraud-detection","vue","vue3","composition-api","security","identification","live-demo"],"repository":{"type":"git","url":"git+https://github.com/tracetail/tracetail-js.git","directory":"packages/vue"},"description":"Vue SDK for TraceTail browser fingerprinting - over 99.5% accuracy","maintainers":[{"name":"tracetail-publisher","email":"grubs_nurses09@icloud.com"}],"readme":"# @tracetail/vue\n\nOfficial Vue 3 SDK for TraceTail - Enterprise Browser Fingerprinting with over 99.5% accuracy.\n\n[![npm version](https://img.shields.io/npm/v/@tracetail/vue.svg)](https://www.npmjs.com/package/@tracetail/vue)\n[![Downloads](https://img.shields.io/npm/dm/@tracetail/vue)](https://www.npmjs.com/package/@tracetail/vue)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n[![Vue](https://img.shields.io/badge/Vue-3%2B-green.svg)](https://vuejs.org/)\n\n## Features\n\n- 🎯 **Over 99.5% Accuracy** - Industry-leading browser fingerprinting\n- ⚡ **<25ms Performance** - Lightning-fast fingerprint generation\n- 🛡️ **Fraud Detection** - Built-in risk scoring and fraud prevention\n- 🔄 **Real-time Updates** - Live visitor tracking and analytics\n- 📦 **27KB Bundle** - Lightweight and optimized\n- 🎨 **Vue 3 Composition API** - Modern, reactive API design\n\n## Installation\n\n```bash\nnpm install @tracetail/vue\n```\n\n## Quick Start\n\n### 1. Install Plugin\n\n```js\n// main.js\nimport { createApp } from 'vue';\nimport { TraceTailPlugin } from '@tracetail/vue';\nimport App from './App.vue';\n\nconst app = createApp(App);\n\napp.use(TraceTailPlugin, {\n  apiKey: 'your-api-key-here',\n  config: {\n    enhanced: true\n  }\n});\n\napp.mount('#app');\n```\n\n### 2. Use in Components\n\n```vue\n<template>\n  <div v-if=\"loading\">Loading...</div>\n  <div v-else>\n    <p>Visitor: {{ visitorId }}</p>\n    <p>Risk: {{ riskScore < 0.3 ? 'Low' : 'High' }}</p>\n  </div>\n</template>\n\n<script setup>\nimport { useFingerprint } from '@tracetail/vue';\n\nconst { visitorId, riskScore, loading } = useFingerprint();\n</script>\n```\n\n## Composables\n\n### 🔍 useFingerprint()\n\nGet visitor fingerprint data:\n\n```js\nconst {\n  visitorId,      // Ref<string>\n  confidence,     // Ref<number> 0-1\n  riskScore,      // Ref<number> 0-1\n  fraudulent,     // Ref<boolean>\n  signals,        // Ref<SignalData>\n  loading,        // Ref<boolean>\n  error,          // Ref<Error | null>\n  retry,          // () => Promise<void>\n  refresh         // () => Promise<void>\n} = useFingerprint();\n```\n\n### 📊 Sending app events\n\n`@tracetail/vue` does **not** implement a hosted event-tracking API. Instead, collect a fingerprint in the browser and send the identifiers you need to your own backend:\n\n```js\nimport { useFingerprint } from '@tracetail/vue';\n\nconst { visitorId } = useFingerprint();\n\nconst handleLogin = async () => {\n  await fetch('/api/events/login', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application/json' },\n    body: JSON.stringify({\n      visitorId: visitorId.value,\n      username: 'user@example.com'\n    })\n  });\n};\n```\n\n### 🛡️ useFraudDetection()\n\nAdvanced fraud detection:\n\n```js\nconst { checkFraud, fraudSignals, isChecking } = useFraudDetection();\n\nconst handleCheckout = async (orderData) => {\n  const result = await checkFraud({\n    amount: orderData.total,\n    items: orderData.items\n  });\n  \n  if (result.block) {\n    // Block transaction\n  } else if (result.challenge) {\n    // Show additional verification\n  }\n};\n```\n\n## Examples\n\n### Authentication Guard\n\n```vue\n<template>\n  <form @submit.prevent=\"login\">\n    <div v-if=\"riskScore > 0.7\" class=\"warning\">\n      High risk detected - verification required\n    </div>\n    \n    <input v-model=\"username\" placeholder=\"Username\" />\n    <input v-model=\"password\" type=\"password\" />\n    \n    <button :disabled=\"isSubmitting\">\n      {{ isSubmitting ? 'Logging in...' : 'Login' }}\n    </button>\n  </form>\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { useFingerprint } from '@tracetail/vue';\nimport { useRouter } from 'vue-router';\n\nconst router = useRouter();\nconst { riskScore, visitorId } = useFingerprint();\n\nconst username = ref('');\nconst password = ref('');\nconst isSubmitting = ref(false);\n\nconst login = async () => {\n  isSubmitting.value = true;\n  \n  try {\n    if (riskScore.value > 0.7) {\n      router.push('/verify');\n      return;\n    }\n\n    await fetch('/api/events/login-attempt', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        visitorId: visitorId.value,\n        username: username.value\n      })\n    });\n    \n    await loginAPI({ username: username.value, password: password.value });\n    router.push('/dashboard');\n  } finally {\n    isSubmitting.value = false;\n  }\n};\n</script>\n```\n\n### Fraud Detection Directive\n\n```js\n// main.js\napp.directive('fraud-detection', {\n  mounted(el, binding) {\n    const { riskScore } = useFingerprint();\n    \n    watch(riskScore, (score) => {\n      if (score > (binding.value || 0.5)) {\n        el.classList.add('high-risk');\n        el.disabled = true;\n      }\n    });\n  }\n});\n```\n\nUsage:\n```vue\n<button v-fraud-detection=\"0.7\">\n  Complete Purchase\n</button>\n```\n\n### Nuxt 3 Module\n\n```js\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@tracetail/nuxt'],\n  tracetail: {\n    apiKey: process.env.TRACETAIL_API_KEY\n  }\n});\n```\n\n## TypeScript Support\n\nFull TypeScript support with type definitions:\n\n```vue\n<script setup lang=\"ts\">\nimport { useFingerprint, type Fingerprint } from '@tracetail/vue';\n\nconst { visitorId } = useFingerprint();\n\nconst processFingerprint = (fp: Fingerprint) => {\n  console.log(fp.visitorId, fp.confidence);\n};\n</script>\n```\n\n## Options API Support\n\nAlso works with Options API:\n\n```vue\n<script>\nexport default {\n  mounted() {\n    this.$tracetail.getFingerprint().then(fp => {\n      console.log('Visitor:', fp.visitorId);\n    });\n  }\n};\n</script>\n```\n\n## Testing\n\nMock TraceTail in tests:\n\n```js\nimport { mount } from '@vue/test-utils';\nimport { TraceTailPlugin } from '@tracetail/vue';\n\nconst wrapper = mount(Component, {\n  global: {\n    plugins: [[TraceTailPlugin, {\n      apiKey: 'test-key',\n      config: {\n        testMode: true,\n        mockData: {\n          visitorId: 'test-123',\n          riskScore: 0.1\n        }\n      }\n    }]]\n  }\n});\n```\n\n## API Reference\n\n### Plugin Options\n\n```js\n{\n  apiKey: string;        // Required\n  config?: {\n    enhanced?: boolean;  // Enhanced accuracy (default: true)\n    timeout?: number;    // Request timeout ms (default: 5000)\n    endpoint?: string;   // API endpoint\n    testMode?: boolean;  // Test mode\n    mockData?: object;   // Mock data for testing\n  }\n}\n```\n\n### Types\n\n```typescript\ninterface Fingerprint {\n  visitorId: string;\n  confidence: number;      // 0-1\n  riskScore: number;      // 0-1\n  fraudulent: boolean;\n  signals: SignalData;\n  timestamp: Date;\n}\n\ninterface FraudResult {\n  block: boolean;\n  challenge: boolean;\n  allow: boolean;\n  riskScore: number;\n  reasons: string[];\n}\n```\n\n## Support\n\n- 📚 [Documentation](https://docs.tracetail.com/vue)\n- 💬 [Discord Community](https://discord.gg/tracetail)\n- 📧 [Email Support](mailto:support@tracetail.io)\n- 🐛 [Issue Tracker](https://github.com/tracetail/tracetail/issues)\n\n## License\n\nMIT - see [LICENSE](LICENSE) for details.","readmeFilename":"README.md"}