[{"data":1,"prerenderedAt":404},["ShallowReactive",2],{"docs-nav-\u002Fdocs\u002Ffake-accounts\u002Fquick-start":3,"\u002Fdocs\u002Ffake-accounts\u002Fquick-start":40},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"Fake Accounts","\u002Fdocs\u002Ffake-accounts","1.docs\u002F4.fake accounts",[9,13,17,27],{"title":10,"path":11,"stem":12},"How it works","\u002Fdocs\u002Ffake-accounts\u002Fhow-fake-account-detection-works","1.docs\u002F4.fake accounts\u002F0.how fake account detection works",{"title":14,"path":15,"stem":16},"Quick start","\u002Fdocs\u002Ffake-accounts\u002Fquick-start","1.docs\u002F4.fake accounts\u002F1.quick start",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Concepts","\u002Fdocs\u002Ffake-accounts\u002Fconcepts","1.docs\u002F4.fake accounts\u002F2.Concepts",[22],{"title":23,"path":24,"stem":25},"Evaluations","\u002Fdocs\u002Ffake-accounts\u002Fconcepts\u002Fevaluations","1.docs\u002F4.fake accounts\u002F2.Concepts\u002F0.evaluations",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Advanced","\u002Fdocs\u002Ffake-accounts\u002Fadvanced","1.docs\u002F4.fake accounts\u002F3.Advanced",[32,36],{"title":33,"path":34,"stem":35},"Zero trust mode","\u002Fdocs\u002Ffake-accounts\u002Fadvanced\u002Fzero-trust-mode","1.docs\u002F4.fake accounts\u002F3.Advanced\u002F1.zero-trust-mode",{"title":37,"path":38,"stem":39},"Custom challenges","\u002Fdocs\u002Ffake-accounts\u002Fadvanced\u002Fcustom-challenges","1.docs\u002F4.fake accounts\u002F3.Advanced\u002F2.custom-challenges",{"id":41,"title":14,"body":42,"description":53,"extension":396,"meta":397,"navigation":400,"path":15,"seo":401,"sitemap":402,"stem":16,"__hash__":403},"docs\u002F1.docs\u002F4.fake accounts\u002F1.quick start.md",{"type":43,"value":44,"toc":389},"minimark",[45,50,54,66,71,76,89,105,111,119,122,126,131,174,179,206,209,243,252,363,366,370,385],[46,47,49],"h1",{"id":48},"fake-account-detection","Fake account detection",[51,52,53],"p",{},"Rupt offers a comprehensive fake account detection solution. If a user is identified as a fake account based on the rules you have configured, Rupt will redirect the user to the challenge flow.",[55,56,58],"alert",{"type":57},"tip",[51,59,60,61,65],{},"This guide is for the fully managed flow and only works on browser apps. For mobile apps, see the ",[62,63,64],"a",{"href":34},"zero trust mode guide",".",[67,68,70],"h2",{"id":69},"how-to-use-rupt-for-fake-account-detection","How to use Rupt for fake account detection",[72,73,75],"h3",{"id":74},"rupt-dashboard","Rupt dashboard",[77,78,79],"ol",{},[80,81,82,83,88],"li",{},"Go to the ",[62,84,87],{"href":85,"target":86},"https:\u002F\u002Fdashboard.rupt.dev\u002Fsettings\u002Ffake-accounts","_blank","fake account settings page"," and enable the fake account rules you want to enforce.",[90,91,96,97],"div",{"className":92},[93,94,95],"relative","rounded-lg","overflow-hidden","\n  ",[98,99],"img",{"src":100,"alt":101,"className":102},"\u002Fimg\u002Fmanaged-challenges-1.png","Enable managed challenges",[103,104],"mt-0","mb-0",[77,106,108],{"start":107},2,[80,109,110],{},"Configure the fake account challenge appearance. You can upload your logo, customize the text, colors and apply any custom CSS.",[90,112,96,114],{"className":113},[93,94,95],[98,115],{"src":116,"alt":117,"className":118},"\u002Fimg\u002Fmanaged-challenges-4.png","Configure challenge appearance",[103,104],[120,121],"hr",{},[72,123,125],{"id":124},"browser-side","Browser side",[77,127,128],{},[80,129,130],{},"Install the Rupt Browser SDK:",[132,133,138],"pre",{"className":134,"code":135,"language":136,"meta":137,"style":137},"language-bash shiki shiki-themes one-dark-pro monokai","yarn add rupt\n#OR\nnpm install rupt\n","bash","",[139,140,141,157,163],"code",{"__ignoreMap":137},[142,143,146,150,154],"span",{"class":144,"line":145},"line",1,[142,147,149],{"class":148},"sUpKv","yarn",[142,151,153],{"class":152},"sgpKs"," add",[142,155,156],{"class":152}," rupt\n",[142,158,159],{"class":144,"line":107},[142,160,162],{"class":161},"sDDnO","#OR\n",[142,164,166,169,172],{"class":144,"line":165},3,[142,167,168],{"class":148},"npm",[142,170,171],{"class":152}," install",[142,173,156],{"class":152},[77,175,176],{"start":107},[80,177,178],{},"Include the Rupt Browser SDK on the registration page:",[132,180,184],{"className":181,"code":182,"language":183,"meta":137,"style":137},"language-js shiki shiki-themes one-dark-pro monokai","import Rupt from \"rupt\";\n","js",[139,185,186],{"__ignoreMap":137},[142,187,188,192,196,199,202],{"class":144,"line":145},[142,189,191],{"class":190},"sqnWQ","import",[142,193,195],{"class":194},"sskXI"," Rupt",[142,197,198],{"class":190}," from",[142,200,201],{"class":152}," \"rupt\"",[142,203,205],{"class":204},"sFXR2",";\n",[51,207,208],{},"Or include the Rupt Browser SDK from a CDN:",[132,210,214],{"className":211,"code":212,"language":213,"meta":137,"style":137},"language-html shiki shiki-themes one-dark-pro monokai","\u003Cscript src=\"https:\u002F\u002Fcdn.rupt.dev\u002Fbrowser\u002Flatest\u002Frupt.js\">\u003C\u002Fscript>\n","html",[139,215,216],{"__ignoreMap":137},[142,217,218,221,225,229,232,235,238,240],{"class":144,"line":145},[142,219,220],{"class":204},"\u003C",[142,222,224],{"class":223},"s2zKK","script",[142,226,228],{"class":227},"spIlZ"," src",[142,230,231],{"class":204},"=",[142,233,234],{"class":152},"\"https:\u002F\u002Fcdn.rupt.dev\u002Fbrowser\u002Flatest\u002Frupt.js\"",[142,236,237],{"class":204},">\u003C\u002F",[142,239,224],{"class":223},[142,241,242],{"class":204},">\n",[77,244,245],{"start":165},[80,246,247,248,251],{},"Call the ",[139,249,250],{},"evaluate"," method from the browser SDK on your authentication pages (signup, login):",[132,253,255],{"className":181,"code":254,"language":183,"meta":137,"style":137},"await Rupt.evaluate({\n  client_id: RUPT_CLIENT_ID,\n  action: \"signup\", \u002F\u002F use \"login\" for login attempts,\n  user: \"USER_ID\",\n  email: \"EMAIL\",\n  phone: \"PHONE\",\n  success_url: `https:\u002F\u002Fexample.com\u002Fsuccess`, \u002F\u002F optional\n});\n",[139,256,257,272,286,302,315,328,341,357],{"__ignoreMap":137},[142,258,259,262,265,267,269],{"class":144,"line":145},[142,260,261],{"class":190},"await",[142,263,195],{"class":264},"syDQ0",[142,266,65],{"class":204},[142,268,250],{"class":148},[142,270,271],{"class":204},"({\n",[142,273,274,277,280,283],{"class":144,"line":107},[142,275,276],{"class":194},"  client_id",[142,278,279],{"class":204},": ",[142,281,282],{"class":264},"RUPT_CLIENT_ID",[142,284,285],{"class":204},",\n",[142,287,288,291,293,296,299],{"class":144,"line":165},[142,289,290],{"class":194},"  action",[142,292,279],{"class":204},[142,294,295],{"class":152},"\"signup\"",[142,297,298],{"class":204},", ",[142,300,301],{"class":161},"\u002F\u002F use \"login\" for login attempts,\n",[142,303,305,308,310,313],{"class":144,"line":304},4,[142,306,307],{"class":194},"  user",[142,309,279],{"class":204},[142,311,312],{"class":152},"\"USER_ID\"",[142,314,285],{"class":204},[142,316,318,321,323,326],{"class":144,"line":317},5,[142,319,320],{"class":194},"  email",[142,322,279],{"class":204},[142,324,325],{"class":152},"\"EMAIL\"",[142,327,285],{"class":204},[142,329,331,334,336,339],{"class":144,"line":330},6,[142,332,333],{"class":194},"  phone",[142,335,279],{"class":204},[142,337,338],{"class":152},"\"PHONE\"",[142,340,285],{"class":204},[142,342,344,347,349,352,354],{"class":144,"line":343},7,[142,345,346],{"class":194},"  success_url",[142,348,279],{"class":204},[142,350,351],{"class":152},"`https:\u002F\u002Fexample.com\u002Fsuccess`",[142,353,298],{"class":204},[142,355,356],{"class":161},"\u002F\u002F optional\n",[142,358,360],{"class":144,"line":359},8,[142,361,362],{"class":204},"});\n",[51,364,365],{},"If the user is identified as a fake account based on the rules you have configured, Rupt will redirect the user to the challenge flow.",[67,367,369],{"id":368},"further-reading","Further reading",[371,372,373,379],"ul",{},[80,374,375,376,65],{},"If you would like a more secure implementation, see ",[62,377,378],{"href":34},"zero trust mode",[80,380,381,382,65],{},"If you would like to build your own challenge flow using the Rupt API directly, see ",[62,383,384],{"href":38},"custom challenges",[386,387,388],"style",{},"html pre.shiki code .sUpKv, html code.shiki .sUpKv{--shiki-default:#61AFEF;--shiki-dark:#A6E22E}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);}html pre.shiki code .sqnWQ, html code.shiki .sqnWQ{--shiki-default:#C678DD;--shiki-dark:#F92672}html pre.shiki code .sskXI, html code.shiki .sskXI{--shiki-default:#E06C75;--shiki-dark:#F8F8F2}html pre.shiki code .sFXR2, html code.shiki .sFXR2{--shiki-default:#ABB2BF;--shiki-dark:#F8F8F2}html pre.shiki code .s2zKK, html code.shiki .s2zKK{--shiki-default:#E06C75;--shiki-dark:#F92672}html pre.shiki code .spIlZ, html code.shiki .spIlZ{--shiki-default:#D19A66;--shiki-dark:#A6E22E}html pre.shiki code .syDQ0, html code.shiki .syDQ0{--shiki-default:#E5C07B;--shiki-dark:#F8F8F2}",{"title":137,"searchDepth":107,"depth":107,"links":390},[391,395],{"id":69,"depth":107,"text":70,"children":392},[393,394],{"id":74,"depth":165,"text":75},{"id":124,"depth":165,"text":125},{"id":368,"depth":107,"text":369},"md",{"head":398},{"title":399},"Start detecting fake accounts",true,{"title":14,"description":53},{"loc":15},"7mRuseGS7LvpfrZIeBLixLV6gsavKIQ5pluMyX5dxMM",1776564889115]