What leaves your machine

A plain accounting of where data goes in each setup: nothing with a human Dungeon Master or a local model, the prompt with a remote key, the tunnel and the broker when sharing, voice relays, the world registry, and what the project itself never sees.

Desktop appAndroid appServer

There is no Open Dungeon Master service in the cloud. The project runs no accounts, receives no campaigns, and sees no play. What leaves your machine depends only on what you connected it to.

By setup

SetupWhat leaves, and to whom
, , no sharingNothing.
Local model, , on your own hardwareNothing. Dice, rules, story, pictures and voice all stay home.
OpenAI keyEach 's prompt to OpenAI: the so far (packed to the ), the party's sheets, the scene, the , , and the player's messages. Picture prompts if pictures are on. Dice and rules never leave; they are resolved locally and only their results are in the prompt.
or another routerThe same prompt to the router and on to the model's provider.
An The same prompt to the agent's provider, on the agent's own account. The program is started with no access to your files or network beyond that.
Sharing an app-hosted worldGame traffic between your device and your friends' apps or browsers, through a . The project's sees the tunnel's name and your IP while you share, never the game. may relay audio through a TURN server when two networks cannot connect directly; the relay cannot read it.
A self-hosted serverWhatever the administrator connected: the same rules apply to each backend.

Small things worth knowing

  • The . Browsing in the fetches a JSON index and, on install, one file over from the registry. Set it to off to browse none.
  • The update check. The desktop app asks GitHub for the newest release when it opens. The Android app does not; Google Play handles it. A server asks GitHub at most every six hours whether a newer release exists, for its About dialog, with an anonymous request; ODM_UPDATE_CHECK=off stops it.
  • The . The desktop and Android apps download cloudflared from GitHub the first time you share.
  • The . It ships with the server. The desktop and Android apps download it once from the server's GitHub release when an admin asks for it, and npm run fetch-ambience reaches public archives only when you run it.
  • . A cloud assistant you connect to a shared through an assistant link reaches it through the project's relay, which forwards the requests and limits each world's traffic, and reads only what its grant allows.
  • The invite . An opendungeonmaster.com/j link opens a static page that shows the destination server and asks the person to confirm. It logs nothing about the game.
  • Dice and rules are always local. No backend ever decides a roll or edits a sheet; the model touches game state only through validated tools the server runs.

Keys

A key is stored on the server that uses it (the one inside your app, or the one you run) and sent only to its provider. It is never sent to players, never in a campaign snapshot, and never to the project. contain it.

Accounts and deletion

An account exists only on the server it was made on. Deleting it there removes it and everything it owns after the grace period; see Accounts, friends and notifications and the privacy policy.

Checked against desktop and Android app 0.17.2 and server 0.26.2 on 2026-10-11. Something wrong or missing? Open an issue.

Download · v0.17.2
Server app · v0.26.2

Optional. Runs the table for a whole group on one machine that stays on. Everyone else just installs the app.

Free & open source · MIT licensed · served from GitHub releases