[{"data":1,"prerenderedAt":231},["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":224,"extension":225,"meta":226,"navigation":227,"path":24,"seo":228,"sitemap":229,"stem":25,"__hash__":230},"docs\u002F1.docs\u002F3.account takeover\u002F2.Concepts\u002F0.evaluations.md",{"type":48,"value":49,"toc":222},"minimark",[50,54,63,218],[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 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,123,140,153,170,186,199,212],{"__ignoreMap":69},[73,74,77,81,85,89,92,95,97,100,103,107,111,114,117,120],"span",{"class":75,"line":76},"line",1,[73,78,80],{"class":79},"sfrnW","const",[73,82,84],{"class":83},"sFXR2"," { ",[73,86,88],{"class":87},"syDQ0","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},"sBBc0","=",[73,108,110],{"class":109},"sqnWQ"," await",[73,112,113],{"class":87}," Rupt",[73,115,116],{"class":83},".",[73,118,61],{"class":119},"sUpKv",[73,121,122],{"class":83},"({\n",[73,124,126,130,133,137],{"class":75,"line":125},2,[73,127,129],{"class":128},"sskXI","  action",[73,131,132],{"class":83},": ",[73,134,136],{"class":135},"sgpKs","\"login\"",[73,138,139],{"class":83},",\n",[73,141,143,146,148,151],{"class":75,"line":142},3,[73,144,145],{"class":128},"  user",[73,147,132],{"class":83},[73,149,150],{"class":135},"\"USER_ID\"",[73,152,139],{"class":83},[73,154,156,159,161,164,166],{"class":75,"line":155},4,[73,157,158],{"class":128},"  fingerprint",[73,160,132],{"class":83},[73,162,163],{"class":135},"\"FINGERPRINT_HASH\"",[73,165,91],{"class":83},[73,167,169],{"class":168},"sDDnO","\u002F\u002F First value from the rupt client sdk `getHash` method (current fingerprint)\n",[73,171,173,176,178,181,183],{"class":75,"line":172},5,[73,174,175],{"class":128},"  last_fingerprint",[73,177,132],{"class":83},[73,179,180],{"class":135},"\"LAST_FINGERPRINT_HASH\"",[73,182,91],{"class":83},[73,184,185],{"class":168},"\u002F\u002F Second value from the rupt client sdk `getHash` method (last saved fingerprint)\n",[73,187,189,192,194,197],{"class":75,"line":188},6,[73,190,191],{"class":128},"  version",[73,193,132],{"class":83},[73,195,196],{"class":135},"\"2.32.0\"",[73,198,139],{"class":83},[73,200,202,205,207,210],{"class":75,"line":201},7,[73,203,204],{"class":128},"  ip",[73,206,132],{"class":83},[73,208,209],{"class":135},"\"IP_ADDRESS\"",[73,211,139],{"class":83},[73,213,215],{"class":75,"line":214},8,[73,216,217],{"class":83},"});\n",[219,220,221],"style",{},"html pre.shiki code .sfrnW, html code.shiki .sfrnW{--shiki-default:#C678DD;--shiki-default-font-style:inherit;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic}html pre.shiki code .sFXR2, html code.shiki .sFXR2{--shiki-default:#ABB2BF;--shiki-dark:#F8F8F2}html pre.shiki code .syDQ0, html code.shiki .syDQ0{--shiki-default:#E5C07B;--shiki-dark:#F8F8F2}html pre.shiki code .sBBc0, html code.shiki .sBBc0{--shiki-default:#56B6C2;--shiki-dark:#F92672}html pre.shiki code .sqnWQ, html code.shiki .sqnWQ{--shiki-default:#C678DD;--shiki-dark:#F92672}html pre.shiki code .sUpKv, html code.shiki .sUpKv{--shiki-default:#61AFEF;--shiki-dark:#A6E22E}html pre.shiki code .sskXI, html code.shiki .sskXI{--shiki-default:#E06C75;--shiki-dark:#F8F8F2}html pre.shiki code .sgpKs, html code.shiki .sgpKs{--shiki-default:#98C379;--shiki-dark:#E6DB74}html pre.shiki code .sDDnO, html code.shiki .sDDnO{--shiki-default:#7F848E;--shiki-default-font-style:italic;--shiki-dark:#88846F;--shiki-dark-font-style:inherit}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":125,"depth":125,"links":223},[],"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":224},{"loc":24},"WQMtoldO85X2vaQNXkMKj9jjSjKdry-PMA9IlbjV4-0",1776564888903]