What this records, and what it does not
Every sentence here is about the code that is running today.
Nobody in the room has an account
A member reads the five letter code off the projector and types it with a name they pick. That is the whole of joining: no sign up, no email, no roster, no member list, and a phone that never touches the database. Guests are the default, and a chapter's officers are the only accounts this product has.
What is stored
- Chapters. What a chapter calls itself, its school, and the look it starts new meetings on.
- Officer accounts. An email address, and which chapter each officer runs.
- Meetings and their rundowns. The title, the date, the join code and every question an officer wrote.
- The record. One row per round: the counts, the percentages, and how many answered.
- Argument text an officer approved, with no author on it.
- Access requests. The seven answers a chapter types into the form on the front page.
What is not stored
- No attendance. Nothing says who was in the room. There is no attendance table and no column for one.
- No per-person answers. A poll is kept as counts. The votes behind them live in the meeting server's memory and go when the meeting does.
- No member accounts, and so nothing to link one night to the next.
- No avatar beside anything somebody wrote or voted. A drawn face belongs to a game, never to a submission or a ballot, and a check reads the screens to keep it that way.
- No nickname, and nothing per guest. The nickname a guest picks, their points and XP for the night, and the key that brings their phone back to its own seat after a reload are held in the meeting server's memory and go when the meeting does. The phone itself remembers the nickname for next time and the key for a day.
The one place a name can land
Some activities are games, and a game has a scoreboard: the podium, the closest guesses in an estimate, the biggest swings in a wager, the two people who took a side in a debate. There the name a person picked on their own phone is on the projector and the phones for the night. The record keeps that round's numbers and not the names. An argument is stored with no author, even when its writer pressed the button that put their name to it on the wall. Nothing about a political answer is ever stored beside a name.
What the meeting server writes down
Nothing. It holds the meeting in memory and sends one row of counts per round to the database. Every line it prints to its own operations log carries the join code and nothing about a person, which a test checks by running a meeting and searching the output for everyone who was in it. The activity line an officer watches in the control room does name people, and it is written down nowhere.
Who else touches any of this
- Vercel serves this website and runs its three server routes.
- Railway runs the meeting server.
- Supabase holds the database and the officers' sign in.
- ElevenLabs made the announcer clips once, on a laptop, and they ship as files. It also reads a line already on the projector aloud when an officer asks: the text goes, audio comes back, nothing is kept.
- Google serves the two typefaces, and exports a deck when an officer pastes a Google Slides link. Those bytes pass through memory once, and the link is never logged.
No analytics script, no advertising and no tracker on any page here.
Getting it out, or getting rid of it
A chapter's own numbers download from the meeting page as a file. Deleting a meeting there deletes its rounds and its record with it. To delete the whole chapter, reply to the email that invited it and ask: everything belonging to that chapter goes in one statement.
Last written 24 September 2026.