[{"data":1,"prerenderedAt":144},["ShallowReactive",2],{"docs-nav-\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwhen-to-call-the-attach-function":3,"\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwhen-to-call-the-attach-function":92},[4],{"title":5,"path":6,"stem":7,"children":8,"page":46},"Account Sharing","\u002Fdocs\u002Faccount-sharing","1.docs\u002F2.account sharing",[9,13,17,21,47,72],{"title":10,"path":11,"stem":12},"How it works","\u002Fdocs\u002Faccount-sharing\u002Fhow-account-sharing-prevention-works","1.docs\u002F2.account sharing\u002F0.How account sharing prevention works",{"title":14,"path":15,"stem":16},"Quick start","\u002Fdocs\u002Faccount-sharing\u002Fquick-start","1.docs\u002F2.account sharing\u002F1.Quick start",{"title":18,"path":19,"stem":20},"Events & actions","\u002Fdocs\u002Faccount-sharing\u002Flisten-to-events","1.docs\u002F2.account sharing\u002F2.Listen to events",{"title":22,"path":23,"stem":24,"children":25,"page":46},"Concepts","\u002Fdocs\u002Faccount-sharing\u002Fconcepts","1.docs\u002F2.account sharing\u002F4.Concepts",[26,30,34,38,42],{"title":27,"path":28,"stem":29},"Challenges","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fchallenges","1.docs\u002F2.account sharing\u002F4.Concepts\u002F0.challenges",{"title":31,"path":32,"stem":33},"Device limits","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fconfigure-device-limits","1.docs\u002F2.account sharing\u002F4.Concepts\u002F1.configure-device-limits",{"title":35,"path":36,"stem":37},"Groups","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fgroups","1.docs\u002F2.account sharing\u002F4.Concepts\u002F2.groups",{"title":39,"path":40,"stem":41},"Automatically detach devices","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fautomatically-detaching-devices","1.docs\u002F2.account sharing\u002F4.Concepts\u002F3.automatically-detaching-devices",{"title":43,"path":44,"stem":45},"Excluded Devices","\u002Fdocs\u002Faccount-sharing\u002Fconcepts\u002Fexcluded-devices","1.docs\u002F2.account sharing\u002F4.Concepts\u002F4.excluded-devices",false,{"title":48,"path":49,"stem":50,"children":51,"page":46},"Advanced","\u002Fdocs\u002Faccount-sharing\u002Fadvanced","1.docs\u002F2.account sharing\u002F8.Advanced",[52,56,60,64,68],{"title":53,"path":54,"stem":55},"Signing the user out","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fsigning-the-user-out","1.docs\u002F2.account sharing\u002F8.Advanced\u002F1.Signing the user out",{"title":57,"path":58,"stem":59},"Webhooks","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwebhooks","1.docs\u002F2.account sharing\u002F8.Advanced\u002F2.webhooks",{"title":61,"path":62,"stem":63},"Metadata","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fusing-metadata","1.docs\u002F2.account sharing\u002F8.Advanced\u002F3.Using metadata",{"title":65,"path":66,"stem":67},"When to attach","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Fwhen-to-call-the-attach-function","1.docs\u002F2.account sharing\u002F8.Advanced\u002F5.When to call the attach function",{"title":69,"path":70,"stem":71},"Tracking conversions","\u002Fdocs\u002Faccount-sharing\u002Fadvanced\u002Ftracking-conversions","1.docs\u002F2.account sharing\u002F8.Advanced\u002F8.Tracking conversions",{"title":73,"path":74,"stem":75,"children":76,"page":46},"Signals","\u002Fdocs\u002Faccount-sharing\u002Fsignals","1.docs\u002F2.account sharing\u002F9.Signals",[77,81,85,89],{"title":78,"path":79,"stem":80},"High velocity","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fhigh-velocity","1.docs\u002F2.account sharing\u002F9.Signals\u002F1.High velocity",{"title":82,"path":83,"stem":84},"Impossible travel","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fimpossible-travel","1.docs\u002F2.account sharing\u002F9.Signals\u002F2.Impossible travel",{"title":86,"path":87,"stem":88},"Concurrency","\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fconcurrency","1.docs\u002F2.account sharing\u002F9.Signals\u002F3.Concurrency",{"title":31,"path":90,"stem":91},"\u002Fdocs\u002Faccount-sharing\u002Fsignals\u002Fdevice-limits","1.docs\u002F2.account sharing\u002F9.Signals\u002F4.Device limits",{"id":93,"title":65,"body":94,"description":132,"extension":138,"meta":139,"navigation":140,"path":66,"seo":141,"sitemap":142,"stem":67,"__hash__":143},"docs\u002F1.docs\u002F2.account sharing\u002F8.Advanced\u002F5.When to call the attach function.md",{"type":95,"value":96,"toc":131},"minimark",[97,102,107,121,125],[98,99,101],"h1",{"id":100},"when-to-call-the-attach-function","When to call the attach function",[103,104,106],"h3",{"id":105},"web-apps","Web Apps",[108,109,110,111,115,116,120],"p",{},"For most web apps, you should call the attach function as soon as the user ID is available (i.e. login callback or session initialization) ",[112,113,114],"strong",{},"and"," and on every logged-in page once. This ensures that account sharing prevention works on all pages. If for some reason, you don't want to do that, then at minimum call the ",[117,118,119],"code",{},"attach"," function on all key pages of your application (such as dashboard, login, sign up). Every page that has Rupt called is covered by the account sharing prevention mechanisms of Rupt.",[103,122,124],{"id":123},"mobile-apps","Mobile apps",[108,126,127,128,130],{},"For mobile apps, you should call the ",[117,129,119],{}," function as soon as the user ID is available or whenever it changes. Then you should also call it on every key page. No need to call it on all pages, but only on key pages (such as watching video page or the transaction page) or on significant events.",{"title":132,"searchDepth":133,"depth":133,"links":134},"",2,[135,137],{"id":105,"depth":136,"text":106},3,{"id":123,"depth":136,"text":124},"md",{},true,{"title":65,"description":132},{"loc":66},"RmJT0m8fiGsTrVvECwRNkgKx6jDgizavm5XmjwkJIX0",1776716926874]