Two ways to host
Uploaded code is treated as static web content (HTML, CSS, JS, and assets). It
runs in the user’s browser and is never executed on Elata’s servers.
Limits
The zip must contain
index.html. File paths must be relative and plain: no
absolute paths, no .. segments, and no control characters.
Building for Elata
- Use relative URLs. Apps are served under a sub-path, not at the domain root. Load assets and data with relative paths (
./data.json, not/data.json). - Ship the WASM files. Keep the SDK’s packaged
.wasmfiles in your build output. - Use Elata’s bridge, not browser storage, for anything that matters. Each app runs on its own origin, so
localStorageworks but stays on one device. Useapp-statefor data that should follow the user. - Ask for camera access only when needed. rPPG apps run in the Elata frame and the browser will prompt for camera permission.
The sandbox
When someone plays your app, Elata loads it in a sandboxed iframe on an isolated origin for your app. In that sandbox your app:- can run scripts, use the camera (with permission), use Web Bluetooth in supported browsers, use pointer lock, and use its own storage
- cannot read Elata’s cookies or storage, see the user’s wallet or session, or navigate the Elata page
Self-hosted apps
To use your own URL, request external hosting from your app’s Edit page. Once Elata approves the request you can publish releases that point at anhttps:// URL.
Self-hosted URLs must:
- use
https://and be publicly reachable - allow being embedded in a frame (don’t send
X-Frame-Options: DENYor a CSPframe-ancestorsthat excludesapp.elata.bio)
Home-screen install (PWA)
When someone installs your app from its play page (Add to Home Screen), Elata makes the install use your app’s name and icon if your bundle ships a web manifest:- Add
manifest.webmanifest(ormanifest.json) next toindex.html. - Link it from your HTML:
<link rel="manifest" href="manifest.webmanifest">. Use relative paths. - Include at least one icon. A 512×512 maskable PNG works best.
- Set
name,short_name,theme_color, andbackground_color.
start_url, scope, and display so the installed app
reopens correctly. Without a manifest, the install uses your Elata listing’s
name and image.
Next
Host Bridge
How your app talks to Elata
App Listing
Icon, header, screenshots