TableSync
TableSync — Privacy Policy
Last updated: 2 November 2026
TableSync is software for tabletop role-playing games, published by Adam Mosley. This policy covers all of it:
- The TableSync app (
style.tablesync.playeron Google Play), one app with five spaces - Player, DM, Solo, Map and Codex - for Android and as a web app atundeployedadam.com/tablesync/; - and TableSync Desktop, the Windows program, with the player pages it serves to browsers at its table.
The short version
TableSync has no servers and collects no data. There is no TableSync account, no TableSync back end, and nothing you do in the app is sent to the developer. What you make is stored on your own device. Something leaves your device only when you send it: when you join a game master's (DM's) table or open a desktop TableSync address that you typed in, which goes to that computer and nowhere else, or when you send a character, a map, an adventure or another item to another device or person yourself. Looking up a join code sends the code alone to a small address service the developer runs; it never sees your key or your characters.
The Android app has one internet permission for all five spaces. It is used only for those addresses you type in and for the join-code lookup. The Solo and Codex spaces never use it.
What each space stores on your device
| Space | What it keeps, on your device only |
|---|---|
| Player | Characters you create (names, ability scores, spells, equipment, a player name if you enter one, a portrait image if you add one), content packs you import, and preferences such as which character you last opened. |
| DM | Campaigns, party cards, fights in progress with their log, saved encounters, session prep, the campaign notebook, and the last desktop table address you used (never its key). |
| Solo | Heroes, adventures you import or write, your progress and save slots, and journals with your notes. |
| Map | Map images you import, their grid alignment, your scenes, the screen calibration for each display, and the last desktop table you opened, with its player key, so it can open it again. |
| Codex | The records you opened recently, the lists you pin records into, and your reading settings. |
This is held in the app's own storage on your device; in a browser, in your browser's storage for this site. Each space keeps its own store, and an item handed from one space to another on the same device waits in the receiving space's storage until that space opens it. Uninstalling the app, or clearing the site's data in your browser, removes it all. The developer cannot see it, and it is not sent to any service operated by the developer.
Android backup. The TableSync app opts out of Android's system backup, so your data is not copied to your Google account. Use the app's own export or backup files to move it to another device.
What is sent off your device, and when
Nothing is transmitted unless you take one of these actions:
- Joining a DM's table (Player space). You enter an address and a key that the DM gives you. Your character sheet is then sent to, and kept on, that DM's computer so the DM can see your character during play. That computer is not operated by the developer. What the DM does with it is between you and your DM.
- Joining by a join code (Player space). A DM can hand you a short code instead of an address. To turn it into the table's address, the app asks a small redirector service run by the developer (
undeployedadam.com) where that code points. That request carries the code and nothing else — not your key, not your name, not your characters — and the service keeps no record of who asked. Your key then goes only to the DM's own table, exactly as in step 1. - Opening a desktop TableSync table (DM and Map spaces). The DM space can open the DM screen, and the Map space the projector view, of a TableSync Desktop that you or your DM run. The app connects only to the address you enter, a computer run by you or your DM, not by the developer.
- A table reached over the internet. A DM can publish their table through a tunnel, so the address you join may be a public
https://…name rather than a local network one. The connection is encrypted to the tunnel provider and terminated at the DM's machine; the tunnel operator (Cloudflare, for the launcher's built-in option) can see the traffic in transit as any relay can. The developer is not on that path. - Sending something to another device or person (every space). The spaces hand each other one item at a time — a character, a party, an encounter, session prep, an adventure, a map or a rules record — as a TableSync Link. Between spaces on the same device, Send keeps it on the device. To another device it is a file you save or share, or a code you copy and paste. It goes only where you send it: if you paste a code into a chat or share a file by email, that service carries it under its own terms.
- Exporting to a file (every space). The file goes where you put it.
The app makes no other network requests. It contains no advertising, no analytics, no crash reporting, no tracking of any kind, and no third-party SDK that collects data.
The app is able to use plain HTTP connections, because a DM's table on a local network runs on a plain address rather than a public HTTPS site. Those connections go only to the address you type in; a published table's https:// address is used as given and never downgraded.
The web app. Opening TableSync under undeployedadam.com/tablesync/ is an ordinary visit to a web page: the site's host (Hostinger) and its content delivery network handle the request as they would for any website. Your browser then keeps the app's files so it works offline; a space's larger data files are fetched the first time you open that space. Nothing you make in the web app is sent back to the site.
Other apps on the device. Any check the Android app makes about other apps (for example, whether Google Play is there to open a store link) happens on the device and is not sent anywhere.
Children
TableSync is not directed at children under 13, and collects no personal information from anyone, including children.
Permissions
| Android permission | Used for |
|---|---|
INTERNET | Only reaching an address you enter: a DM's table (Player space) or a desktop TableSync (DM and Map spaces), and looking up a join code (Player space). Solo and Codex never use it. |
VIBRATE | Vibration for the dice, hits and your turn. |
The app also carries an internal signature-level permission generated by the Android support libraries (DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION), which grants no access to anything on your device and cannot be used by other apps. It does not request location, contacts, camera, microphone, or storage permissions. Choosing a portrait or a map image, or a file to import, uses the system's own picker, which hands the app the single file you chose.
Your data, your control
Because everything is on your device, you are in control of it:
- Delete a character, campaign, adventure, map or list in the app.
- Export to a file to keep or move it.
- Uninstall the app, or clear the site's data in your browser, to remove everything at once.
For a sheet you have sent to a DM's table, ask that DM to remove it — the Player space deliberately cannot delete from a DM's machine. An item you sent to someone else's device is theirs to delete.
Third-party content
The app includes game rules content from the System Reference Document 5.1 and 5.2.1, published by Wizards of the Coast LLC under the Creative Commons Attribution 4.0 International License. That content is bundled in the app and involves no data collection. Full attribution is in the app under About, and in the NOTICE file shipped with the desktop download.
TableSync is an independent project. It is not affiliated with, endorsed by or sponsored by Wizards of the Coast LLC.
Changes
If this policy changes, the date at the top changes with it, and the updated policy ships with the next release of the app.
Contact
Questions about this policy: adamisdeployed@gmail.com