D&D Encounter Balancer

Privacy notice

D&D Encounter Balancer · last updated 16 October 2026

In short: the balancer runs entirely in your browser. Your party, encounters, travel tables and experience ledger are never sent to any server — they stay on your device. We do not profile you, there is no account to create. The one cookie we set exists only if you connect Google Drive: it keeps you signed in, and the permission it unlocks is kept on our server, encrypted, until you disconnect — the only thing of yours we hold, and only if you ask.

Who is responsible

The data controller is TirateIniziativa, which runs this project as non-commercial fan content. Contact: [email protected].

What stays in your browser

The app saves a few entries in the browser's own storage. These are not cookies and are never transmitted.

entrywhat it holdswhy
balancer.state.v1 the document you wrote: parties, characters, encounters, travel tables, experience, language and filters so your work is still there after you close the tab — it is the very service you asked for by using the app
balancer.lastVisitDay a date, e.g. 2026-09-27 so the same visit is not counted twice on the same day
balancer.creatures.v1 the creatures you wrote or imported into your own library so your own monsters are there at the next session: the app has no server to keep them on
balancer.play.v1 what a session with the players shows: hit points as numbers or as a label, and whether enemies stay hidden before initiative so the choice is already made the next time you open one
balancer.play.lang the language chosen on the page a player opens so a player reads in their own language without touching anything of yours
balancer.play.host (sessionStorage) the key of the session you have open, for this tab only so reloading the page does not lose control of a link already in your players’ hands. It disappears when you close the tab

You can clear everything at any time, from Save and load → Start over inside the app or by clearing the site data in your browser. Neither requires telling us, because we know nothing about it.

If you export a JSON file or a link, your browser produces them and they go wherever you send them. In the case of a link, the document travels in the part of the address after the #, which browsers never transmit to a server — not even we can see it.

What reaches us: the visit counter

At the bottom of the page there is a public visit counter. When you open the app, your browser sends our server a request that says only "one more visit". The server keeps monthly totals only — for example 2026-09: 412 — plus the running total. No IP addresses, identifiers, cookies, device or referrer information are stored, and there is no way, not even for us, to trace those numbers back to a person or to know how many pages anyone viewed. The "once a day" de-duplication happens in your browser, using the date described above, and is never sent.

The session with the players, if you open one

From the Fight tab you can open a session and pass the link to your players, so that they can see whose turn it is on their own phones. It is the only feature in which any game data passes through our server, and it never starts by itself: until you press "Open the session", nothing leaves your browser.

What leaves is only the projection, built in your browser before anything is sent: the names you typed, the initiative order, health in the form you chose (the numbers, a label such as "bloodied", the damage taken, or nothing) and the conditions you have not hidden. Real monster hit points, notes, stat blocks, combatants you have hidden and armour class you have not revealed are not sent: it is not a screen hiding data it received — that data never leaves. Your document, party, encounters and experience ledger never pass through here.

The names you type may be your players' real names: you choose them, and they stay on the server for the length of the session. There is no sign-in and no profile — whoever has the link reads, and that is all: nothing can be written from the phones. The session address is random and new every time, is indexed nowhere, and is not sent to the server by the browser that opens it, because it lives in the part after the #.

The session is ephemeral. The server keeps only the last state you sent, so it can show it to someone who joins late or reloads, and erases it by itself after half an hour of silence. Pressing "Close the session" erases it at once. No history is kept, no list of sessions, and no record of who connected.

Hosting

The site and the counter run on Cloudflare infrastructure (Cloudflare, Inc., United States), acting as data processor. Like any hosting provider, Cloudflare transiently processes the technical data needed to deliver pages and protect the service from abuse, including the request's IP address. See Cloudflare's privacy policy.

Typefaces

The pages use two typefaces (Cinzel and EB Garamond), and the font files are served from this site, alongside everything else. They used to come from Google Fonts, which meant your browser contacted Google's servers before you had touched anything; since 17 October 2026 it does not. The site makes no third-party connection unless you connect Google Drive yourself, or press the Ko-fi link in the footer.

Google Drive, if you connect it

Connecting Google Drive is optional and never automatic: it starts only when you press “Sign in with Google”, and until you do, the site does not contact Google at all: there is no Google script on the page, and the sign-in window opens only when you press the button. When the page opens it asks our own server whether you are signed in; only if you are does it reach Google, to read the account name and your files.

If you do connect it:

Use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

Transfers, retention, minors

The monthly visit totals contain no personal data and are kept indefinitely, since their purpose is to show how often the tool has been used. A Google Drive sign-in is kept for thirty days from your last visit, or until you disconnect. The state of a session with the players stays on the server while the session is alive: it erases itself after half an hour of silence, or at once if you close it. The data in your browser is kept by you, for as long as you like. The service is not specifically directed at children and does not knowingly collect data about them — it does not knowingly collect data about anyone.

Your rights

Regulation (EU) 2016/679 gives you rights of access, rectification, erasure, restriction, objection and portability. In practice almost no personal data here can be subject to them — the one thing we hold, the encrypted Drive permission if you connected it, is deleted by “Disconnect”, with no need to ask us — and for the rest: what you write is on your device and you delete it yourself. If you think something is wrong you can write to the address above, or lodge a complaint with the Italian Data Protection Authority.

Cookies

One cookie, and only if you connect Google Drive. Until you do, this site sets none at all — neither technical nor profiling, neither first- nor third-party. The local-storage entries described above are not cookies and never leave your device.

cookiewhat it holdswhyhow long
ti_session a random key that opens your Drive sign-in on our server — not the Google permission, no name, no email address, no profile. It is HttpOnly: not even our pages’ scripts can read it so that one sign-in covers every TirateIniziativa tool: it belongs to tirateiniziativa.com and is sent only to its sign-in address (/api/auth), where this app asks for a fresh permission instead of asking you to sign in again thirty days, renewed when you come back. Deleted when you press “Disconnect”, or when Google turns the permission down

It is a strictly necessary cookie: it exists only to deliver the function you asked for by pressing “Sign in with Google”, it is not used to profile you and it is never shared with anyone. That is why no consent banner is shown — connecting Drive is itself the consent, and it can be withdrawn at any time with “Disconnect”.

What it costs, said plainly. Unlike the local-storage entries above, a cookie travels: the browser sends it to our sign-in address whenever a tool asks for a permission. The server keeps only its fingerprint (a SHA-256 hash), never the key itself, so even the stored sessions open nothing on their own — but the cookie does leave your device, which those entries never do. We accepted that because it is the only way a single sign-in can serve every tool. If you would rather it did not exist, do not connect Drive, or press “Disconnect”: it is deleted immediately and the app goes on working exactly as before.