Privacy
The short version: the app stores what you type into it, an email address so you can log in, and very little besides — the whole list is below, and it is a complete list rather than an illustrative one. There are no analytics, no trackers and no advertising. Nothing here is sold, and nothing here trains anything.
Last updated: 2026-08-22
What the app stores
- An email address and a password hash — so you can log in and get back in if you forget.
- A Google account identifier, only if you choose “Continue with Google”.
- A display name, only if you sign in with Google — the name on your Google account is stored, so the app has something to call you. You are never asked to type one in.
- A two-factor secret, only if you turn two-factor on.
- Whatever you write in your campaigns — characters, notes, tags, everything you make, including any files you upload.
- A reply address, only if you type one into the contact form — so a person can get back to you.
What it does not
You are not asked for a display name at sign-up. No location, no address book, no phone number. No payment card — Stripe handles payment and the app never sees your card details.
Who can see your notes
Private notes and your own tags are private to you. That is enforced in the database query itself, not in what the screen chooses to draw — there is no GM override and no administrator override, ever. Party notes are a separate, deliberately shared board; anything you put there is meant for your table.
A GM decides, per item, whether players can see a Cast member, a Set, a Prop or an Ensemble. When they share one, players see its public description — never the GM's private notes.
Cookies
Two, and neither one tracks you:
- PHPSESSID — Keeps you logged in while you use the app. Strictly necessary — without it there is no way to know one page request is the same person as the last.
- theme — Remembers which theme you picked, so the app looks the same next time. Set only when you choose a theme.
Who else touches your data
Four companies, and this list is complete rather than illustrative:
- Hostinger (Hosting and database) — Everything the app stores, because the app runs there.
- Google (Optional sign-in) — Only if you choose "Continue with Google": your email address and a stable account identifier. The app requests nothing else — no contacts, no Drive, no profile beyond a name.
- Stripe (Payment for the one-time unlock) — Your payment details, which Stripe holds and the app never sees or stores.
- Resend (Transactional email) — Your email address, when the app needs to send you a password-reset link or reply to something you sent us.
How long things are kept
- Your account and your campaigns are kept until you ask for them to be deleted. There is no automatic expiry.
- A message you send through the contact form is kept for at most 24 months, and is deleted 12 months after it is dealt with.
- The contact form records a one-way fingerprint of your network address, so that nobody can flood it. That is erased after 30 days. Your actual address is never stored.
- The contact form also records which browser you sent the message from — that is the first thing anyone needs in order to reproduce a bug. It is erased on the same schedule as the fingerprint above, leaving your message and any reply address behind.
Getting your data, or getting rid of it
A GM can export a campaign at any time from Import & Export — characters, Sets, Props, Ensembles and the campaign template, as one file.
There is no self-serve delete button. Ask at hello@actvi.grailbot.com and a person will handle it — we would rather say that plainly than imply a button that does not exist.
Age
You need to be 13 or older to have an account. That is because signing up requires an email address, and collecting one from a younger child brings requirements we have not built yet. It is a limit we intend to lift: the app was deliberately designed without direct messaging, profiles or data collection so that younger players could use it safely, and that work is what will make it possible.
Changes
If this policy changes in a way that matters, the change will be announced in the app before it takes effect.