{"_id":"@besermenji/react-native-safetynet","_rev":"6-10e72bb2fbfa13291a35195e351ba8b0","name":"@besermenji/react-native-safetynet","dist-tags":{"latest":"1.1.5"},"versions":{"1.1.0":{"name":"@besermenji/react-native-safetynet","version":"1.1.0","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"^0.57.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.5.7","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"10.5.3","prettier":"2.2.1","typescript":"4.1.3"},"gitHead":"e0994a278248047228f908fcc2907f76e2fd4c44","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-i9JxdodJbspFBpMSCAXx6J3UkI0pZGdDKpgy40R6RcXW3vSSTJF86rMeLTJ88l2+7Fn650E82xLnGCkdVemLbw==","shasum":"e666afc0694ac7ce0c14a058abbe34dc5e75427d","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.0.tgz","fileCount":108,"unpackedSize":678454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAoTHCRA9TVsSAnZWagAAxakP/j8AADhOchHueBwSyx+3\ntrZbqDbo/Rhn0BbrPBZKjkK3ZZvxEXK5zVWkkAu22xm4C427JtJmbHZl6xMy\nfAJN+lA8uY9l8Zxxwq1PMJq6CIwMZKPhWuUAsTt26p+SYsTnNpuhTM1qc/dL\nTcmkfPYsno9N/IlOZ54ZEzgsAHBbS5bgg7Cu3lI+JsfOWUet2DqHQH8tYfxw\n3i7N+RYf5YvvvbBiHooWlN8h0wIIHTwvqJW0hyKfQVr3FhX2rcCQNuwdrXTX\nGJnejVdLCLAPZ5zE97euQKkcBR1fr3UB4jzdpj5W7PNmco8E2zla70MM4weV\nHe0Uj06RZpyliN3T4csfRGKLEbbdfd2y8ijFOFYQPv+6fF+ZRv8NjQmbU1O7\nALoLlfK8ZzonMQp8IWZHi+9/WE21IYpUyAIYQkeQxPaYZzlAjgIWkPX06IGS\nw/Mdz76VquBfp/v4AbVzsjBkJbWeY8tI+g/cjWHQqB1uOSgHGn4KAh2tfZXx\nDllSE8oDh7dXlj7utDW/vt0dGxcv1gRwD7M2oL+p7nr/9T01zIOZuq1L2X68\n/oX5yU5O+xQ6oAc3bYv73eBOdZn0n5wwDazAFiF6ys63PdUOrHktKigozPFq\ngh/hCMMSyvedEHX1aqObB6YlQBIzk0g/TgVRx15YoObxH3AHCtMdm9xuWFMf\nEpJg\r\n=qoiI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfvc4rduxPkuEBMRmBxInjrRAF9beJUFcqA39EJW06sgIhAN4eWcIQd2DM1aCHzdGr5q3OhdQRZERtprsGb1jPc6OD"}]},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.0_1644332231221_0.710906482602714"},"_hasShrinkwrap":false},"1.1.1":{"name":"@besermenji/react-native-safetynet","version":"1.1.1","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"^0.57.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.5.7","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"10.5.3","prettier":"2.2.1","typescript":"4.1.3"},"gitHead":"2d6d68cdb050ad62a43cbd3a036f9575aa67d371","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-wsd1ZDQlYZg2fWXL8CI0F1BDOcRKQ3ZOwOiDbjnby+VKnN9jzSvBBibJh5GfIYZ7uudVz5OmVdR5Q3yBinRKyg==","shasum":"fc676c176616d0c475d6c9383139b36de5ecdfd8","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.1.tgz","fileCount":108,"unpackedSize":678756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBAEXCRA9TVsSAnZWagAAgwcQAJdcsu3l17DwPKyOvyvw\nYvUqEf9qHRvt2OlTuTeFUX0n3thv40b59eHnmmaai/ttoLXO//FoUcKlxv7q\nAa9IwzQJbB0EBcna2UzcjnvuGf+YEDHG0LKSEqnuljtMPkAHypthB0dNRNkj\n7WVBqpLf5b9jqCl1gVUxcz8wgF68mqNxUfTS3cphxaOy+E0OJzAcbVNGmjuo\nHKnV24b2i/rbdOuZUj74Rgj1ab9rOE5sBYTzpwqBLls/hXyzcCb6VKsg/Nmi\n58exew2ZbSU2dLPOKrkWf+WkkKEyMNK5iX3yM5IizHDhEJxj5k4BMXI7U0w9\nDtLN3mwMtoWFMlzUiI24gnmUTz/f4zeKM6ISuMTPWpQf807LNvwncSjT2wQ1\nQ8kpiJDzr++5JNK04OkhYJq2za/Dwb7hZndljbWqvKe6VISKN5I+Ix63Hfz8\npCQ8pqUYaSVQ2K188LNSOR5n0eNaojdlbhcaNOmCF7T4bXGnhmrTeJ//EGOI\nlEXukTdYuQyYMFEgrxz20/HiXVits3C3Y6/GIKME9eK8JkA02wmlAJO2Wg3x\nuwvS8TEngM/FcY+xpwfRQHzziZSp42DkwiGsOC3d0V9WsM9inRvUHnui7UP3\nl4rvnYTmajzEbj0DbCgYslhwNWAqq6589111pqVxN5uD326RXZ2dh0IHH11m\ncrsE\r\n=Ue84\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8wR6fbcW09pc9BYwxZ+7bs3UYfq8UeGdEtIu44v53pwIgExPOTxZt+84DvFbgcNwN3KOJMK5hw6pqKJLaXKR5MjA="}]},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.1_1644429591312_0.6794281610560207"},"_hasShrinkwrap":false},"1.1.2":{"name":"@besermenji/react-native-safetynet","version":"1.1.2","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"^0.57.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.5.7","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"10.5.3","prettier":"2.2.1","typescript":"4.1.3"},"gitHead":"a3a35a179003d0058f9bc8a5f0daf346069fa0f4","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.2","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-dWTaf28Kz2b5WQ/yMrV/s4gAHM8yQJ0amil0J9Ih/vpOTvMeLwlR3IND/99ODtp9+r4OOwzSw0PXH2KLX1BBgw==","shasum":"4acae1bc10de1eee991c2b496d5d7a2499de28ed","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.2.tgz","fileCount":108,"unpackedSize":678729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBAhtCRA9TVsSAnZWagAAYZAP/3VQl7+Po2tl3G0xlAZz\niDnZ0TK0VZdSjupe/nm4H2AYN1MEOcyOYoVZ4t6I+olqY1MqqLIwU3DiP+jA\njZlu2A1DptmdiMEiXdfyoFkD6nTa+N3hmXPLegaqYkK5IyPMqxCF9dIZDhs8\nqNu5CsKP76fameVWMmcm+O/FShXUm960l6lTqZs7SxUkhZtYwTjN8DVct5hj\nt9yu4sQ2vxvla/Nc6gvhnuwP3peScCJINJsAPjVLQvjyhlFJagPRnCRE7Lqe\n0aROJ2TPT9dkMvDWhWQtE1WN7SPDjyLbhrZjOwRrlX4uycEcdxXBJ1RQhqxM\nfikj9Pjz+hb678HIcyX4mv0c3IhQBkdHpnlbMLSublnZgZUkNeKcIiazLgnT\npmF+KpDrijnIp+3caNo0qNb3x6U4JxoBcI4RGsEryX2ZKuDx3Chbi8TFlV7q\ntpirvzgl2CkTnYYXK0v07OKpqNJ4m9+BvUgYp4I5LQesoAJXyngJgoAyfyS4\nDbUAmRV09aRROiC688+Y4kQZO4n+tcFW+Y6W2jzzt8kbELo5zJv+oH8Fx92d\nZxcD/tR9PSJJts0q11PKNi7blKQWZ8Rqa2+9E8INSRHM8ZVxBItZykdCKabP\nFZeOQka5IUlMmP0mt6roQ6xryFPAogw17qTbFAZue7ts2jqBbk7rrxYEaKpq\nJei+\r\n=3q0Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUgox0LKAbIc7IkPpCDsJKotGHAVquUyih0Ca5/6olqAiAT6nUo2zln9tVcHU4F3n4J26xIgszF/jG83jCSOol13w=="}]},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.2_1644431468701_0.5586865130281315"},"_hasShrinkwrap":false},"1.1.3":{"name":"@besermenji/react-native-safetynet","version":"1.1.3","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"0.64.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.6.1","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"12.4.2","prettier":"2.6.2","typescript":"4.7.2"},"gitHead":"8f935a94e921514bdd4cd5e190cafbe81983cbc7","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.3","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-hJn5F3H7I1OMYOEvN5+BVBLC5AYSaVQhGfwYRtvXWk3ydtZJZjhR85ntbOOS8/cpWNW3KDMAlg13123kS8+R6A==","shasum":"56593f656b87a591d9412e55780a4680b9623fc8","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.3.tgz","fileCount":108,"unpackedSize":683479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdbFWH4AjCJa9aNm7ccDStT14JiodVgG6AbaYKqxDVrgIgST26HQ4IbnRBsKSRVKYkygp8lCL7sF6GrFV2GjTepRY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJij2vFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIIw//cp4V0zELEwreJvobil+feAMLaGwEYaa/mWoqIpiHc8Ip3wE2\r\nLSTx4fBPjlE2Gubf3KHmLycL+9Ao/Pu960IosxgtJX1nUZkONHj/fu1z68ld\r\nudU498jnSCOXSm18v83wPFYGfQEJeiThMJTJZqfqQFQduQG42P/SybDgAhOd\r\nXIRzRXSsdij8DVp6cdNSK2Kr6hggKnqR+XJ1pbmPGIN3KdkDcbqBCsv2D+a9\r\nETcofxXCXiNcNhe3pit3/rpvEvES/GkBXzYieVhqoqjAXls77bfV9w8nGZTG\r\nn5XCNDE237TqUcmCz7ei/C8RHvhHP3oZr8KShuJgcWHjynFbBubft76eTuzl\r\nGkhx6XMxqRhRO6QPblWvAI1pjKuAvYaKv5RDYOyidzTNJBdrg3E5C5Zlqd7D\r\nOMbsOVlGEoegPo6iR2kXhk/RpMTX+dURKUVNAXamsktAtrIl1h2JOaH8D5T2\r\nNf5M71338DIiptEq2RB6G0V+Ye6vuo62QD2J1t0mqesV9cE7mT/2O8ta8xHv\r\nnNBTg6B5Q7jfScJ56kBS2aRekuSZmcuAKTj5UhhvheAzTVuqw5VXJ19nFFSF\r\nNpSW1ZXBjM4mMJkEz3vq4kku4u67iIqsJmV2aBBxQX4V1i+sGwADX7s7pwFg\r\n/u3aaAq7wUFUV6TOym8p0anYCKbBskEc6xY=\r\n=7v8o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.3_1653566404791_0.6242488949668221"},"_hasShrinkwrap":false},"1.1.4":{"name":"@besermenji/react-native-safetynet","version":"1.1.4","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"0.64.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.6.1","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"12.4.2","prettier":"2.6.2","typescript":"4.7.2"},"gitHead":"c9581f9993d67a99d5bbf78eb533327f3d75ab50","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.4","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-orKA33L3CiaLDFF0zJqGWTOunXvn+TWPv/jC/Q6ZiuRLrkJRk+UiHj8an2QcWlS6orb9RY0rCGetlf7+/hEFbw==","shasum":"41aaaaee1c60fb1c5eebb140f5da7a2bcfab9678","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.4.tgz","fileCount":124,"unpackedSize":2982436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBihPPuV0cNNFD9u7FLf7v66D2w+vapp4LWrsEoIP2iKAiEA7tX5glD6yB8bwyyu6UMuK+HU27GCjY0zZBFOLq77VaI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikObpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqy1Q//TlMxzIGAh/jYJdVE7vFnDyAB9ijT9hX4Rt6zYI2ZtMOK4dcY\r\nwpWVqPtFnuDLGCHqbobXVC5heCDPT4mSkpW/45yt6nLYsv+EdcxLx0MdoMa4\r\nphl8YjqEc/Pmed4vfgx2u81QeAZmqPKAHB0SFKSKytYoMnfN5m5OfMzPWNah\r\nbomS6jon6MQ57YsA3ICIN5PvorKoh0RxvFYYve3WnxtmF11xb49m9YvowZVw\r\nwMi9YJniIAQ7uH1Jc5wrWwKguPbyjsaLhlIi2QwNvR1L8blirQx48pWVx1Xi\r\nvRujSwAuhsAiFFT4u1kmjrkmygTdPklDC2hqzNMe6KjVXg2mqvMx66OCVBs+\r\nVopeZWAVTel16byBe/zAXzN9HeMPxg35MqFi3xa1mP5PC9LxlEi5WRl/HeJl\r\nCryfKKI5ca4ZPz+TFNrtVfDfv4Vrtwv4EIQd9ztgxOVznGvpwym/YwyWhBEc\r\n6ryIyr3T0RE5f4pdLgoBJYpRnFMjxh7btH4ggRsYg+uI3tDet6XwkmzYTmlH\r\nUCNMH+UEFmidqrRLxMmq+GjNDKaHFEZQHGFLGaTAz+vqStNixA4knysso3vm\r\nZHoNsBVCQiUNSwcwZPNVKsWQITLhklfQ8HxrylqFiylC0QdmqtJZkYO7xzuY\r\n208TBH7Jn67swSD/r0rMNxAEXFEgSgs4lEY=\r\n=tHAv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.4_1653663465537_0.08617823936204361"},"_hasShrinkwrap":false},"1.1.5":{"name":"@besermenji/react-native-safetynet","version":"1.1.5","main":"dist/index.js","typings":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=12"},"scripts":{"build":"tsc","prepublishOnly":"yarn build","prettier":"prettier --write '**/*.{js,jsx,ts,tsx,json,md}'"},"keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"prettier":{"singleQuote":true},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":"prettier --write"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"peerDependencies":{"react-native":"0.64.0"},"dependencies":{"node-fetch":"^2.6.1"},"devDependencies":{"@types/node":"14.14.20","@types/node-fetch":"2.6.1","@types/react-native":"0.63.45","husky":"4.3.7","lint-staged":"12.4.2","prettier":"2.6.2","typescript":"4.7.2"},"gitHead":"b0f393e9a332996cb23cf62d467a7d8cc3f56007","description":"## About SafetyNet","bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"homepage":"https://github.com/besermenji/react-native-safetynet#readme","_id":"@besermenji/react-native-safetynet@1.1.5","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-nVzlT0/NLx3yM7y07UkRi6LwbtqeteGO71br7k57fxeKky1guGhRBL7uaCXCBAEAVW25cmlsNCW7NgBbc7rhXA==","shasum":"a36cd636a21a7ca461ffdbb3ab8655244e6942f3","tarball":"https://registry.npmjs.org/@besermenji/react-native-safetynet/-/react-native-safetynet-1.1.5.tgz","fileCount":124,"unpackedSize":2982323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyEXgcw1qsP6Cx7s74oLIEcp8D9Q5rBMuviTAcXEXVoQIhAKq21d4ra8msFCdNfAJkfR9cbygGVD++fCKgayMb9wz/"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikOzJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiXg/9E8e5RNlCGJfTZwHVfagZbMSpwdUBGF45FtoFRsH58bFRSYA5\r\nxzP4XAhYdmgbbW53rsKwmxePP4C86dP9jLTmN6LjjgPkWQCKB/VmTw0AcmLf\r\nfFb3WeA45Y2O6ki1RJCYa2e/E8556mM8GOFLkcpRQdzVUtYAc7NuSF87v/a6\r\nyD5A1W9CwKNCpCXilYet6Ym+xcFqKf9VDTymngBzyDjaWjc+uzUThmOuzA8s\r\njAfNcnuY1OXIe2sbKxiHPWyyFiHSt16ncE2874QE9xRPk+YfevpilJaRXfiN\r\nLiYEBxOL8Q0W+DVu5gcXeay9rYnn8Ky2nTo0w2P62zKARv+UJ6BOgT2tDiqa\r\nclOSQ9RkFDebWI/SyB6PNoB2Lvmpy0FECp3QBoKfpwn4wSjA79hMAamPfvKr\r\nZOy/Vm6wZdOLbdVzXjXF/Wta5qBK+GP2K9SmHPBvaILFgR3NuM2aEgACn5kF\r\nMl+cTeVhVCLXw8m2EVnN4nnU7kK44iN5N9xmYqR04rTanXbQD0rpZZvYi1av\r\nsKZd7/GxeLtpjsyXL3tMkN81AELgwTorQWjgabiRs3ANtiSAGpJXiQkTb52F\r\nKifuypAVJrtZ+6c2GrZcklckFJxQq5Ybmsa7WjAmoSPDuRUvZEH3KZV67nn2\r\n4Rb7F2QK6Na3SeJkTWyG7aRwq6YjkgIHoZM=\r\n=rloS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"besermenji","email":"besermenji.vladimir@gmail.com"},"directories":{},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-safetynet_1.1.5_1653664969586_0.9741114610355059"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-08T14:57:11.172Z","1.1.0":"2022-02-08T14:57:11.410Z","modified":"2022-05-27T15:22:49.898Z","1.1.1":"2022-02-09T17:59:51.821Z","1.1.2":"2022-02-09T18:31:09.006Z","1.1.3":"2022-05-26T12:00:05.003Z","1.1.4":"2022-05-27T14:57:45.799Z","1.1.5":"2022-05-27T15:22:49.816Z"},"maintainers":[{"name":"besermenji","email":"besermenji.vladimir@gmail.com"}],"description":"## About SafetyNet","homepage":"https://github.com/besermenji/react-native-safetynet#readme","keywords":["react-native","safetynet","android device verification","safetynet attestation","recaptcha","safetynet recaptcha","captcha verification"],"repository":{"type":"git","url":"git+https://github.com/besermenji/react-native-safetynet.git"},"bugs":{"url":"https://github.com/besermenji/react-native-safetynet/issues"},"license":"MIT","readme":"# Google SafetyNet Attestation for React Native\n\n## About SafetyNet\n\nGoogle provides an API to verify device integrity and detect harmful apps. See the [SafetyNet documentation](https://developer.android.com/training/safetynet/index.html) for more information.\n\n## Getting Started\n\n`$ npm install @besermenji/react-native-safetynet`\n\nor\n\n`$ yarn add @besermenji/react-native-safetynet`\n\n### Mostly Automatic Installation\n\n`$ react-native link @besermenji/react-native-safetynet`\n\n### Manual installation\n\n#### Android\n\n1. Open up `android/app/src/main/java/[...]/MainActivity.java`\n\n- Add `import com.besermenji.safetynet.RNSafetyNetPackage;` to the imports at the top of the file\n- Add `new RNSafetyNetPackage()` to the list returned by the `getPackages()` method\n\n2. Append the following lines to `android/settings.gradle`:\n   ```\n   include ':@besermenji/react-native-safetynet'\n   project(':@besermenji/react-native-safetynet').projectDir = new File(rootProject.projectDir, \t'../node_modules/@besermenji/react-native-safetynet/android')\n   ```\n3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:\n   ```\n     implementation project(':@besermenji/react-native-safetynet')\n   ```\n\n## Usage\n\n```javascript\nimport RNSafetyNetClient from '@besermenji/react-native-safetynet';\n\n// STEP 1: Send nonce request to server with device unique id\nconst deviceId =\n  'You can use the \"react-native-device-info\" module to get the unique id of device';\n\nconst nonceResult = await RNSafetyNetClient.requestNonce({\n  endPointUrl: 'https://your-server/nonce-creator-endpoint',\n  additionalData: deviceId,\n});\n\nif (!nonceResult.nonce || nonceResult.error) {\n  console.log(nonceResult.error);\n  return;\n}\n\n// STEP 2: Send attestation request to Google Play\n\nconst attestationResult = await RNSafetyNetClient.sendAttestationRequest(\n  nonceResult.nonce,\n  'YOUR API KEY'\n);\n\nif (!attestationResult.jws || attestationResult.error) {\n  console.log('Attestation request failed.');\n  return;\n}\n\n// STEP 3: Pass the JSW to your server for verification.\n\nconst verification = await RNSafetyNetClient.verifyAttestationResult({\n  endPointUrl: 'https://your-server/verification-endpoint',\n  attestationJws: attestationResult.jws,\n});\n```\n","readmeFilename":"README.md"}