[{"data":1,"prerenderedAt":374},["ShallowReactive",2],{"docsv3-nav":3,"\u002Fdocs\u002Fv3\u002Fconcepts\u002Fevaluations":198},[4],{"title":5,"path":6,"stem":7,"children":8,"page":188},"V3","\u002Fdocs\u002Fv3","1.docs\u002Fv3",[9,13,17,21,38,87,189],{"title":10,"path":11,"stem":12},"Introduction","\u002Fdocs\u002Fv3\u002Fintroduction","1.docs\u002Fv3\u002F1.Introduction",{"title":14,"path":15,"stem":16},"Quick start","\u002Fdocs\u002Fv3\u002Fquick-start","1.docs\u002Fv3\u002F2.Quick start",{"title":18,"path":19,"stem":20},"Challenge flow","\u002Fdocs\u002Fv3\u002Fchallenge-flow","1.docs\u002Fv3\u002F3.Challenge flow",{"title":22,"path":23,"stem":24,"children":25},"Fundamentals","\u002Fdocs\u002Fv3\u002Ffundamentals","1.docs\u002Fv3\u002F4.fundamentals",[26,30,34],{"title":27,"path":28,"stem":29},"Signup protection","\u002Fdocs\u002Fv3\u002Ffundamentals\u002Fsignup-protection","1.docs\u002Fv3\u002F4.fundamentals\u002F00.Signup protection",{"title":31,"path":32,"stem":33},"Login protection","\u002Fdocs\u002Fv3\u002Ffundamentals\u002Flogin-protection","1.docs\u002Fv3\u002F4.fundamentals\u002F01.Login protection",{"title":35,"path":36,"stem":37},"Access protection","\u002Fdocs\u002Fv3\u002Ffundamentals\u002Faccess-protection","1.docs\u002Fv3\u002F4.fundamentals\u002F02.Access protection",{"title":39,"path":40,"stem":41,"children":42},"Guides","\u002Fdocs\u002Fv3\u002Fguides","1.docs\u002Fv3\u002F5.guides",[43,47,51,55,59,63,67,71,75,79,83],{"title":44,"path":45,"stem":46},"Account sharing prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Faccount-sharing-prevention","1.docs\u002Fv3\u002F5.guides\u002F1.Account sharing prevention",{"title":48,"path":49,"stem":50},"Web scraping prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Fweb-scraping-prevention","1.docs\u002Fv3\u002F5.guides\u002F13.Web scraping prevention",{"title":52,"path":53,"stem":54},"Ban enforcement","\u002Fdocs\u002Fv3\u002Fguides\u002Fban-enforcement","1.docs\u002Fv3\u002F5.guides\u002F14.Ban enforcement",{"title":56,"path":57,"stem":58},"Chargeback dispute","\u002Fdocs\u002Fv3\u002Fguides\u002Fchargeback-dispute","1.docs\u002Fv3\u002F5.guides\u002F15.Chargeback dispute",{"title":60,"path":61,"stem":62},"Multi-accounting prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Fmulti-accounting-prevention","1.docs\u002Fv3\u002F5.guides\u002F16.Multi-accounting prevention",{"title":64,"path":65,"stem":66},"Account takeover prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Faccount-takeover-prevention","1.docs\u002Fv3\u002F5.guides\u002F2.Account takeover prevention",{"title":68,"path":69,"stem":70},"Risky transaction prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Frisky-transaction-prevention","1.docs\u002Fv3\u002F5.guides\u002F20.Risky transaction prevention",{"title":72,"path":73,"stem":74},"Fake account detection","\u002Fdocs\u002Fv3\u002Fguides\u002Ffake-account-detection","1.docs\u002Fv3\u002F5.guides\u002F3.Fake account detection",{"title":76,"path":77,"stem":78},"Bot detection","\u002Fdocs\u002Fv3\u002Fguides\u002Fbot-detection","1.docs\u002Fv3\u002F5.guides\u002F4.Bot detection",{"title":80,"path":81,"stem":82},"Card testing prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Fcard-testing-prevention","1.docs\u002Fv3\u002F5.guides\u002F5.Card testing prevention",{"title":84,"path":85,"stem":86},"Incentive abuse prevention","\u002Fdocs\u002Fv3\u002Fguides\u002Fincentive-abuse-prevention","1.docs\u002Fv3\u002F5.guides\u002F9.Incentive abuse prevention",{"title":88,"path":89,"stem":90,"children":91,"page":188},"Concepts","\u002Fdocs\u002Fv3\u002Fconcepts","1.docs\u002Fv3\u002F6.concepts",[92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184],{"title":93,"path":94,"stem":95},"Evaluations","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fevaluations","1.docs\u002Fv3\u002F6.concepts\u002F01.evaluations",{"title":97,"path":98,"stem":99},"Actions","\u002Fdocs\u002Fv3\u002Fconcepts\u002Factions","1.docs\u002Fv3\u002F6.concepts\u002F02.actions",{"title":101,"path":102,"stem":103},"Signals","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fsignals","1.docs\u002Fv3\u002F6.concepts\u002F03.signals",{"title":105,"path":106,"stem":107},"Checks","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fchecks","1.docs\u002Fv3\u002F6.concepts\u002F04.checks",{"title":109,"path":110,"stem":111},"Risks","\u002Fdocs\u002Fv3\u002Fconcepts\u002Frisks","1.docs\u002Fv3\u002F6.concepts\u002F05.risks",{"title":113,"path":114,"stem":115},"Verdicts","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fverdicts","1.docs\u002Fv3\u002F6.concepts\u002F06.verdicts",{"title":117,"path":118,"stem":119},"Policies","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fpolicies","1.docs\u002Fv3\u002F6.concepts\u002F07.policies",{"title":121,"path":122,"stem":123},"Challenges","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fchallenges","1.docs\u002Fv3\u002F6.concepts\u002F08.challenges",{"title":125,"path":126,"stem":127},"Concurrency","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fconcurrency","1.docs\u002Fv3\u002F6.concepts\u002F09.concurrency",{"title":129,"path":130,"stem":131},"Impossible travel","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fimpossible-travel","1.docs\u002Fv3\u002F6.concepts\u002F10.impossible-travel",{"title":133,"path":134,"stem":135},"Bots","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fbots","1.docs\u002Fv3\u002F6.concepts\u002F11.bots",{"title":137,"path":138,"stem":139},"Devices","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fdevices","1.docs\u002Fv3\u002F6.concepts\u002F12.devices",{"title":141,"path":142,"stem":143},"Fingerprints","\u002Fdocs\u002Fv3\u002Fconcepts\u002Ffingerprints","1.docs\u002Fv3\u002F6.concepts\u002F13.fingerprints",{"title":145,"path":146,"stem":147},"People","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fpeople","1.docs\u002Fv3\u002F6.concepts\u002F14.people",{"title":149,"path":150,"stem":151},"Lists","\u002Fdocs\u002Fv3\u002Fconcepts\u002Flists","1.docs\u002Fv3\u002F6.concepts\u002F15.lists",{"title":153,"path":154,"stem":155},"Account takeover","\u002Fdocs\u002Fv3\u002Fconcepts\u002Faccount-takeover","1.docs\u002Fv3\u002F6.concepts\u002F16.account-takeover",{"title":157,"path":158,"stem":159},"Account sharing","\u002Fdocs\u002Fv3\u002Fconcepts\u002Faccount-sharing","1.docs\u002Fv3\u002F6.concepts\u002F17.account-sharing",{"title":161,"path":162,"stem":163},"Fake account","\u002Fdocs\u002Fv3\u002Fconcepts\u002Ffake-account","1.docs\u002Fv3\u002F6.concepts\u002F18.fake-account",{"title":165,"path":166,"stem":167},"Scraping","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fscraping","1.docs\u002Fv3\u002F6.concepts\u002F19.scraping",{"title":169,"path":170,"stem":171},"Linked accounts","\u002Fdocs\u002Fv3\u002Fconcepts\u002Flinked-accounts","1.docs\u002Fv3\u002F6.concepts\u002F20.linked-accounts",{"title":173,"path":174,"stem":175},"New IP","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fip","1.docs\u002Fv3\u002F6.concepts\u002F21.ip",{"title":177,"path":178,"stem":179},"Anonymizing network","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fanonymizing-network","1.docs\u002Fv3\u002F6.concepts\u002F22.anonymizing-network",{"title":181,"path":182,"stem":183},"Email quality","\u002Fdocs\u002Fv3\u002Fconcepts\u002Femail","1.docs\u002Fv3\u002F6.concepts\u002F23.email",{"title":185,"path":186,"stem":187},"Velocity","\u002Fdocs\u002Fv3\u002Fconcepts\u002Fvelocity","1.docs\u002Fv3\u002F6.concepts\u002F24.velocity",false,{"title":190,"path":191,"stem":192,"children":193,"page":188},"Advanced","\u002Fdocs\u002Fv3\u002Fadvanced","1.docs\u002Fv3\u002F7.Advanced",[194],{"title":195,"path":196,"stem":197},"Proxy setup","\u002Fdocs\u002Fv3\u002Fadvanced\u002Fproxy-setup","1.docs\u002Fv3\u002F7.Advanced\u002F1.Proxy-setup",{"id":199,"title":93,"body":200,"description":365,"extension":366,"meta":367,"navigation":368,"path":94,"rawbody":369,"seo":370,"stem":95,"__hash__":373},"docsv3\u002F1.docs\u002Fv3\u002F6.concepts\u002F01.evaluations.md",{"type":201,"value":202,"toc":359},"minimark",[203,207,216,251,256,342,346],[204,205,93],"h1",{"id":206},"evaluations",[208,209,210,211,215],"p",{},"An evaluation is Rupt's assessment of a single ",[212,213,214],"a",{"href":98},"action"," by a single user from a single device at a single moment. It is the entry point to everything Rupt does: every fingerprinting probe, every risk score, every challenge starts with an evaluation.",[208,217,218,219,223,224,227,228,231,232,235,236,239,240,243,244,247,248,250],{},"When you call ",[220,221,222],"code",{},"evaluate()"," from the SDK, Rupt collects ",[212,225,226],{"href":102},"signals"," from the user's environment, derives ",[212,229,230],{"href":106},"checks"," from those signals plus the user's history, computes ",[212,233,234],{"href":110},"risks"," from the checks, and matches the result against your active ",[212,237,238],{"href":118},"policies"," to produce a ",[212,241,242],{"href":114},"verdict",". If the verdict is ",[220,245,246],{},"challenge",", Rupt also creates a ",[212,249,246],{"href":122}," record.",[252,253,255],"h2",{"id":254},"what-an-evaluation-contains","What an evaluation contains",[257,258,259,279,285,299,305,310,328,337],"ul",{},[260,261,262,263,266,267,270,271,274,275,278],"li",{},"The ",[264,265,214],"strong",{}," the user is trying to take (",[220,268,269],{},"login",", ",[220,272,273],{},"signup",", or ",[220,276,277],{},"access",").",[260,280,262,281,284],{},[264,282,283],{},"user",": a unique identifier when you have one, optional email and phone, and any metadata you want linked to the user.",[260,286,262,287,292,293,298],{},[264,288,289],{},[212,290,291],{"href":138},"device"," and a browser ",[264,294,295],{},[212,296,297],{"href":142},"fingerprint"," the user is using.",[260,300,262,301,304],{},[264,302,303],{},"geolocation"," (IP, latitude\u002Flongitude, city, country, and anonymity flags for VPN, proxy, Tor, and hosting).",[260,306,262,307,309],{},[264,308,230],{}," derived from the signals and history.",[260,311,262,312,314,315,270,318,270,321,274,324,327],{},[264,313,234],{}," that were classified, each with a severity of ",[220,316,317],{},"low",[220,319,320],{},"medium",[220,322,323],{},"high",[220,325,326],{},"maximum",".",[260,329,262,330,333,334,336],{},[264,331,332],{},"policy"," that matched and the ",[264,335,242],{}," it produced.",[260,338,262,339,341],{},[264,340,246],{}," details, if one was issued.",[252,343,345],{"id":344},"where-this-fits","Where this fits",[208,347,348,349,353,354,356,357,327],{},"This page explains what an evaluation ",[350,351,352],"em",{},"is",". The mechanics of wiring ",[220,355,222],{}," into a login, signup, or access flow (and confirming the result server-side) live in the ",[212,358,14],{"href":15},{"title":360,"searchDepth":361,"depth":361,"links":362},"",2,[363,364],{"id":254,"depth":361,"text":255},{"id":344,"depth":361,"text":345},"[object Object]","md",{},true,"---\ntitle: Evaluations\ndescription: An evaluation is Rupt's verdict on a single user action: what an evaluation contains, when to run one, and how it relates to checks, risks, and policies.\n---\n\n# Evaluations\n\nAn evaluation is Rupt's assessment of a single [action](\u002Fdocs\u002Fv3\u002Fconcepts\u002Factions) by a single user from a single device at a single moment. It is the entry point to everything Rupt does: every fingerprinting probe, every risk score, every challenge starts with an evaluation.\n\nWhen you call `evaluate()` from the SDK, Rupt collects [signals](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fsignals) from the user's environment, derives [checks](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fchecks) from those signals plus the user's history, computes [risks](\u002Fdocs\u002Fv3\u002Fconcepts\u002Frisks) from the checks, and matches the result against your active [policies](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fpolicies) to produce a [verdict](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fverdicts). If the verdict is `challenge`, Rupt also creates a [challenge](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fchallenges) record.\n\n## What an evaluation contains\n\n- The **action** the user is trying to take (`login`, `signup`, or `access`).\n- The **user**: a unique identifier when you have one, optional email and phone, and any metadata you want linked to the user.\n- The **[device](\u002Fdocs\u002Fv3\u002Fconcepts\u002Fdevices)** and a browser **[fingerprint](\u002Fdocs\u002Fv3\u002Fconcepts\u002Ffingerprints)** the user is using.\n- The **geolocation** (IP, latitude\u002Flongitude, city, country, and anonymity flags for VPN, proxy, Tor, and hosting).\n- The **checks** derived from the signals and history.\n- The **risks** that were classified, each with a severity of `low`, `medium`, `high`, or `maximum`.\n- The **policy** that matched and the **verdict** it produced.\n- The **challenge** details, if one was issued.\n\n## Where this fits\n\nThis page explains what an evaluation _is_. The mechanics of wiring `evaluate()` into a login, signup, or access flow (and confirming the result server-side) live in the [Quick start](\u002Fdocs\u002Fv3\u002Fquick-start).\n",{"title":93,"description":371},{"An evaluation is Rupt's verdict on a single user action":372},"what an evaluation contains, when to run one, and how it relates to checks, risks, and policies.","wUMtQgtGRTdwrMV3Fus73AS5wX9cRsbwAWg0jlV2MSI",1780344893213]