{"_id":"@vonage/fraud-protection-library","_rev":"79-95f7991a720af1efd51883eca06d2efb","name":"@vonage/fraud-protection-library","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@vonage/fraud-protection-library","version":"0.1.0","keywords":[],"author":"","license":"Apache-2.0","_id":"@vonage/fraud-protection-library@0.1.0","maintainers":[{"name":"aviadhouri.va","email":"Aviad.Houri@vonage.com"},{"name":"keichenblat","email":"kfir.eichenblat@vonage.com"},{"name":"daniel-sapir","email":"daniel.sapir@vonage.com"},{"name":"ekatz","email":"elishai.katz@vonage.com"},{"name":"llihovodov","email":"lily.lihovodov@vonage.com"},{"name":"tabdullah","email":"tyshown.abdullah@vonage.com"},{"name":"jmoramunoz2","email":"JuanFernando.Mora@vonage.com"},{"name":"sailusha","email":"sailu.vejella@vonage.com"},{"name":"hilakl","email":"hila.klein@vonage.com"},{"name":"leppelin","email":"tamir.nahum@vonage.com"},{"name":"molszewski_v","email":"marceli.olszewski@vonage.com"},{"name":"twilliams253","email":"terrence.williams@vonage.com"},{"name":"abolles","email":"andrew.bolles@vonage.com"},{"name":"lallen2","email":"latea.allen@vonage.com"},{"name":"yonatan.kra","email":"yonatan.kra@vonage.com"},{"name":"jtiet","email":"jason.tiet@vonage.com"},{"name":"kpaxian","email":"alexander.mazuruk@gmail.com"},{"name":"vonage-frontier","email":"frontier@vonage.com"},{"name":"vonage_client_media_processing","email":"vcp_webrtc@vonage.com"},{"name":"or.cpc","email":"or.abramovich@vonage.com"},{"name":"jeffswartz","email":"jeff.swartz@vonage.com"},{"name":"rhainer","email":"salome_cat@yahoo.com"},{"name":"deliajolt","email":"delia.ekstrom@vonage.com"},{"name":"raulkg","email":"gaddam.rahul.kumar@gmail.com"},{"name":"liranbin","email":"liranbin@gmail.com"},{"name":"javiermolsanz","email":"javier.molinasanz@vonage.com"},{"name":"v-kpheng","email":"Kongpheng.Nanthavongsa@vonage.com"},{"name":"vgai-dev","email":"vgai-studio-developers@vonage.com"},{"name":"web-il","email":"web-il@vonage.com"},{"name":"iceberg-team","email":"icebergteam@vonage.com"},{"name":"yinon","email":"yinon@hotmail.com"},{"name":"unified_portal","email":"unified_portal_dev@vonage.com"},{"name":"vreporter-npm","email":"vreporter-support@vonage.com"},{"name":"vbcbe","email":"vbc-be@vonage.com"},{"name":"voxip_team","email":"guy.mininberg@vonage.com"},{"name":"yuri.guller","email":"gullerya@gmail.com"},{"name":"idanvon","email":"idan.cohen@vonage.com"},{"name":"nexmo-devrel","email":"devrel@vonage.com"},{"name":"vvd","email":"vivid@vonage.com"},{"name":"vonagemeetings","email":"VBC-Meetings@vonage.com"},{"name":"vonage-jenkins","email":"video.api.ops@vonage.com"},{"name":"maikthomas","email":"michaelgeorge.thomas@vonage.com"},{"name":"germangol","email":"german.goldenstein@gmail.com"},{"name":"arivonage","email":"ari.ades@vonage.com"}],"dist":{"shasum":"8f3b25824a5f6e88a170cee75035778cfbb5c43b","tarball":"https://registry.npmjs.org/@vonage/fraud-protection-library/-/fraud-protection-library-0.1.0.tgz","fileCount":13,"integrity":"sha512-SlApjWogEAd39PHM4qtOcrDr92vQQcACqd8p8yRQT7brS+Q/XhUi295q6jD6/2HdEbqnivA7+FRynZDPuWiW0w==","signatures":[{"sig":"MEUCIQDq9F4dlhONvCi4GyH3yCZDywB0Jq71ur6nZ5a/bVGVfwIgeNK5KKLz0PH10nCF/M36sDve5sVcn++LCfVnmsHz6qA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30978},"jest":{"testMatch":["**/__tests__/**/*.[jt]s?(x)","**/?(*.)+(spec|test).[jt]s?(x)"]},"type":"commonjs","gitHead":"a1f519eadaa053988b7ee919bc265043b604493e","scripts":{"test":"jest tests/"},"_npmUser":{"name":"nexmo-devrel","email":"devrel@vonage.com"},"_npmVersion":"10.4.0","description":"A wrapper around various fraud prevention libraries provided by Vonage in one package. Add a variety of steps to gauge the potential fraud based on a device or telephone number, and build business rules around handling the results. Information can easily ","directories":{},"_nodeVersion":"21.6.1","dependencies":{"node-fetch":"^3.3.2","@vonage/server-sdk":"^3.13.1","node-fetch-commonjs":"^3.3.2","@vonage/number-insight-v2":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","nock":"^13.5.4"},"_npmOperationalInternal":{"tmp":"tmp/fraud-protection-library_0.1.0_1711373992661_0.9904250454627692","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-03-25T13:39:52.660Z","modified":"2026-09-03T04:37:52.545Z","0.1.0":"2024-03-25T13:39:52.825Z"},"license":"Apache-2.0","keywords":[],"description":"A wrapper around various fraud prevention libraries provided by Vonage in one package. Add a variety of steps to gauge the potential fraud based on a device or telephone number, and build business rules around handling the results. Information can easily ","maintainers":[{"email":"web-il@vonage.com","name":"web-il"},{"email":"icebergteam@vonage.com","name":"iceberg-team"},{"email":"unified_portal_dev@vonage.com","name":"unified_portal"},{"email":"vreporter-support@vonage.com","name":"vreporter-npm"},{"email":"vbc-be@vonage.com","name":"vbcbe"},{"email":"gullerya@gmail.com","name":"yuri.guller"},{"email":"idan.cohen@vonage.com","name":"idanvon"},{"email":"devrel@vonage.com","name":"nexmo-devrel"},{"email":"vivid@vonage.com","name":"vvd"},{"email":"VBC-Meetings@vonage.com","name":"vonagemeetings"},{"email":"video.api.ops@vonage.com","name":"vonage-jenkins"},{"email":"andreina.dasilvacabral@vonage.com","name":"adasilvacabral"},{"email":"sarvesh.bisht@vonage.com","name":"sarvesh.bisht"},{"email":"vgai-studio-developers@vonage.com","name":"vgai-dev"},{"email":"vcp_webrtc@vonage.com","name":"vonage_client_media_processing"},{"email":"or.abramovich@vonage.com","name":"or.cpc"},{"email":"lily.lihovodov@vonage.com","name":"llihovodov"},{"email":"daniel.sapir@vonage.com","name":"daniel-sapir"},{"email":"Aviad.Houri@vonage.com","name":"aviadhouri.va"},{"email":"ignacio.delacruz@vonage.com","name":"idelacruz"},{"email":"frontier@vonage.com","name":"vonage-frontier"},{"email":"hila.klein@vonage.com","name":"hilakl"},{"email":"Saurabh.Kulkarni@vonage.com","name":"saurabh.vonage"},{"email":"tamir.nahum@vonage.com","name":"leppelin"},{"email":"antoni.silvestrepadros@vonage.com","name":"asilvonage"},{"email":"Gayathri.Pojula@vonage.com","name":"gpojula"},{"email":"egor.limenko@vonage.com","name":"elimenko.vonage"},{"email":"kanav.bhatia@vonage.com","name":"kanav_vonage"},{"email":"omri.zilber@vonage.com","name":"omrizilber"},{"email":"marceli.olszewski@vonage.com","name":"molszewski_v"},{"email":"sailu.vejella@vonage.com","name":"sailusha"},{"email":"ragul.palanisamy@vonage.com","name":"rpalanisamy-vonage"},{"email":"Valentyn.Bohdan@vonage.com","name":"vbohdan_vonage"},{"email":"andrew.bolles@vonage.com","name":"abolles"},{"email":"gorka.revillafernandez@vonage.com","name":"gorka.vonage"},{"email":"bharath.ps@vonage.com","name":"bharath-vonage"},{"email":"mor.tubul@vonage.com","name":"morvonage"},{"email":"ilan.aradbilavsky@vonage.com","name":"ilan.aradbilavsky.at.vonage.com"},{"email":"chuck.reeves@vonage.com","name":"vonreeves"},{"email":"avi.dantes@vonage.com","name":"avi.dantes"},{"email":"michal.galin@vonage.com","name":"mgalin"},{"email":"jakub.hajduk@vonage.com","name":"jhajduk.vonage"},{"email":"Nitsan.unger@vonage.com","name":"nitsanungerfrontier"},{"email":"vladimir.quezada@vonage.com","name":"vquezada"},{"email":"alessio.didomenico@vonage.com","name":"adidomenico"},{"email":"sathish.r@vonage.com","name":"sathishr-vonage"},{"email":"pamu.pravallika@vonage.com","name":"pravallika-pamu"},{"email":"avijit.bagdi@vonage.com","name":"abagdi"},{"email":"anuradh.lankapalli@vonage.com","name":"anuradhlankapalli"},{"email":"hen.rosenberg@vonage.com","name":"hrosenberg"},{"email":"gokul.narayanan@vonage.com","name":"gokul-vonage"},{"email":"alistair.slowe@vonage.com","name":"aslowe-vcc"},{"email":"vbc-web-cicd@vonage.com","name":"vbc-web-cicd-bot"},{"email":"marina.serranomontes@vonage.com","name":"mserranomontes"},{"email":"Ariel.Bar@vonage.com","name":"ariel12955"},{"email":"Francisco.Becerra@vonage.com","name":"franbecerra"},{"email":"Uri.Haim@vonage.com","name":"urihaim"},{"email":"manuel.veranieto@vonage.com","name":"mvera_vonage"},{"email":"mike.zhylevych@vonage.com","name":"mike.zhylevych"},{"email":"mithun.prabhu@vonage.com","name":"mprabhuvonage"},{"email":"sharad.srivastava@vonage.com","name":"sharad-srivastava2"},{"email":"lukasz.pilarski@vonage.com","name":"lucas_pilarski"},{"email":"manish.ranjan@vonage.com","name":"manish-ranjan07"},{"email":"shubham.rajput@vonage.com","name":"srajput0909"},{"email":"pablo.villenamontes@vonage.com","name":"pvillenamontes"},{"email":"diogo.simoes@vonage.com","name":"dsimoes2"},{"email":"manel.jimeno@vonage.com","name":"manel_vonage"},{"email":"joseantonio.oliveraortega@vonage.com","name":"joliveraortega"}],"readme":"# Vonage Fraud Prevention Library\n\nA wrapper around various fraud prevention libraries provided by Vonage in one\npackage. Add a variety of steps to gauge the potential fraud based on a device\nor telephone number, and build business rules around handling the results.\nInformation can easily be fed into automated systems to provide real-time\nalerting and blocking.\n\n## Installation\n\n### Requirements\n\n* Node.js 18+\n* [A Vonage Developer Account](https://ui.idp.vonage.com/ui/auth/registration)\n* Some modules may require additional account settings, contact Support for more information:\n    * Fraud Defender Decision API\n    * Silent Authentication\n\n### Install Package\n\nYou can include the library in your application by installing it through NPM:\n\n```bash\nnpm install @vonage/fraud-protection-library\n```\n\n## Usage\n\nThe Vonage Fraud Protection Library is a wrapper for the Vonage Node SDK that\nwill automatically set up and process data through a workflow specified by the\ndeveloper. You will create a new instance of our Fraud Protection library with\nyour Vonage credentials, add in the products you want to use as part of the\nFraud Protection workflow, and then run any data you have the workflows.\n\n```js\nconst client = new fraudProtection({\n    apiKey: '<vonage-api-key>',\n    apiSecret: '<vonage-api-secret>',\n    applicationId: '<vonage-application-id>',\n    privateKey: '<vonage-private-key>'\n});\n\n// Add the products you want to run through\nclient.add(new FraudDefenderDecision())\nclient.add(new TFA({ sendPin: true }))\n\n// Keep track of workflow with a \"context\"\nconst existingContext = req.session.context || {};\n// Pass data into the library for us to check against\nconst data = req.session.data || {phone: '14199802340', to: '18003819125'};\n\n// Run the data through the services and get a result\nconst context = await client.run(data, existingContext);\n```\n\nThe `client.run()` method will return a \"context\", which is a result of the\nworkflow runs. This context can be saved off for later, or even augmented with\nadditional info to be re-run (for example, the first run may fail Verify due\nto a missing PIN, but a second run can be done adding in the PIN to check).\n\n```json\n{\n  success: false,\n  results: [\n    {\n      stageName: 'frauddefenderdecision',\n      success: true,\n      message: undefined,\n      stage: 0\n    },\n    { stageName: 'simSwap', success: true, message: null, stage: 1 },\n    {\n      stageName: 'tfa',\n      success: false,\n      message: 'No Request ID',\n      requestId: 'a0b7faa7-8077-4593-816d-xxxxxxxxxxxx',\n      stage: 2\n    }\n  ]\n}\n```\n\nYour application can check `context.success` for an overall pass/fail, or dive\ninto any stage to make individual decisions.","readmeFilename":"README.md"}