Privacy Policy

Last updated: 2026-08-06

What Games Room is

Games Room is a private games-night app for self-hosted tables. A host creates a room with a six-character invite code; members join, the host sets the rhythm (events, packs, seasons), and the room's mascot voices the page with the personality and political ideology you picked at room create.

We do not run a marketplace, a community, or a public feed. Every room is invite-only. The app's job is to coordinate an in-person night — not to be a social network.

Data we collect

DataWhat it isWhy we collect itStored where
Apple user identifier The opaque id Apple returns from Sign in with Apple. Identifies you across sessions. Supabase public.users.id. We never see your email.
Display name The name you choose to show in your rooms. Lets members recognise each other in rooms. Supabase public.users.display_name.
Per-room membership Your role + join date + last-seen timestamp per room. Drives the leaderboard, briefing trio, and access control. Supabase public.room_memberships.
Per-room app activity RSVPs, scores, season deltas, season awards, pack enablements. The product surface — without it, the app has nothing to do. Supabase public.events, public.transactions, public.season_awards, public.room_packs.
Notifications Local notifications scheduled by the briefing trio (3×3 cadence × RSVP matrix). Remind members about events they RSVPed to. Local on your device. We do not send push notifications.
Per-room mascot API key The OpenAI-compatible key you set in a room, if you set one. Lets the mascot voice fan out per-event notifications in your voice. Plaintext in public.rooms.mascot_api_key for the rooms that set it. Encryption-at-rest is a deferred item (V0.10+).

Data we do NOT collect

How we use your data

Data we share

We do not sell your data. We do not share it with advertisers. We do not share it with analytics vendors.

The only data that leaves your device in any operational sense is:

  1. Reads and writes to Supabase, scoped to the rooms you are a member of (enforced by RLS).
  2. Per-room mascot LLM calls, made only when the room's host has configured a mascot_api_key. The host chooses to make those calls happen by setting the key. Members who do not want their room's mascot to call out to an LLM should ask the host to leave the key unset.

Drowning awards — a specific note

The "Drowning" season-end award (migration 039 + 045) surfaces only to the recipient by default. The host cannot see other members' Drowning awards. A member can opt in to sharing their Drowning award with the room; until they opt in, the row is invisible to everyone except them. The opt-in default is false (privacy-respecting).

Photos

The Casino pack supports per-member scanning of a chip-stack photo. The default behavior is discard the photo, keep the hash and the vision snapshot (F-CAS-03). The iOS app does not upload the original photo. It uploads a hash and a vision-snapshot record (no image bytes). A future version may add a photo-persistence opt-in; that opt-in will be off by default.

Your rights

Children

The App Store age rating is 12+. We do not knowingly collect data from children under 13. The "mild simulated gambling" age-rating trigger is the Casino pack's virtual-chip withdrawal/return cycle, which is virtual points only — not real currency.

Data retention

Security

International transfers

The Supabase project is hosted in the region its dashboard shows. If you are accessing the app from outside that region, your data crosses the public internet to reach the project. The connection is TLS 1.2+.

Changes to this policy

We will update this policy when the data surface changes (a new migration that adds a column with personally identifying implications, a new SDK, a new LLM endpoint). The "Last updated" date at the top of this document reflects the most recent change. Material changes will also be flagged in the V0.x release notes.

Contact

Email: the address published at gamesroom.nateterrence.net (the games-room support page is at /support).

License

This policy text is licensed CC-BY-4.0. You may reuse the structure; please write your own data-handling claims.