title: What is the architecture behind virtualized browsers?
body: <p>Virtualized browser apps such as <a href="https://play.google.com/store/apps/details?id=com.cloudmosa.puffinFree" rel="nofollow" title="Puffin Browser">Puffin Browser</a> and <a href="https://play.google.com/store/apps/details?id=mobi.browser.flashfox" rel="nofollow" title="Flashfox">Flashfox</a> allow mobile devices to playback and interact with Flash and other restricted content.</p>
  
  <p>To my understanding, this is achieved through an RDP-like protocol which effectively means a browser is launched on a cloud server and streamed back to the client app.</p>
  
  <p>However, my confusion comes with my limited use of remote desktop software. Typically, opening an RDP/VNC connection will launch a full-experience shell, sharing the entirety of the GUI including the desktop, menus and application chrome. Instead, only the viewport of a browser session should be shared.</p>
  
  <p>Additionally, how is the user sandboxed to the browser viewport? How are they prevented from right-clicking, opening new tabs, invoking application menus, tabbing to other applications or launching the Start menu, etc.?</p>
  
  <p>I'm not expecting a full break-down of the software and configuration required to achieve this; I'm happy to investigate that myself. I would simply appreciate some pointers to guide me in the right direction.</p>