{"_id":"@capgo/capacitor-device-integrity","_rev":"9-10c1f652f35f33556e9277fa9915686f","name":"@capgo/capacitor-device-integrity","dist-tags":{"latest":"8.0.9"},"versions":{"8.0.2":{"name":"@capgo/capacitor-device-integrity","version":"8.0.2","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"64ac71c82e2ef9128453a41c78461d7b0724fe29","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.2.tgz","fileCount":27,"integrity":"sha512-S/NaSD6V55C5vzTAmW2JTFVthlDF+G8sjfAXOlXNXAEiSvNSauAE3jhzBb9p2udLdk5kz/ZSeyBjyX9nPNwDjw==","signatures":[{"sig":"MEYCIQDMMfI6sefNUSpSY4Wsvx5GNRB1aQtqH6X6Zr8RKQ7yjQIhAMdJWBsIAauyufY3TZ8AmdI4+jhdzUg2EekCFqRfBOSd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110661},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"803c4058fe41cf200cd5478057dd16857964a347","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.2_1780563776632_0.24780425157336783","host":"s3://npm-registry-packages-npm-production"}},"8.0.3":{"name":"@capgo/capacitor-device-integrity","version":"8.0.3","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.3","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"103a15bca534cfad77f2afd69ea97df83ffa5d1e","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.3.tgz","fileCount":27,"integrity":"sha512-JQsA4lmM4yuuDlpdb+ZnOiFCclDWQk/lYkrifzQg7QTS235OA/XDudKMjt5U55Df1eM5oKXYxnAZW1sADmW+Vg==","signatures":[{"sig":"MEUCICqFOPtZDozEHBpnX774jb7LdFBk8K6ZVVHZI7HzxKUgAiEAiSRF7Nu5FmGhgOVu4YlPMA4jIT05rliF2YkUg4iFxCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110661},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"75f6e5827c642d09cfd3fbd8be4f2c72d06a971a","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.3_1780609996367_0.2180938518104245","host":"s3://npm-registry-packages-npm-production"}},"8.0.4":{"name":"@capgo/capacitor-device-integrity","version":"8.0.4","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.4","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"8747df59a096c54f0774d0701b72db14f8c89cac","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.4.tgz","fileCount":27,"integrity":"sha512-ReAK1WYge86Qku1fvQfbGAuCV4ixJP7c/6KdkMRuD/R/x6vUpHsHm0wevnUQLC8XjPCTZx8I87XMs/lt0nFZyQ==","signatures":[{"sig":"MEUCIQCcz390AjYcI/ZFj5tb771SYKsVHsdI/Fv+lf/CDiWMpAIgLh0ZmF91WX7YfVgzvpO0iPuUfpxC0Ldrtn8Utuk8hC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110934},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"1da935ade87a1f5d4f856ee8bb469949d8be54f8","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.4_1781571206193_0.5549297915336706","host":"s3://npm-registry-packages-npm-production"}},"8.0.5":{"name":"@capgo/capacitor-device-integrity","version":"8.0.5","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.5","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"99243cd0372625dccb1e461c0d164f08c8f0e5d3","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.5.tgz","fileCount":27,"integrity":"sha512-e02MW19p7eJZe7X5gfVV/whoElbCg82ZIcaK5SbVpki/o5MXTldH1Z7aN8gTavRebEPwghWtjc1jaG6E7yPyXg==","signatures":[{"sig":"MEUCIH1uWSsmGeX4JzSZlJE2sPJdIXXhEXregk+2Smg8lfg4AiEA4GrrIUEKXrkborN6kk11On5F0HZlvPKQ0RDr49ZzM2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111473},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"8f005c0344dacb56f522fda3657e253c9462de19","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.5_1781603915356_0.8333930695782892","host":"s3://npm-registry-packages-npm-production"}},"8.0.6":{"name":"@capgo/capacitor-device-integrity","version":"8.0.6","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.6","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"28bf43358f732826906496290a5805436172746d","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.6.tgz","fileCount":27,"integrity":"sha512-cL1wCfZymUbzE0RHi+NNeJtfjDjsfnSipXtyxtRfwdb+e6CcADwNpXQQgB1hMBFA6Oxov47QenqxhK6DsgGATQ==","signatures":[{"sig":"MEUCIQC7LKTHtO1ZtmBVZ9T8XjGtTVbvXrRgAvSmtmysTKyQqQIgAMXck0EoD5s3A5XREK5VjqPvZRef3IRDbDRNHbccLYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111473},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"a4ca4c144180fc8f01221a0e3b7005fb5000251c","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.6_1781624571891_0.8808155511496822","host":"s3://npm-registry-packages-npm-production"}},"8.0.7":{"name":"@capgo/capacitor-device-integrity","version":"8.0.7","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.7","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"a3666d6a84fd6bbc109673d13f7c0e13fefb083a","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.7.tgz","fileCount":27,"integrity":"sha512-LPhP5mfulAle36mPWRmEmOX3Yd9wKt4mtCsTLtsa3kRKBQGyJp6+nmPJES/XgKPEanP/XzWpEroziYQlFDepjA==","signatures":[{"sig":"MEYCIQDnsUj0DO4NnJIAR2QGtIqxwOha8nLMMJcbKsZwDCTUSwIhAPO4R2f2AZcXNRJj8BuNb9J+0BkPC+UbNMbd1J1g0qO5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111380},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"dfd9e66ebe07864676f54bb86b6df376f96cadcf","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.13.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.7_1781871163410_0.7357796568114021","host":"s3://npm-registry-packages-npm-production"}},"8.0.8":{"name":"@capgo/capacitor-device-integrity","version":"8.0.8","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-device-integrity@8.0.8","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/device-integrity/","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"64c8ef2e71b1d0b73011f85f0c90dfe03014ddbd","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.8.tgz","fileCount":27,"integrity":"sha512-ZeYqlAxZWifHWJHPKS35b+zI1UE7UUeKSIfSNEKe5y6W+ANFpZ81k9+TkbTHAh0qNFttBafDVIm0d5PxHKoIHw==","signatures":[{"sig":"MEYCIQD6TKtQv59NXPxhkt2fx1L9iZec9HD6CA+YINpYlhI5IQIhAI4XJ7d3x0vqYwi2HD019NEK1TMyFhE6FNOh6OWv8tE3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111442},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"73cfbc7bdfcf8dc2fcdfb243334ee81b9b33b9c7","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.16.0","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-device-integrity_8.0.8_1783764819910_0.717473027123454","host":"s3://npm-registry-packages-npm-production"}},"8.0.9":{"_id":"@capgo/capacitor-device-integrity@8.0.9","bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"dist":{"shasum":"df2ec48aa53f613ac9139a9f9a957ef1d4c920ad","tarball":"https://registry.npmjs.org/@capgo/capacitor-device-integrity/-/capacitor-device-integrity-8.0.9.tgz","integrity":"sha512-ImTyvoTXYjZIPud4jOQQqEUtdR2B34g31b+D/OOMue7p3al+uegt3oy8LyhxPS2hWgBeoeU92iKxLscpbIIVKw==","fileCount":27,"unpackedSize":111513,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-device-integrity@8.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCoz8dquh79HFnZweMHp6GqMbOy5njitAunJt6kcMhrRwIhALFvmUYBbsfVlwolKbg3a0nBTXOStMNxUZ92nLp3IKl/"}]},"main":"dist/plugin.cjs.js","name":"@capgo/capacitor-device-integrity","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"module":"dist/esm/index.js","gitHead":"71363b20ae417c88fb08ff7d75cf8c55f5dd94a5","license":"MPL-2.0","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api DeviceIntegrityPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorDeviceIntegrity -destination generic/platform=iOS","verify:web":"bun run build","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","example:install":"cd example-app && bun install --frozen-lockfile","check:cap9-deprecated":"node scripts/check-cap9-deprecated.mjs"},"version":"8.0.9","_npmUser":{"name":"torichancapgo","email":"tori@capgo.app","approver":{"name":"torichancapgo","email":"tori@capgo.app"}},"homepage":"https://capgo.app/docs/plugins/device-integrity/","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"_npmVersion":"11.19.1","description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","directories":{},"maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"_nodeVersion":"24.20.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-device-integrity_8.0.9_1789497216833_0.14134941133489543"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T09:02:56.456Z","modified":"2026-09-15T18:33:37.210Z","8.0.2":"2026-06-04T09:02:56.783Z","8.0.3":"2026-06-04T21:53:16.528Z","8.0.4":"2026-06-16T00:53:26.336Z","8.0.5":"2026-06-16T09:58:35.482Z","8.0.6":"2026-06-16T15:42:52.062Z","8.0.7":"2026-06-19T12:12:43.585Z","8.0.8":"2026-07-11T10:13:40.055Z","8.0.9":"2026-09-15T18:33:36.923Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-device-integrity/issues"},"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","homepage":"https://capgo.app/docs/plugins/device-integrity/","keywords":["capacitor","device-integrity","fraud-detection","widevine","app-attest","devicecheck","play-integrity","capgo"],"repository":{"url":"git+https://github.com/Cap-go/capacitor-device-integrity.git","type":"git"},"description":"Device integrity and fraud signals for Capacitor using Android Widevine, Play Integrity, iOS App Attest, and DeviceCheck.","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"readme":"# @capgo/capacitor-device-integrity\n\n<a href=\"https://capgo.app/\"><img src=\"https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-device-integrity\" alt=\"Capgo - Instant updates for Capacitor\" /></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin_device_integrity\">Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin_device_integrity\">Missing a feature? We will build the plugin for you</a></h2>\n</div>\n\nDevice integrity and fraud signals for Capacitor:\n\n- Android: Widevine DRM fingerprint and Play Integrity Standard API attestation.\n- iOS: Apple App Attest and DeviceCheck.\n- Web: unsupported fallback that reports no native capabilities.\n\n## Security model\n\nThis plugin is designed for fraud and abuse detection. It does not make client-side values trustworthy by itself.\n\n- Verify App Attest and Play Integrity tokens on your backend.\n- Treat Widevine values as sensitive identifiers.\n- Disclose identifier use in your privacy policy.\n- Do not use Android Widevine values for advertising or cross-app tracking.\n- Do not attempt iOS fingerprinting. Apple does not provide a public review-safe stable device ID for this use case.\n\n## Compatibility\n\n| Plugin version | Capacitor compatibility | Maintained |\n| -------------- | ----------------------- | ---------- |\n| v8.*.*         | v8.*.*                  | Yes        |\n| v7.*.*         | v7.*.*                  | On demand  |\n| v6.*.*         | v6.*.*                  | On demand  |\n\n## Install\n\nYou can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:\n\n```bash\nnpx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```text\nUse the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-device-integrity` plugin in my project.\n```\n\nIf you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capgo/capacitor-device-integrity\nnpx cap sync\n```\n\n## Platform setup\n\n### Android\n\nWidevine fingerprinting does not require extra permissions.\n\nPlay Integrity requires Google Play services and a Cloud project number:\n\n```ts\n// capacitor.config.ts\nplugins: {\n  DeviceIntegrity: {\n    cloudProjectNumber: '123456789012'\n  }\n}\n```\n\nYou can also pass `cloudProjectNumber` directly to the attestation methods.\n\n### iOS\n\nEnable the App Attest capability in Xcode:\n\n1. Open your app target.\n2. Go to Signing & Capabilities.\n3. Add App Attest.\n4. Test on a physical device when validating real App Attest and DeviceCheck behavior.\n\n## Usage\n\n```ts\nimport { DeviceIntegrity } from '@capgo/capacitor-device-integrity';\n\nconst capabilities = await DeviceIntegrity.getCapabilities();\n\nif (capabilities.platform === 'android' && capabilities.widevine.fingerprintAvailable) {\n  const widevine = await DeviceIntegrity.getWidevineFingerprint();\n  await api.saveDeviceSignal({\n    widevineIdSha256: widevine.widevineIdSha256,\n    fingerprint: widevine.fingerprint,\n    securityLevel: widevine.securityLevel,\n  });\n}\n\nif (capabilities.appAttest.supported || capabilities.playIntegrity.supported) {\n  const prepared = await DeviceIntegrity.prepareAttestation();\n  const challenge = await api.createDeviceChallenge();\n\n  const attestation = await DeviceIntegrity.createAttestation({\n    keyId: prepared.keyId,\n    challenge,\n  });\n\n  await api.verifyDeviceAttestation(attestation);\n}\n\nif (capabilities.deviceCheck.supported) {\n  const deviceCheck = await DeviceIntegrity.getDeviceCheckToken();\n  await api.verifyDeviceCheckToken(deviceCheck.token);\n}\n```\n\n## Backend handling\n\nStore the platform-specific evidence with the user record only after server-side checks:\n\n- Android Widevine: store `widevineIdSha256` and optionally the raw `widevineIdBase64` only when you explicitly need it.\n- Android Play Integrity: decode the returned token with Google's server API and validate request hash, package name, certificate digest, and device/app integrity verdicts.\n- iOS App Attest: verify the attestation object/assertion against Apple's App Attest rules, app identity, nonce, public key, and counter.\n- iOS DeviceCheck: send the token to Apple's DeviceCheck server API and maintain fraud bits on your backend.\n\n## API\n\n<docgen-index>\n\n* [`getCapabilities()`](#getcapabilities)\n* [`getWidevineFingerprint(...)`](#getwidevinefingerprint)\n* [`prepareAttestation(...)`](#prepareattestation)\n* [`createAttestation(...)`](#createattestation)\n* [`createAssertion(...)`](#createassertion)\n* [`getDeviceCheckToken()`](#getdevicechecktoken)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### getCapabilities()\n\n```typescript\ngetCapabilities() => Promise<DeviceIntegrityCapabilities>\n```\n\nReturns the native integrity capabilities available on the current platform.\n\n**Returns:** <code>Promise&lt;<a href=\"#deviceintegritycapabilities\">DeviceIntegrityCapabilities</a>&gt;</code>\n\n--------------------\n\n\n### getWidevineFingerprint(...)\n\n```typescript\ngetWidevineFingerprint(options?: WidevineFingerprintOptions | undefined) => Promise<WidevineFingerprintResult>\n```\n\nReturns an Android Widevine-derived fingerprint.\n\nThe default `fingerprint` is SHA-256 over the Widevine device unique ID and a salt.\nIf `hashSalt` is not provided, Android uses the app package name as the salt.\n\nThe raw Widevine ID is sensitive and is only returned as base64 when `includeRawId` is true.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#widevinefingerprintoptions\">WidevineFingerprintOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#widevinefingerprintresult\">WidevineFingerprintResult</a>&gt;</code>\n\n--------------------\n\n\n### prepareAttestation(...)\n\n```typescript\nprepareAttestation(options?: PrepareAttestationOptions | undefined) => Promise<PrepareAttestationResult>\n```\n\nPrepares native attestation state and returns the key/provider handle.\n\niOS: creates an App Attest key.\nAndroid: prepares a Play Integrity Standard token provider.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#prepareattestationoptions\">PrepareAttestationOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#prepareattestationresult\">PrepareAttestationResult</a>&gt;</code>\n\n--------------------\n\n\n### createAttestation(...)\n\n```typescript\ncreateAttestation(options: CreateAttestationOptions) => Promise<AttestationTokenResult>\n```\n\nCreates a registration attestation token bound to a backend-issued challenge.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#createattestationoptions\">CreateAttestationOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#attestationtokenresult\">AttestationTokenResult</a>&gt;</code>\n\n--------------------\n\n\n### createAssertion(...)\n\n```typescript\ncreateAssertion(options: CreateAssertionOptions) => Promise<AttestationTokenResult>\n```\n\nCreates a request assertion token bound to a request payload.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#createassertionoptions\">CreateAssertionOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#attestationtokenresult\">AttestationTokenResult</a>&gt;</code>\n\n--------------------\n\n\n### getDeviceCheckToken()\n\n```typescript\ngetDeviceCheckToken() => Promise<DeviceCheckTokenResult>\n```\n\nCreates an iOS DeviceCheck token for server-side fraud-state lookups.\n\n**Returns:** <code>Promise&lt;<a href=\"#devicechecktokenresult\">DeviceCheckTokenResult</a>&gt;</code>\n\n--------------------\n\n\n### Interfaces\n\n\n#### DeviceIntegrityCapabilities\n\n| Prop                | Type                                                                        | Description                              |\n| ------------------- | --------------------------------------------------------------------------- | ---------------------------------------- |\n| **`platform`**      | <code><a href=\"#deviceintegrityplatform\">DeviceIntegrityPlatform</a></code> | Platform currently executing the plugin. |\n| **`widevine`**      | <code><a href=\"#widevinecapabilities\">WidevineCapabilities</a></code>       | Android Widevine DRM support.            |\n| **`appAttest`**     | <code><a href=\"#supportstatus\">SupportStatus</a></code>                     | iOS App Attest support.                  |\n| **`deviceCheck`**   | <code><a href=\"#supportstatus\">SupportStatus</a></code>                     | iOS DeviceCheck support.                 |\n| **`playIntegrity`** | <code><a href=\"#supportstatus\">SupportStatus</a></code>                     | Android Play Integrity support.          |\n\n\n#### WidevineCapabilities\n\n| Prop                             | Type                 | Description                                                 |\n| -------------------------------- | -------------------- | ----------------------------------------------------------- |\n| **`supported`**                  | <code>boolean</code> | Whether the Widevine DRM scheme is supported by the device. |\n| **`fingerprintAvailable`**       | <code>boolean</code> | Whether the Widevine device unique ID can be read.          |\n| **`securityLevelScanSupported`** | <code>boolean</code> | Whether the Widevine security level property can be read.   |\n\n\n#### SupportStatus\n\n| Prop            | Type                 | Description                                                |\n| --------------- | -------------------- | ---------------------------------------------------------- |\n| **`supported`** | <code>boolean</code> | Whether the capability is available on the current device. |\n\n\n#### WidevineFingerprintResult\n\n| Prop                   | Type                    | Description                                                                                 |\n| ---------------------- | ----------------------- | ------------------------------------------------------------------------------------------- |\n| **`platform`**         | <code>'android'</code>  | Always `android`.                                                                           |\n| **`source`**           | <code>'widevine'</code> | Always `widevine`.                                                                          |\n| **`fingerprint`**      | <code>string</code>     | Salted SHA-256 fingerprint for storing alongside a user record.                             |\n| **`widevineIdSha256`** | <code>string</code>     | Unsalted SHA-256 hash of the Widevine device unique ID.                                     |\n| **`widevineIdBase64`** | <code>string</code>     | Raw Widevine device unique ID encoded as base64. Returned only when `includeRawId` is true. |\n| **`securityLevel`**    | <code>string</code>     | Widevine security level when available, for example `L1` or `L3`.                           |\n| **`vendor`**           | <code>string</code>     | DRM vendor when available.                                                                  |\n| **`version`**          | <code>string</code>     | DRM plugin version when available.                                                          |\n| **`description`**      | <code>string</code>     | DRM plugin description when available.                                                      |\n\n\n#### WidevineFingerprintOptions\n\n| Prop               | Type                 | Description                                                                                 |\n| ------------------ | -------------------- | ------------------------------------------------------------------------------------------- |\n| **`includeRawId`** | <code>boolean</code> | Return the raw Widevine device unique ID as base64. Defaults to `false`.                    |\n| **`hashSalt`**     | <code>string</code>  | Optional salt used to derive `fingerprint`. Android uses the app package name when omitted. |\n\n\n#### PrepareAttestationResult\n\n| Prop         | Type                                                            | Description                                                         |\n| ------------ | --------------------------------------------------------------- | ------------------------------------------------------------------- |\n| **`keyId`**  | <code>string</code>                                             | iOS App Attest key ID or Android Play Integrity provider handle ID. |\n| **`format`** | <code><a href=\"#attestationformat\">AttestationFormat</a></code> | Native attestation format used by the current platform.             |\n\n\n#### PrepareAttestationOptions\n\n| Prop                     | Type                | Description                                                                                                                                |\n| ------------------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| **`cloudProjectNumber`** | <code>string</code> | Android only. Google Cloud project number for Play Integrity. Can be configured globally via `plugins.DeviceIntegrity.cloudProjectNumber`. |\n\n\n#### AttestationTokenResult\n\n| Prop         | Type                                                            | Description                                             |\n| ------------ | --------------------------------------------------------------- | ------------------------------------------------------- |\n| **`token`**  | <code>string</code>                                             | Token/assertion that must be verified server-side.      |\n| **`keyId`**  | <code>string</code>                                             | Key/provider handle used to create the token.           |\n| **`format`** | <code><a href=\"#attestationformat\">AttestationFormat</a></code> | Native attestation format used by the current platform. |\n\n\n#### CreateAttestationOptions\n\n| Prop                     | Type                | Description                                                   |\n| ------------------------ | ------------------- | ------------------------------------------------------------- |\n| **`keyId`**              | <code>string</code> | Key/provider handle returned from `prepareAttestation()`.     |\n| **`challenge`**          | <code>string</code> | Backend-issued one-time challenge.                            |\n| **`cloudProjectNumber`** | <code>string</code> | Android only. Google Cloud project number for Play Integrity. |\n\n\n#### CreateAssertionOptions\n\n| Prop                     | Type                | Description                                                   |\n| ------------------------ | ------------------- | ------------------------------------------------------------- |\n| **`keyId`**              | <code>string</code> | Key/provider handle returned from `prepareAttestation()`.     |\n| **`payload`**            | <code>string</code> | Backend-issued one-time request payload or nonce.             |\n| **`cloudProjectNumber`** | <code>string</code> | Android only. Google Cloud project number for Play Integrity. |\n\n\n#### DeviceCheckTokenResult\n\n| Prop        | Type                | Description                              |\n| ----------- | ------------------- | ---------------------------------------- |\n| **`token`** | <code>string</code> | iOS DeviceCheck token encoded as base64. |\n\n\n### Type Aliases\n\n\n#### DeviceIntegrityPlatform\n\n<code>'android' | 'ios' | 'web'</code>\n\n\n#### AttestationFormat\n\n<code>'apple-app-attest' | 'google-play-integrity-standard'</code>\n\n</docgen-api>\n","readmeFilename":"README.md"}