[{"data":1,"prerenderedAt":268},["ShallowReactive",2],{"docs-nav-\u002Fdocs\u002Faccount-takeover\u002Fconcepts\u002Fevaluations":3,"\u002Fdocs\u002Faccount-takeover\u002Fconcepts\u002Fevaluations":45},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"Account Takeover","\u002Fdocs\u002Faccount-takeover","1.docs\u002F3.account takeover",[9,13,17,27,36],{"title":10,"path":11,"stem":12},"How it works","\u002Fdocs\u002Faccount-takeover\u002Fhow-account-takeover-protection-works","1.docs\u002F3.account takeover\u002F0.how-account-takeover-protection-works",{"title":14,"path":15,"stem":16},"Quick start","\u002Fdocs\u002Faccount-takeover\u002Fquick-start","1.docs\u002F3.account takeover\u002F1.quick start",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Concepts","\u002Fdocs\u002Faccount-takeover\u002Fconcepts","1.docs\u002F3.account takeover\u002F2.Concepts",[22],{"title":23,"path":24,"stem":25},"Evaluations","\u002Fdocs\u002Faccount-takeover\u002Fconcepts\u002Fevaluations","1.docs\u002F3.account takeover\u002F2.Concepts\u002F0.evaluations",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Advanced","\u002Fdocs\u002Faccount-takeover\u002Fadvanced","1.docs\u002F3.account takeover\u002F3.Advanced",[32],{"title":33,"path":34,"stem":35},"Custom implementation","\u002Fdocs\u002Faccount-takeover\u002Fadvanced\u002Fcustom-implementation","1.docs\u002F3.account takeover\u002F3.Advanced\u002F1.custom-implementation",{"title":37,"path":38,"stem":39,"children":40,"page":26},"Migrations","\u002Fdocs\u002Faccount-takeover\u002Fmigrations","1.docs\u002F3.account takeover\u002F4.migrations",[41],{"title":42,"path":43,"stem":44},"Identify → Evaluations","\u002Fdocs\u002Faccount-takeover\u002Fmigrations\u002Fmigrate-from-identify-to-evaluate","1.docs\u002F3.account takeover\u002F4.migrations\u002F0.Migrate-from-identify-to-evaluate",{"id":46,"title":23,"body":47,"description":261,"extension":262,"meta":263,"navigation":264,"path":24,"seo":265,"sitemap":266,"stem":25,"__hash__":267},"docs\u002F1.docs\u002F3.account takeover\u002F2.Concepts\u002F0.evaluations.md",{"type":48,"value":49,"toc":259},"minimark",[50,54,63,255],[51,52,23],"h1",{"id":53},"evaluations",[55,56,57,58,62],"p",{},"Evaluations are used to determine if an action should be allowed, denied, or if a challenge should be triggered. To evaluate an action, call the ",[59,60,61],"code",{},"evaluate"," function like so:",[64,65,70],"pre",{"className":66,"code":67,"language":68,"meta":69,"style":69},"language-js shiki shiki-themes material-theme-lighter one-dark-pro monokai","const { verdict, reasons, challenge_id } = await Rupt.evaluate({\n  action: \"login\",\n  user: \"USER_ID\",\n  fingerprint: \"FINGERPRINT_HASH\", \u002F\u002F First value from the rupt client sdk `getHash` method (current fingerprint)\n  last_fingerprint: \"LAST_FINGERPRINT_HASH\", \u002F\u002F Second value from the rupt client sdk `getHash` method (last saved fingerprint)\n  version: \"2.32.0\",\n  ip: \"IP_ADDRESS\",\n});\n","js","",[59,71,72,127,151,168,189,209,226,243],{"__ignoreMap":69},[73,74,77,81,85,89,92,95,97,100,103,107,111,114,117,120,124],"span",{"class":75,"line":76},"line",1,[73,78,80],{"class":79},"sHm3x","const",[73,82,84],{"class":83},"shEKG"," {",[73,86,88],{"class":87},"sZ9uN"," verdict",[73,90,91],{"class":83},",",[73,93,94],{"class":87}," reasons",[73,96,91],{"class":83},[73,98,99],{"class":87}," challenge_id",[73,101,102],{"class":83}," }",[73,104,106],{"class":105},"sut_7"," =",[73,108,110],{"class":109},"sAPXc"," await",[73,112,113],{"class":87}," Rupt",[73,115,116],{"class":83},".",[73,118,61],{"class":119},"sjp9t",[73,121,123],{"class":122},"sJCYa","(",[73,125,126],{"class":83},"{\n",[73,128,130,134,137,141,145,148],{"class":75,"line":129},2,[73,131,133],{"class":132},"sUwfj","  action",[73,135,136],{"class":83},":",[73,138,140],{"class":139},"s9QZx"," \"",[73,142,144],{"class":143},"siibJ","login",[73,146,147],{"class":139},"\"",[73,149,150],{"class":83},",\n",[73,152,154,157,159,161,164,166],{"class":75,"line":153},3,[73,155,156],{"class":132},"  user",[73,158,136],{"class":83},[73,160,140],{"class":139},[73,162,163],{"class":143},"USER_ID",[73,165,147],{"class":139},[73,167,150],{"class":83},[73,169,171,174,176,178,181,183,185],{"class":75,"line":170},4,[73,172,173],{"class":132},"  fingerprint",[73,175,136],{"class":83},[73,177,140],{"class":139},[73,179,180],{"class":143},"FINGERPRINT_HASH",[73,182,147],{"class":139},[73,184,91],{"class":83},[73,186,188],{"class":187},"s42Qa"," \u002F\u002F First value from the rupt client sdk `getHash` method (current fingerprint)\n",[73,190,192,195,197,199,202,204,206],{"class":75,"line":191},5,[73,193,194],{"class":132},"  last_fingerprint",[73,196,136],{"class":83},[73,198,140],{"class":139},[73,200,201],{"class":143},"LAST_FINGERPRINT_HASH",[73,203,147],{"class":139},[73,205,91],{"class":83},[73,207,208],{"class":187}," \u002F\u002F Second value from the rupt client sdk `getHash` method (last saved fingerprint)\n",[73,210,212,215,217,219,222,224],{"class":75,"line":211},6,[73,213,214],{"class":132},"  version",[73,216,136],{"class":83},[73,218,140],{"class":139},[73,220,221],{"class":143},"2.32.0",[73,223,147],{"class":139},[73,225,150],{"class":83},[73,227,229,232,234,236,239,241],{"class":75,"line":228},7,[73,230,231],{"class":132},"  ip",[73,233,136],{"class":83},[73,235,140],{"class":139},[73,237,238],{"class":143},"IP_ADDRESS",[73,240,147],{"class":139},[73,242,150],{"class":83},[73,244,246,249,252],{"class":75,"line":245},8,[73,247,248],{"class":83},"}",[73,250,251],{"class":122},")",[73,253,254],{"class":83},";\n",[256,257,258],"style",{},"html pre.shiki code .sHm3x, html code.shiki .sHm3x{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#C678DD;--shiki-default-font-style:inherit;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic}html pre.shiki code .shEKG, html code.shiki .shEKG{--shiki-light:#39ADB5;--shiki-default:#ABB2BF;--shiki-dark:#F8F8F2}html pre.shiki code .sZ9uN, html code.shiki .sZ9uN{--shiki-light:#90A4AE;--shiki-default:#E5C07B;--shiki-dark:#F8F8F2}html pre.shiki code .sut_7, html code.shiki .sut_7{--shiki-light:#39ADB5;--shiki-default:#56B6C2;--shiki-dark:#F92672}html pre.shiki code .sAPXc, html code.shiki .sAPXc{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#C678DD;--shiki-default-font-style:inherit;--shiki-dark:#F92672;--shiki-dark-font-style:inherit}html pre.shiki code .sjp9t, html code.shiki .sjp9t{--shiki-light:#6182B8;--shiki-default:#61AFEF;--shiki-dark:#A6E22E}html pre.shiki code .sJCYa, html code.shiki .sJCYa{--shiki-light:#90A4AE;--shiki-default:#ABB2BF;--shiki-dark:#F8F8F2}html pre.shiki code .sUwfj, html code.shiki .sUwfj{--shiki-light:#E53935;--shiki-default:#E06C75;--shiki-dark:#F8F8F2}html pre.shiki code .s9QZx, html code.shiki .s9QZx{--shiki-light:#39ADB5;--shiki-default:#98C379;--shiki-dark:#E6DB74}html pre.shiki code .siibJ, html code.shiki .siibJ{--shiki-light:#91B859;--shiki-default:#98C379;--shiki-dark:#E6DB74}html pre.shiki code .s42Qa, html code.shiki .s42Qa{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#7F848E;--shiki-default-font-style:italic;--shiki-dark:#88846F;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":69,"searchDepth":129,"depth":129,"links":260},[],"Evaluations are used to determine if an action should be allowed, denied, or if a challenge should be triggered. To evaluate an action, call the evaluate function like so:","md",{},true,{"title":23,"description":261},{"loc":24},"xroKvYNjQLOGlX8nDTBobK3kUUmzWPEsmYS8CdbDPQo",1780344897745]