Privacy

theprototype cloud — how your data is used.

theprototype is a peer-to-peer collaborative 3D app. The engine is open source and serverless: your scene and everything you do in a session travel directly between connected peers, not through our servers. The optional cloud tier below adds only account identity and room discovery.

Account (when you sign in)

Signing in uses GitHub or Google OAuth via our authentication backend (PocketBase). We store your email, display name and avatar URL from the provider to identify you across sessions. You can delete your account at any time by contacting us; that removes this record.

Feature-update emails (opt-in)

If — and only if — you tick "Email me about new features" in your profile, we store that preference and a consent timestamp on your account and may email you occasional product updates. Unticking it withdraws consent and stops the emails. We never sell or share your email.

Rooms

If you choose to list a room publicly, its name, description, host id and current peer count are stored so others can browse and join. Unlisting or ending the session removes it. Rooms you don't list are never recorded. A room you choose to keep (below) is the exception: unlisting it keeps its record, private, so it can be woken later.

Cloud saves and kept rooms (when you use them)

When you save a scene or project to the cloud, or turn on Keep this room, we store the file you saved (its objects, assets and logic, exactly as a .tpscene or .tp holds them), its title, size, app version and object count, when each version was made and which account made it, and an optional small picture of the view. A kept room is saved automatically while it is open (about every minute and a half after a change), so it can be reopened after everyone has left. The newest versions of each save are kept and older ones are removed.

Saves are private: only you and the accounts you name as keepers can open them; they are not public, not shown in the community, and not read or analysed by us. Files are served only through our server with a short-lived key. Deleting a save deletes every version of it; deleting your account deletes all your saves.

Peer-to-peer connections and your IP address

Because sessions are direct browser-to-browser (WebRTC), the peers you connect with can see each other's IP addresses — that is how the technology establishes a direct link, and it applies to any WebRTC app (RFC 8828). Only peers you approve into your session can see yours. If a direct connection cannot be made, traffic is relayed through our TURN server, which forwards encrypted media and data without storing it. Treat joining a session with strangers the way you would any direct connection.

Error reports (anonymous, on unless you switch them off)

When something in the app breaks — an error, a crash, the 3D view losing its graphics context, running out of memory — the app sends us a short anonymous report so we can find and fix it. A report holds: what kind of failure it was, the error message with anything that could name you or your work removed on your device first (web addresses, file paths, email addresses, ids and quoted names are replaced by placeholders), the lines of our own code where it happened, the app version, the kind of device (desktop, phone, tablet or headset), the browser and operating system family and major version, the graphics interface (WebGL or WebGPU), which part of the app you were in (editing, playing, VR) and whether it was the live site or a preview.

It holds no account, no IP address, no scene content, no names, no cookie and no identifier that links two reports to one person; the server that receives it stores none of the request's own details (address, browser string). At most five reports leave one visit. Reports are counted in Cloudflare Workers Analytics Engine and disappear after about three months. Staff see them only as totals per error, release, device type and app area.

To stop them, switch off Settings ▸ Privacy ▸ Send anonymous error reports; from then on nothing is sent from that browser. Builds of the open-source engine that are not ours send nothing at all. Our public status page checks the service from the outside every five minutes and is not counted anywhere.

What we do not collect

No cookies at all, no tracking scripts or advertising analytics, no scene contents, no chat/voice on our servers (those are peer-to-peer). The anonymous error reports above are the one thing the app sends by default, and you can switch them off. The app stores your settings and local library in your own browser (localStorage and IndexedDB); that never leaves your device unless you export it. Network diagnostics (latency, relay usage) stay in your browser. If you configure an AI provider, your prompts go directly from your browser to the endpoint you chose — never through us.

Privacy questions and account-deletion requests: [email protected] — or open an issue at github.com/theprototype-app. See also Terms · Content policy.