[{"data":1,"prerenderedAt":174},["ShallowReactive",2],{"docs:list:en":3,"docs:page:en:credits\u002Ffrontend":59},[4,10,15,20,24,29,33,37,41,46,50,54],{"path":5,"title":6,"description":7,"section":8,"order":9},"\u002Fdocs\u002Fen\u002Fcredits\u002Ffrontend","Frontend Architecture","The web client that decodes, syncs and paints a session in your browser, and what it is built from.","Credits",1,{"path":11,"title":12,"description":13,"section":14,"order":9},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Fintroduction","Introduction","What Alluno is, how a session actually works, and which parts of the product you will meet first.","Getting started",{"path":16,"title":17,"description":18,"section":19,"order":9},"\u002Fdocs\u002Fen\u002Fprivacy-policy\u002Foverview","Overview","What Alluno collects, what it deliberately never sees, and the choices you keep over both.","Privacy policy",{"path":21,"title":17,"description":22,"section":23,"order":9},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Foverview","The agreement between you and Alluno: what you may do, what we owe you, and where each ends.","Terms of service",{"path":25,"title":26,"description":27,"section":8,"order":28},"\u002Fdocs\u002Fen\u002Fcredits\u002Fbackend","Backend Systems","The host on your machine, written in Rust, and what it is built from.",2,{"path":30,"title":31,"description":32,"section":14,"order":28},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Finstallation","Installation","Install the host on the machine you want to reach, pair it once, and open it from any browser afterwards.",{"path":34,"title":35,"description":36,"section":19,"order":28},"\u002Fdocs\u002Fen\u002Fprivacy-policy\u002Fdata-collection-types","Data Types","Every category of data the service touches, why each one exists, and how long it is kept.",{"path":38,"title":39,"description":40,"section":23,"order":28},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Fbilling-payments-payment-terms","Payment Terms","Plans, billing cycles, how payment is taken, and what happens when one fails.",{"path":42,"title":43,"description":44,"section":8,"order":45},"\u002Fdocs\u002Fen\u002Fcredits\u002Frealtime","Real-time Systems","The media and transport layer that moves a frame from the host to your screen in a few milliseconds.",3,{"path":47,"title":48,"description":49,"section":14,"order":45},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Ffaq","FAQ","Straight answers on transports, encryption, what Alluno can and cannot see, plans and licensing.",{"path":51,"title":52,"description":53,"section":23,"order":45},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Fbilling-payments-commercial-disclosure","Commercial Disclosure","The trading details a subscription requires: who sells the service, from where, and on what terms.",{"path":55,"title":56,"description":57,"section":23,"order":58},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Facceptable-use-guidelines","Guidelines","What a machine on Alluno may be used for, and the handful of things that will end an account.",4,{"id":60,"title":6,"body":61,"description":7,"effective":166,"extension":167,"meta":168,"navigation":169,"order":9,"path":5,"section":8,"seo":170,"stem":171,"updated":172,"__hash__":173},"docs\u002Fdocs\u002Fen\u002Fcredits\u002Ffrontend.md",{"type":62,"value":63,"toc":161},"minimark",[64,69,127,131,156],[65,66,68],"h2",{"id":67},"core-technologies","Core technologies",[70,71,72,94,105,116],"field-group",{},[73,74,77],"field",{"name":75,"type":76},"Nuxt and Vue","framework",[78,79,80,87,88,93],"p",{},[81,82,86],"a",{"href":83,"rel":84},"https:\u002F\u002Fnuxt.com",[85],"nofollow","Nuxt"," on ",[81,89,92],{"href":90,"rel":91},"https:\u002F\u002Fvuejs.org",[85],"Vue"," renders the site, the dashboard and the stream client.",[73,95,98],{"name":96,"type":97},"TypeScript","language",[78,99,100,104],{},[81,101,96],{"href":102,"rel":103},"https:\u002F\u002Fwww.typescriptlang.org",[85],", the language the web client is written in.",[73,106,109],{"name":107,"type":108},"Tailwind CSS","styling",[78,110,111,115],{},[81,112,107],{"href":113,"rel":114},"https:\u002F\u002Ftailwindcss.com",[85]," for the styling.",[73,117,120],{"name":118,"type":119},"Vite","build",[78,121,122,126],{},[81,123,118],{"href":124,"rel":125},"https:\u002F\u002Fvite.dev",[85]," builds the web client.",[65,128,130],{"id":129},"in-the-stream-client","In the stream client",[132,133,134,142,149],"card-group",{"cols":28},[135,136,139],"card",{"icon":137,"title":138},"lucide:film","WebCodecs",[78,140,141],{},"Hardware decode in the browser where the platform offers it.",[135,143,146],{"icon":144,"title":145},"lucide:gamepad-2","Gamepad API",[78,147,148],{},"Controller state is read every frame and sent to the host, with rumble returned to the pad on WebRTC sessions.",[135,150,153],{"icon":151,"title":152},"lucide:mouse-pointer-2","Pointer lock",[78,154,155],{},"Raw mouse motion for games that read it, with the cursor shape synced from the host.",[157,158],"read-more",{"title":159,"to":160},"The real time layer under the client","\u002Fdocs\u002Fcredits\u002Frealtime",{"title":162,"searchDepth":58,"depth":58,"links":163},"",[164,165],{"id":67,"depth":28,"text":68},{"id":129,"depth":28,"text":130},null,"md",{},true,{"title":6,"description":7},"docs\u002Fen\u002Fcredits\u002Ffrontend","2026-09-30","NW3y6wrQVVltIDULwexR1gl9RHf39Mg3mIKbeoVewXc",1790778193988]