{"_id":"@azify/aziface-web","_rev":"16-6b4fce2a0c14c4c28ded9035916c4793","name":"@azify/aziface-web","dist-tags":{"latest":"1.4.0"},"versions":{"1.0.0":{"name":"@azify/aziface-web","version":"1.0.0","_id":"@azify/aziface-web@1.0.0","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"c840f727f23be518b790d718996bb6476594c3b6","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.0.tgz","fileCount":8,"integrity":"sha512-r4lHHaFL0FgaKEeGrstjVXmisxU4x4VBiqLVDSQCI4vGf/GcGRrIzjjRygsF8UQ8eDbXyCf+OqcFDT2JwGGYHg==","signatures":[{"sig":"MEYCIQCkjYN7ZeDn7zqYd635sLoGJD4HJrv1eQynCc6wlnHfMAIhALSxAW41HZ2bdGVpZa7w70Y/oIDqaK7dy5ctaRLhqlWO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1047283},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"b1788c1931fcff26e6915f000f93ec8105df0d9b","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.0_1774642659950_0.747180507675302","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@azify/aziface-web","version":"1.0.1","_id":"@azify/aziface-web@1.0.1","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"03332710efcb145a886780ced54acc334d6bf9e6","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.1.tgz","fileCount":9,"integrity":"sha512-jDnb9QK0948a/Ib77q3mRgdPk6tbUpFjY+7ZozvXgJLfel6aDMqrh7R+sDuhPMkt9BUF6iViV5EkTnzJeddgkQ==","signatures":[{"sig":"MEYCIQDiFGU6v+4ePcO9vEU+dbemanhxTasHaxftRU/R2vPgoAIhAOjptBCr3OXafsKJ5lV2J65J6UfIGvjNU1XMsRtdEdxR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073444},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"1b53df1c1e427381a0cb8ff3e511df490ac84ac5","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.1_1774979007236_0.9964174800351882","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@azify/aziface-web","version":"1.0.2","_id":"@azify/aziface-web@1.0.2","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"162761be6c056b549dae525ede9a980e61ea3804","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.2.tgz","fileCount":9,"integrity":"sha512-hxK6fBlJQpt3yVZNAYUi+Gg3IkYe0RIJ9OLs7vp8r8Ud+sAbAduLAB8p5OMHh3XK+sweDM9frxoL4z12HloqNQ==","signatures":[{"sig":"MEYCIQDedgoTxtJsP3toyc1nKVMMnm1NkS9OBtVKDkRlThv1rQIhAOVnX1bsCuX+dpgtDStnuaFwpyNwoZIO2Y2g+QEnqSRD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073146},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"2de677b96700bf76c669bbc90fb98528039d02f4","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.2_1775674203032_0.028122166311070007","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@azify/aziface-web","version":"1.0.3","_id":"@azify/aziface-web@1.0.3","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"4e37430eaae34061ab1c8ee9ff5dbdd33305347e","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.3.tgz","fileCount":9,"integrity":"sha512-giknKJYqKFjV7/WZcEza1hjd1zhbnlmmWrBh0rBPQX57SnjNeIPsJjdfmhMZBK5wZe2teFXoT1x/wwSb0+Qrjw==","signatures":[{"sig":"MEUCIAix2XbfQ44V3Jd0w9rNmUgo2WqJXH+okLuiiaIQ7OeXAiEA/dXtuoD2AB/rDiqJIXs0WUxrFAcIFhJgQmf6XAI1sGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073146},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"d01f840f7342f0bb5abb06ae5816e3749e7e86f9","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.3_1776271814535_0.7609113754441106","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@azify/aziface-web","version":"1.0.4","_id":"@azify/aziface-web@1.0.4","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"fe550876226024ee91e1b3669510661ebb4da136","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.4.tgz","fileCount":9,"integrity":"sha512-/gHlebijKPuGgBu7IuwZSG1Uzrc0n7O6xwiZachV0wOiAtnqIVQchqyrTSWFrIU/BDc5byA+tp8O6G5ENZVDRg==","signatures":[{"sig":"MEYCIQCbYE/HLqodpPT0O75VoFWQNNRx60LGMl3DEGGHHixj/wIhAK5H5VQZkTbEwrkMegynIdPiB2CadiC/6gLdgfH/KSg7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073146},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"1a9b84a92ff34105bae46bc99d4ee388e2beedb1","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.4_1776272193541_0.45003873204951117","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@azify/aziface-web","version":"1.0.5","_id":"@azify/aziface-web@1.0.5","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"996a7885d1513016fa4fc4e555d70e97435d4cfb","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.5.tgz","fileCount":9,"integrity":"sha512-Uy8K8fHmKwqqWjy1c+0JmPolaS7UEH8aCUqp1bZ2NlR1O/4EM0DIulOTC3ymnJ2WhhodinTZ200SAbSJwkwP5g==","signatures":[{"sig":"MEYCIQDyGTwMl/rlG0bDgMv0IHHG4ou3BrBtuwiV4licPy0KGgIhANARsOmAV73n9u6R5+MnHA7WKgnK9gHaeLjCBRFI0joS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073146},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"d5d06bbcafb92652dae817979780d3b7b0243848","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.5_1776273460682_0.23092710835874142","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@azify/aziface-web","version":"1.0.6","_id":"@azify/aziface-web@1.0.6","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"lucasdipre","email":"lucas.dipre@brcfintechltda.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"dist":{"shasum":"b0cf8821e461e6db5708af2368a6991d8177b4e9","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.6.tgz","fileCount":9,"integrity":"sha512-T+iaOk1zZbCdEU8B8MwBma3sI7qJ3rAdcClSvjpO2lQ5yWdyaI0QSb6thIcoT6dpuPoLuqLD6c4OEItIv9RvSQ==","signatures":[{"sig":"MEYCIQDUGwG2VvIKWFVmNT4+JOE8AXcITZdNO/pVxilx7a1ZXgIhAMhkOJN0V/zRFVu4UcKF9AMC6udMQrgUXM7yZ/jSDHSR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1073146},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"07d72fa0659fe9c3193ff8f0907235b34cab3192","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.6_1776273661220_0.12285770135140184","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@azify/aziface-web","version":"1.0.13","_id":"@azify/aziface-web@1.0.13","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"homepage":"https://github.com/azifydev/aziface-web#readme","bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"dist":{"shasum":"ec716d1fc3dd623237650e28dd1c4ab382579b6d","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.0.13.tgz","fileCount":9,"integrity":"sha512-oDL0+94zFxcOfcds7ULd/FmWjqryjepjKzHrlmIGScqPPrBn3qBPyDL+PQajHwACMyIDdgDfGv5ggWWE7sH9ZQ==","signatures":[{"sig":"MEUCIGRe2A6/omV4LXsQtNwK0i2Bf8XaFpwKlWLUrRVc6Xq6AiEAzBHDUJkuqhEBxlXuimn0YeybBCY9x3HgcIQ+BQS2qjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087556},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"9fc6c816bd50556deee62a804a962d7a993b0f6d","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"repository":{"url":"git+https://github.com/azifydev/aziface-web.git","type":"git","directory":"packages/aziface"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.0.13_1782746061856_0.5611137107634347","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@azify/aziface-web","version":"1.1.0","_id":"@azify/aziface-web@1.1.0","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"homepage":"https://github.com/azifydev/aziface-web#readme","bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"dist":{"shasum":"4f59c7ec91fb8a3d7c94b1f344f95369859401d2","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.1.0.tgz","fileCount":9,"integrity":"sha512-4WADKjxkVpChooh/hKs4pAW+5wWdZvlPfGbwPykx8PiCtUg8IoRT9mtanqkfmvvgmwhVP7bpcBYpgGKGJWIzqA==","signatures":[{"sig":"MEUCIAtT0Apq0ItzIQOg5qCHYtCYePYfbCJmBbY0AAf+c+GgAiEA0xHbfrfe5KuwSUO6/uDBLHEz+w0+tTvIB1Zw8KTfcfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1114387},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"2aadcf50e0a91c61d61078813504518e79472776","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"repository":{"url":"git+https://github.com/azifydev/aziface-web.git","type":"git","directory":"packages/aziface"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.1.0_1783616855401_0.6241348843543404","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@azify/aziface-web","version":"1.2.0","_id":"@azify/aziface-web@1.2.0","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"neiltonline","email":"neiltonline@gmail.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"homepage":"https://github.com/azifydev/aziface-web#readme","bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"dist":{"shasum":"4ac21c27ad94552afc8bb084ed405bdc4a814f3b","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.2.0.tgz","fileCount":9,"integrity":"sha512-H8P/wTqWVW/ZQ4nbSsPp8gUg0xlhbKzF/UOazD0vzfwR6xjZ5CQ233SfNy0rgZXAcAf/wv4d3GccMbKg0lig+Q==","signatures":[{"sig":"MEUCIEYa64E1tYadFDdEs7rGSCA0/HHlm86Slqj02zQs8gC4AiEAkk/zflAxlp8gHVacLUEP7wQ9d9uaUu7M7I6AsX3uHlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1125013},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"596e7ef2727cdc37a358a7180b0e28f3e31bb1f2","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"repository":{"url":"git+https://github.com/azifydev/aziface-web.git","type":"git","directory":"packages/aziface"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":"*"},"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.2.0_1785326882245_0.7756793375598878","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@azify/aziface-web","version":"1.3.0","_id":"@azify/aziface-web@1.3.0","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"neiltonline","email":"neiltonline@gmail.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"homepage":"https://github.com/azifydev/aziface-web#readme","bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"dist":{"shasum":"1a10e63e548b9d30e5bf9feff5c07512eaf63097","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.3.0.tgz","fileCount":9,"integrity":"sha512-QlTAhkpTJLy/K/2SEiwcelNquO+BdcLMfUvQJKgCBCxDWbRNxSM1AVZr/dOU2hebVIgJx3LSCSRz1ucLtw9haA==","signatures":[{"sig":"MEYCIQDhHzkceLg8P8F9X8NvJTxP4UV1PEy8QvR+B0UtiLmYbAIhAIEtaN1OH3BpAVwOh+ToSQ9OAsGYrNOS316qA6NUWzJl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1125013},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"b7087de92929d85cc7892b6ac73735934a948507","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"repository":{"url":"git+https://github.com/azifydev/aziface-web.git","type":"git","directory":"packages/aziface"},"_npmVersion":"10.9.8","description":"Web SDK adapter.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":"*"},"_npmOperationalInternal":{"tmp":"tmp/aziface-web_1.3.0_1785327294195_0.19904117244360653","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@azify/aziface-web","version":"1.4.0","description":"Web SDK adapter.","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/azifydev/aziface-web.git","directory":"packages/aziface"},"scripts":{"build":"tsup","dev":"tsup --watch","clean":"rm -rf dist"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"peerDependencies":{"react":"*"},"_id":"@azify/aziface-web@1.4.0","gitHead":"d9ce7b0d0ddb02700048210f866901d1c067c22f","bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"homepage":"https://github.com/azifydev/aziface-web#readme","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-G0WUuvBXDNUvoVSur21ecEZO+I14sLUJDYHo6x/a7G4icDrAufmTRKVoOLOSmrFxyRiolETB9kgElJAjvL2LNg==","shasum":"24bd8683f7f1d2f7664d6b06a8e5024aa51d7385","tarball":"https://registry.npmjs.org/@azify/aziface-web/-/aziface-web-1.4.0.tgz","fileCount":9,"unpackedSize":1099541,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDcNxsB8ZpOngICg19PzJ9uilNQzkRo269zyVneU988dAIgVnvhYcGSci0fKZ30y7EJ2UBTtU3K8ZwATykyoFQ/rRY="}]},"_npmUser":{"name":"nayara.dias","email":"nayara.dias@capitual.com"},"directories":{},"maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"neiltonline","email":"neiltonline@gmail.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aziface-web_1.4.0_1787079607614_0.8310358082246676"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T20:17:39.949Z","modified":"2026-08-18T19:00:07.977Z","1.0.0":"2026-03-27T20:17:40.161Z","1.0.1":"2026-03-31T17:43:27.459Z","1.0.2":"2026-04-08T18:50:03.239Z","1.0.3":"2026-04-15T16:50:14.688Z","1.0.4":"2026-04-15T16:56:33.732Z","1.0.5":"2026-04-15T17:17:40.901Z","1.0.6":"2026-04-15T17:21:01.432Z","1.0.13":"2026-06-29T15:14:22.055Z","1.1.0":"2026-07-09T17:07:35.573Z","1.2.0":"2026-07-29T12:08:02.403Z","1.3.0":"2026-07-29T12:14:54.371Z","1.4.0":"2026-08-18T19:00:07.763Z"},"bugs":{"url":"https://github.com/azifydev/aziface-web/issues"},"homepage":"https://github.com/azifydev/aziface-web#readme","repository":{"type":"git","url":"git+https://github.com/azifydev/aziface-web.git","directory":"packages/aziface"},"description":"Web SDK adapter.","maintainers":[{"name":"davi_costa","email":"davi.vieira@wisiex.com"},{"name":"digorc","email":"rodrigo123correia321@gmail.com"},{"name":"nayara.dias","email":"nayara.dias@capitual.com"},{"name":"hugoazify","email":"hugoferreira@brcfintechltda.com"},{"name":"mardoc","email":"edl_@live.com"},{"name":"pabloperdiz","email":"pablo.perdiz@wisiex.com"},{"name":"neiltonline","email":"neiltonline@gmail.com"},{"name":"danielsaraldi","email":"danielsaraldi@gmail.com"},{"name":"andrerebonato","email":"andrev.rebonato@gmail.com"}],"readme":"# @azify/aziface-web\n\n[![npm version](https://img.shields.io/npm/v/@azify/aziface-web.svg)](https://www.npmjs.com/package/@azify/aziface-web)\n\nWeb SDK adapter for React — face enrollment, authentication, liveness, and document verification powered by FaceTec.\n\n## Summary\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Static assets](#static-assets)\n- [Setup](#setup)\n  - [Next.js](#nextjs)\n  - [Vite](#vite)\n- [Usage](#usage)\n- [API](#api)\n  - [`initialize`](#initialize)\n    - [`Properties`](#properties)\n  - [`dispose`](#dispose)\n    - [`Properties`](#properties-1)\n  - [`withTheme`](#withtheme)\n    - [`Properties`](#properties-2)\n    - [`Custom images`](#custom-images)\n      - [`Example`](#example)\n  - [`resetTheme`](#resettheme)\n  - [`setLocale`](#setlocale)\n    - [`Properties`](#properties-3)\n- [Hooks]\n  - [`useAziface`](#useaziface)\n    - [`Properties`](#properties-4)\n      - [`enroll`](#enroll)\n      - [`authenticate`](#authenticate)\n      - [`liveness`](#liveness)\n      - [`photoScan`](#photoscan)\n      - [`photoMatch`](#photomatch)\n- [Styles](#styles)\n- [Types](#types)\n  - [`Initialize`](#initialize-1)\n    - [`InitializeParams`](#initializeparams)\n    - [`InitializeHeaders`](#initializeheaders)\n  - [`InitializeCallback`](#initializecallback)\n    - [`InitializeResponse`](#initializeresponse)\n      - [`InitializeError`](#initializeerror)\n        - [`InitializeCodeError`](#initializecodeerror)\n  - [`DisposeCallback`](#disposecallback)\n  - [`SessionCode`](#sessioncode)\n  - [`Style`](#style)\n    - [`CancelLocation`](#cancellocation)\n  - [`Locale`](#locale)\n- [Classes](#classes)\n  - [`SessionError`](#sessionerror)\n    - [`constructor`](#constructor)\n\n<hr/>\n\n## Requirements\n\n- **React** 18 or 19\n- **HTTPS** or **localhost** — camera APIs are blocked on remote HTTP ([`GetUserMediaRemoteHTTPNotSupported`](#initializecodeerror))\n- **FaceTec static assets** hosted by your application (not bundled in the npm package)\n- Valid Aziface credentials: `deviceKeyIdentifier`, `baseUrl`, and `x-token-bearer`\n\n<hr/>\n\n## Installation\n\n```bash\nnpm i @azify/aziface-web\n```\n\n<hr/>\n\n## Static assets\n\nThe SDK expects FaceTec resources to be available at runtime. Host the following paths in your app's public directory:\n\n| Path                          | Purpose                                                           |\n| ----------------------------- | ----------------------------------------------------------------- |\n| `/core/facetec/FaceTecSDK.js` | FaceTec browser SDK (loaded via `<script>`)                       |\n| `/core/facetec/resources/`    | FaceTec resource bundle                                           |\n| `/core/images/`               | Branding and cancel button images (optional; used by `withTheme`) |\n\nReference implementations live in this monorepo:\n\n- [Next.js demo](../../apps/nextapp)\n- [Vite demo](../../apps/viteapp)\n\n> Obtain FaceTec asset files from your Azify integration contact. They are not included in the npm package.\n\n<hr/>\n\n## Setup\n\nAdd the configuration below according to the environment you are using:\n\n### Next.js\n\nIn your `app/page.tsx`, add the following script:\n\n```tsx\n'use client';\n\nimport Script from 'next/script';\n// ...\n\nexport default function Page() {\n  // ...\n\n  return (\n    <>\n      <Script\n        src={`/core/facetec/FaceTecSDK.js`}\n        strategy='beforeInteractive'\n      />\n\n      {/* ... */}\n    </>\n  );\n}\n```\n\nYour Next.js environment is now configured!\n\n### Vite\n\nIn your `index.html`, add the following script:\n\n```html\n<!doctype html>\n<html lang=\"en\">\n  <!-- ... -->\n  <body>\n    <div id=\"root\"></div>\n    <!-- Add this line -->\n    <script src=\"/core/facetec/FaceTecSDK.js\"></script>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n```\n\nYour Vite environment is now configured!\n\n<hr/>\n\n## Lifecycle\n\nTypical integration flow:\n\n1. Load `FaceTecSDK.js` in the page (see [Setup](#setup))\n2. Import SDK methods and styles (`@azify/aziface-web/dist/aziface.css`)\n3. Call `initialize()` once with credentials and headers\n4. Optionally call `setLocale()` and `withTheme()` after a successful init\n5. Use `useAziface()` to access session methods: `enroll`, `authenticate`, `liveness`, `photoScan`, and `photoMatch`\n6. Call `dispose()` when the SDK is no longer needed\n\nSession methods throw [`SessionError`](#sessionerror) on failure — always wrap them in `try/catch`.\n\n<hr/>\n\n## Usage\n\n```tsx\n// ...\nimport {\n  dispose,\n  initialize,\n  setLocale,\n  useAziface,\n  withTheme,\n  SessionError,\n  type InitializeHeaders,\n  type InitializeParams,\n} from '@azify/aziface-web';\nimport '@azify/aziface-web/dist/aziface.css';\n\nexport function MyPage() {\n  // ...\n  const [isInitialized, setIsInitialized] = useState(false);\n  const { data, error, authenticate, enroll, liveness, photoMatch, photoScan } =\n    useAziface();\n\n  const onInitialize = (): void => {\n    const params: InitializeParams = {\n      baseUrl: 'YOUR_BASE_URL',\n      deviceKeyIdentifier: 'YOUR_DEVICE_KEY_IDENTIFIER',\n      isDevelopment: true,\n    };\n\n    const headers: InitializeHeaders = {\n      'x-token-bearer': 'YOUR_X_TOKEN_BEARER',\n      'x-only-raw-analysis': '1',\n    };\n\n    initialize({ params, headers }, initialized => {\n      const error = initialized.error;\n\n      setIsInitialized(initialized.isSuccess);\n      if (error) {\n        console.error(`${error.cause} - (${error.code})`);\n      } else {\n        setLocale('en');\n      }\n    });\n  };\n\n  const onDispose = (): void => {\n    dispose(disposed => {\n      setIsInitialized(!disposed);\n\n      if (!disposed) {\n        console.error('Failed to dispose SDK.');\n      }\n    });\n  };\n\n  const onFaceScan = async (type: string): Promise<void> => {\n    try {\n      switch (type) {\n        case 'enroll':\n          await enroll();\n          break;\n        case 'authenticate':\n          await authenticate();\n          break;\n        case 'liveness':\n          await liveness();\n          break;\n        case 'photoMatch':\n          await photoMatch();\n          break;\n        case 'photoScan':\n          await photoScan();\n          break;\n        default:\n          console.error(`Invalid face scan type: ${type}`);\n          break;\n      }\n    } catch (error) {\n      const sessionError = error as SessionError;\n      console.error(sessionError.message);\n    }\n  };\n\n  useEffect(() => {\n    if (data) console.log(data);\n    if (error) console.error(error.message);\n  }, [data, error]);\n\n  return (\n    <div className='min-h-screen flex items-center justify-center bg-gray-50'>\n      <div className='bg-white border border-gray-200 rounded-xl p-8 w-full max-w-sm shadow-sm'>\n        <div className='flex flex-col gap-3'>\n          <button\n            onClick={onInitialize}\n            className='w-full py-3 bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Initialize\n          </button>\n\n          <button\n            onClick={() => onFaceScan('enroll')}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Enroll\n          </button>\n\n          <button\n            onClick={() => onFaceScan('liveness')}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Liveness\n          </button>\n\n          <button\n            onClick={() => onFaceScan('authenticate')}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Authenticate\n          </button>\n\n          <button\n            onClick={() => onFaceScan('photoMatch')}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Photo Match\n          </button>\n\n          <button\n            onClick={() => onFaceScan('photoScan')}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Photo Scan\n          </button>\n\n          <button\n            onClick={onDispose}\n            disabled={!isInitialized}\n            className='w-full py-3 disabled:hover:bg-gray-100 disabled:active:scale-100 disabled:opacity-50 disabled:cursor-not-allowed bg-gray-100 hover:bg-gray-200 border border-gray-200 rounded-lg text-sm font-medium text-gray-900 transition active:scale-[0.98]'\n          >\n            Dispose\n          </button>\n        </div>\n      </div>\n    </div>\n  );\n}\n```\n\n<hr/>\n\n## API\n\n| Methods        | Return type        |\n| -------------- | ------------------ |\n| `initialize`   | `void`             |\n| `dispose`      | `void`             |\n| `enroll`       | `Promise<boolean>` |\n| `authenticate` | `Promise<boolean>` |\n| `liveness`     | `Promise<boolean>` |\n| `photoScan`    | `Promise<boolean>` |\n| `photoMatch`   | `Promise<boolean>` |\n| `withTheme`    | `void`             |\n| `resetTheme`   | `void`             |\n| `setLocale`    | `void`             |\n\n### `initialize`\n\nThe `initialize` method configures and prepares the Aziface SDK before any face capture, liveness, authentication, or identity verification session can begin.\n\nDuring initialization, the application provides the SDK with the required configuration data, such as the device key identifier, base URL, and `x-token-bearer`. The SDK validates these parameters, performs internal setup, and prepares the necessary resources for secure camera access, biometric processing, and user interface rendering.\n\nA successful initialization confirms that the SDK is correctly licensed, properly configured for the target environment, and ready to start user sessions. If initialization fails due to invalid keys, network issues, or unsupported device conditions, the SDK returns an `InitializeResponse` object with `isSuccess` and error details so the application can handle the failure gracefully and prevent session startup.\n\nInitialization is a mandatory step and must be completed once during the application lifecycle (or as required by the platform) before invoking any Aziface SDK workflows.\n\n```ts\ninitialize(\n  {\n    params: {\n      baseUrl: 'YOUR_BASE_URL',\n      deviceKeyIdentifier: 'YOUR_DEVICE_KEY_IDENTIFIER',\n      isDevelopment: true,\n    },\n    headers: {\n      'x-token-bearer': 'YOUR_X_TOKEN_BEARER',\n      'x-only-raw-analysis': '1',\n    },\n  },\n  initialized => {\n    const error = initialized.error;\n\n    if (error) {\n      console.error(`${error.cause} - (${error.code})`);\n    } else {\n      console.log('SDK initialized!!!');\n    }\n  },\n);\n```\n\n#### Properties\n\n| Property   | Type                                        | Required |\n| ---------- | ------------------------------------------- | -------- |\n| `init`     | [`Initialize`](#initialize-1)               | ✅       |\n| `callback` | [`InitializeCallback`](#initializecallback) | ✅       |\n\n### `dispose`\n\nThe `dispose` method in the Aziface SDK is used to properly release resources and clean up the SDK when it is no longer needed.\n\nWhen called, the SDK shuts down any active processes, releases camera and memory resources, and clears internal states associated with previous sessions. This helps prevent memory leaks, ensures system stability, and prepares the application for a safe shutdown or potential reinitialization.\n\nDispose is typically used when the application is terminating, when the SDK will no longer be used, or when a full reset of the SDK state is required. It should be called only after all active sessions have been completed or canceled.\n\nIf dispose is performed while a session is still in progress, the SDK may return an error or forcefully terminate the session, depending on the platform implementation.\n\n```ts\ndispose(disposed => {\n  if (disposed) {\n    console.log('SDK disposed successfully!');\n  } else {\n    console.error('Failed to dispose SDK.');\n  }\n});\n```\n\n#### Properties\n\n| Property   | Type                                  | Required |\n| ---------- | ------------------------------------- | -------- |\n| `callback` | [`DisposeCallback`](#disposecallback) | ✅       |\n\n### `withTheme`\n\nThis method customizes your SDK theme during a session. The Aziface SDK must be successfully initialized **before calling** this API.\n\n```ts\ninitialize(\n  {\n    // ...\n  },\n  initialized => {\n    const error = initialized.error;\n\n    if (error && !initialized.isSuccess) {\n      console.error(`${error.cause} - (${error.code})`);\n    } else {\n      withTheme({\n        backgroundColor: '#FFFFFF',\n      });\n    }\n  },\n);\n```\n\n#### Properties\n\n| Property    | Type              | Required | Default     |\n| ----------- | ----------------- | -------- | ----------- |\n| `overrides` | [`Style`](#style) | ❌       | `undefined` |\n\n#### Custom images\n\nThe `brandingImage` and `cancelImage` properties represents your branding and icon of the button cancel. Default are [Azify](https://azify.com/) images, and `.png` format. If the image is not found, it will not be displayed during the session.\n\nGo to your project's `public/core/images` directory and add your custom images there.\n\n##### Example\n\nImport the `withTheme` method and add image name (with extension), in image property (`brandingImage` or `cancelImage`). Check the code example below:\n\n```ts\ninitialize(\n  {\n    // ...\n  },\n  initialized => {\n    if (initialized.error && !initialized.isSuccess) {\n      // ...\n    } else {\n      withTheme({\n        brandingImage: 'branding.png',\n        cancelImage: 'cancel.png',\n      });\n    }\n  },\n);\n```\n\n**Note**: Images via HTTPS link **aren't** supported by SDK.\n\n### `resetTheme`\n\nThe `resetTheme` method restores the default theme.\n\n### `setLocale`\n\nThe `setLocale` method in the Aziface SDK is used to define the language and locale used by the SDK’s user interface and vocal guidance during verification sessions. The Aziface SDK must be successfully initialized **before calling** this API.\n\nBy calling this method, the application specifies which language the SDK should use for on-screen text, voice prompts, and user instructions. This allows the SDK to present a localized experience that matches the user’s preferred or device language.\n\nThe selected language applies to all Aziface SDK workflows, including enrollment, authentication, liveness checks, photo scan, and photo match verification. The language must be set before starting a session to ensure consistent localization throughout the user interaction.\n\nIf an unsupported or invalid language code is provided, the SDK falls back to a default language (en) and returns appropriate status or error information, depending on the platform implementation.\n\n```ts\ninitialize(\n  {\n    // ...\n  },\n  initialized => {\n    if (initialized.error && !initialized.isSuccess) {\n      // ...\n    } else {\n      setLocale('pt-BR');\n    }\n  },\n);\n```\n\n#### Properties\n\n| Property | Type                | Required | Default     |\n| -------- | ------------------- | -------- | ----------- |\n| `locale` | [`Locale`](#locale) | ✅       | `undefined` |\n\n<hr/>\n\n## Hooks\n\n### `useAziface`\n\nThe `useAziface` hook centralizes the session methods and exposes reactive `data` and `error` values.\n\n```ts\nconst { data, error, enroll, authenticate, liveness, photoMatch, photoScan } =\n  useAziface();\n```\n\n#### Properties\n\n| Property                        | Type                       |\n| ------------------------------- | -------------------------- |\n| `data`                          | `SessionCode \\| undefined` |\n| `error`                         | `Error \\| undefined`       |\n| [`enroll`](#enroll)             | `Promise<boolean>`         |\n| [`authenticate`](#authenticate) | `Promise<boolean>`         |\n| [`liveness`](#liveness)         | `Promise<boolean>`         |\n| [`photoMatch`](#photomatch)     | `Promise<boolean>`         |\n| [`photoScan`](#photoscan)       | `Promise<boolean>`         |\n\n##### `enroll`\n\nThe `enroll` method (returned by `useAziface()`) is responsible for registering a user’s face for the first time and creating a secure biometric identity. During enrollment, the SDK guides the user through a liveness detection process to ensure that a real person is present and not a photo, video, or spoofing attempt.\n\nWhile the user follows on-screen instructions (such as positioning their face within the oval and performing natural movements), the SDK captures a set of facial data and generates a secure face scan. This face scan is then encrypted and sent to the backend for processing and storage.\n\nThe result of a successful enrollment is a trusted biometric template associated with the user’s identity, which can later be used for authentication, verification, or ongoing identity checks. If the enrollment fails due to poor lighting, incorrect positioning, or liveness issues, the SDK returns detailed status and error information so the application can handle retries or user feedback appropriately.\n\n##### `authenticate`\n\nThe `authenticate` method (returned by `useAziface()`) verifies a user's identity by comparing a newly captured face scan against a previously enrolled biometric template. This process confirms that the person attempting to access the system is the same individual who completed enrollment.\n\nDuring authentication, the SDK performs an active liveness check while guiding the user through simple on-screen instructions. A fresh face scan is captured, encrypted, and securely transmitted to the backend, where it is matched against the stored enrollment data.\n\nIf the comparison is successful and the liveness checks pass, the authentication is approved and the user is granted access. If the process fails due to a mismatch, spoofing attempt, or poor capture conditions, the SDK returns detailed result and error codes so the application can handle denial, retries, or alternative verification flows.\n\n##### `liveness`\n\nThe `liveness` method (returned by `useAziface()`) is designed to determine whether the face presented to the camera belongs to a real, live person at the time of capture, without necessarily verifying their identity against a stored template.\n\nIn this flow, the SDK guides the user through a short interaction to capture facial movements and depth cues that are difficult to replicate with photos, videos, or masks. The resulting face scan is encrypted and sent to the backend, where advanced liveness detection algorithms analyze it for signs of spoofing or fraud.\n\nA successful liveness result confirms real human presence and can be used as a standalone security check or as part of broader workflows such as authentication, onboarding, or high-risk transactions. If the liveness check fails, the SDK provides detailed feedback to allow the application to respond appropriately.\n\n##### `photoMatch`\n\nThe `photoMatch` method (returned by `useAziface()`) is used to verify a user’s identity by analyzing a government-issued identity document and comparing it with the user’s live facial biometric data.\n\nIn this flow, the SDK first guides the user to capture high-quality images of their identity document. Then, a face scan is collected through a liveness-enabled facial capture. Both the document images and the face scan are encrypted and securely transmitted to the backend.\n\nA successful result provides strong identity assurance, combining document authenticity and biometric verification. This flow is commonly used in regulated onboarding, KYC, and high-security access scenarios. If any step fails, the SDK returns detailed results and error information to support retries or alternative verification paths.\n\n##### `photoScan`\n\nThe `photoScan` method (returned by `useAziface()`) is used to verify the authenticity and validity of a government-issued identity document without performing facial biometric verification.\n\nIn this flow, the SDK guides the user to capture images of the identity document, ensuring proper framing, focus, and lighting. The captured document images are encrypted and securely sent to the backend for analysis.\n\nA successful document-only verification is suitable for lower-risk scenarios or cases where biometric capture is not required. If the verification fails due to image quality issues, unsupported documents, or suspected tampering, the SDK provides detailed feedback for proper error handling and user guidance.\n\n<hr/>\n\n## Styles\n\nAziface Web recommends importing our predefined styles for the best user experience.\n\nSimply import them onto the screen where you are using Aziface methods.\n\n```tsx\n// ...\nimport { dispose, initialize, useAziface } from '@azify/aziface-web';\nimport '@azify/aziface-web/dist/aziface.css'; // <-- Add this import\n```\n\n<hr/>\n\n## Types\n\n### `Initialize`\n\nThe `Initialize` object is required to initialize the SDK.\n\n| Property  | Type                                      | Required |\n| --------- | ----------------------------------------- | -------- |\n| `params`  | [`InitializeParams`](#initializeparams)   | ✅       |\n| `headers` | [`InitializeHeaders`](#initializeheaders) | ✅       |\n\n#### `InitializeParams`\n\nIt contains the parameters used to initialize and start the SDK.\n\n| Property              | Type      | Required |\n| --------------------- | --------- | -------- |\n| `deviceKeyIdentifier` | `string`  | ✅       |\n| `baseUrl`             | `string`  | ✅       |\n| `isDevelopment`       | `boolean` | ❌       |\n\n#### `InitializeHeaders`\n\nIt establishes communication between the SDK and the external service.\n\n| Property         | Type                          | Required |\n| ---------------- | ----------------------------- | -------- |\n| `x-token-bearer` | `string`                      | ✅       |\n| `[key: string]`  | `string \\| null \\| undefined` | ❌       |\n\n### `InitializeCallback`\n\nUse `InitializeCallback` to receive the initialization response.\n\n| Callback      | Type                                        | Required |\n| ------------- | ------------------------------------------- | -------- |\n| `initialized` | [`InitializeResponse`](#initializeresponse) | ❌       |\n\n#### `InitializeResponse`\n\nThe initialization object of the SDK when initialize is called.\n\n| Property    | Type                                  | Required |\n| ----------- | ------------------------------------- | -------- |\n| `isSuccess` | `boolean`                             | ✅       |\n| `error`     | [`InitializeError`](#initializeerror) | ❌       |\n\n##### `InitializeError`\n\nThe initialize method return an `InitializeError` object when some error occurs.\n\n| Property | Type                                          | Required |\n| -------- | --------------------------------------------- | -------- |\n| `code`   | [`InitializeCodeError`](#initializecodeerror) | ✅       |\n| `cause`  | `string`                                      | ✅       |\n\n###### `InitializeCodeError`\n\nThe initialize code error is a type identifier of the error in the SDK.\n\n| Code                                  | Description                                                                           | Identifier |\n| ------------------------------------- | ------------------------------------------------------------------------------------- | ---------- |\n| `RejectedByServer`                    | The Aziface Server could not validate this application.                               | `0`        |\n| `RequestAborted`                      | When request has catastrophic error and the application could not be validated.       | `1`        |\n| `DeviceNotSupported`                  | This device/platform/browser/version combination is not supported by the Aziface SDK. | `2`        |\n| `UnknownInternalError`                | An unknown and unexpected error occurred.                                             | `3`        |\n| `ResourcesCouldNotBeLoadedOnLastInit` | Aziface SDK could not load resources.                                                 | `4`        |\n| `GetUserMediaRemoteHTTPNotSupported`  | Browser Camera APIs are only supported on localhost or https.                         | `5`        |\n\n###### `SessionCode`\n\nThe session code is a type identifier of the session when a method fails or it has success.\n\n| Code                                | Description                                                                                                                                                  | Identifier |\n| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |\n| `SessionCompleted`                  | The Session was completed.                                                                                                                                   | `0`        |\n| `RequestAborted`                    | When session has catastrophic error and the application could not be validated.                                                                              | `1`        |\n| `UserCancelledFaceScan`             | The user cancelled before performing enough scans to succeed.                                                                                                | `2`        |\n| `UserCancelledIDScan`               | The user cancelled before completing all of the steps in the ID Scan Process.                                                                                | `3`        |\n| `LockedOut`                         | The session was cancelled because the user was in a locked out state.                                                                                        | `4`        |\n| `CameraError`                       | The session was cancelled because Aziface SDK was unable to start the camera on this device, or an unexpected error occurred with the camera during runtime. | `5`        |\n| `CameraPermissionsDenied`           | The session was cancelled because camera permissions were not enabled.                                                                                       | `6`        |\n| `UnknownInternalError`              | An unknown and unexpected error occurred.                                                                                                                    | `7`        |\n| `IFrameNotAllowedWithoutPermission` | The session was cancelled because the Aziface SDK was opened in an iframe without permission.                                                                | `8`        |\n| `NotInitialized`                    | This error code indicates that the Aziface SDK has not been initialized.                                                                                     | `9`        |\n| `NoUserEnrolled`                    | No user enrolled. Please enroll a user before attempting to authenticate.                                                                                    | `10`       |\n\n### `DisposeCallback`\n\nUse `DisposeCallback` to receive the dispose response.\n\n| Callback   | Type      | Required |\n| ---------- | --------- | -------- |\n| `disposed` | `boolean` | ❌       |\n\n### `Style`\n\nCustomize your Aziface SDK using `Style` object.\n\n| Property                        | Type                                | Required | Default     |\n| ------------------------------- | ----------------------------------- | -------- | ----------- |\n| `backgroundColor`               | `string`                            | ❌       | `#FFFFFF`   |\n| `frameColor`                    | `string`                            | ❌       | `#FFFFFF`   |\n| `borderColor`                   | `string`                            | ❌       | `#026FF4`   |\n| `ovalColor`                     | `string`                            | ❌       | `#026FF4`   |\n| `dualSpinnerColor`              | `string`                            | ❌       | `#026FF4`   |\n| `textColor`                     | `string`                            | ❌       | `#026FF4`   |\n| `buttonAndFeedbackBarColor`     | `string`                            | ❌       | `#026FF4`   |\n| `buttonAndFeedbackBarTextColor` | `string`                            | ❌       | `#FFFFFF`   |\n| `buttonColorHighlight`          | `string`                            | ❌       | `#0264DC`   |\n| `buttonColorDisabled`           | `string`                            | ❌       | `#B3D4FC`   |\n| `frameCornerRadius`             | `string`                            | ❌       | `20px`      |\n| `cancelImage`                   | `string`                            | ❌       | `undefined` |\n| `cancelLocation`                | [`CancelLocation`](#cancellocation) | ❌       | `top-left`  |\n| `brandingImage`                 | `string`                            | ❌       | `undefined` |\n| `showBranding`                  | `boolean`                           | ❌       | `true`      |\n\n#### `CancelLocation`\n\nThe `CancelLocation` type defines where the cancel button will be shown.\n\n| type        | Description                          |\n| ----------- | ------------------------------------ |\n| `top-left`  | Displays cancel button in top-left.  |\n| `top-right` | Displays cancel button in top-right. |\n| `none`      | Hides the cancel button.             |\n\n### Locale\n\nThe `Locale` type uses the [ISO 639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) language codes pattern.\n\n| type    | Description                     |\n| ------- | ------------------------------- |\n| `af`    | Afrikaans language.             |\n| `ar`    | Arabic language.                |\n| `de`    | German language.                |\n| `el`    | Greek language.                 |\n| `en`    | English language.               |\n| `es`    | Spanish and Castilian language. |\n| `fr`    | French language.                |\n| `ja`    | Japanese language.              |\n| `kk`    | Kazakh language.                |\n| `no`    | Norwegian Bokmål language.      |\n| `pt-BR` | Portuguese Brazilian language.  |\n| `ru`    | Russian language.               |\n| `vi`    | Vietnamese language.            |\n| `zh`    | Chinese language.               |\n\n<hr/>\n\n## Classes\n\n### `SessionError`\n\nA `SessionError` is thrown when an error occurs in the Aziface SDK.\n\n| Property  | Type                          | Required |\n| --------- | ----------------------------- | -------- |\n| `code`    | [`SessionCode`](#sessioncode) | ✅       |\n| `name`    | `string`                      | ✅       |\n| `message` | `string`                      | ✅       |\n| `cause`   | `string`                      | ❌       |\n| `stack`   | `string`                      | ❌       |\n\n#### `constructor`\n\nThe `constructor` receives `code` as an argument.\n\n| Property | Type                          | Required |\n| -------- | ----------------------------- | -------- |\n| `code`   | [`SessionCode`](#sessioncode) | ✅       |\n\n<hr/>\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md) for release history.\n\n<hr/>\n\n## License\n\nMIT\n","readmeFilename":"README.md"}