Bill Battle Privacy Policy
Effective date: September 2026
Applies to: BillBattle for iPhone (App Store) and TestFlight builds.
The short version
Bill Battle does not track you, does not sell your data, and does not run any analytics or advertising SDK. The receipts you scan are read on your device. Own-phone table play stays on the local network — nothing leaves the room. When your iPhone is signed in to iCloud, a record of each single-player and pass-and-play game is saved to the app's shared iCloud database, as described under "Game records" below.
What we collect and why
If you play as a guest (no account)
No account is created, and the app never asks for your name or email address. If your iPhone is signed in to iCloud, each single-player and pass-and-play game you play is saved to the app's shared iCloud database (see "Game records" below).
If you sign in with Apple (optional)
Sign in with Apple is optional and only enables your profile, friends list, and cross-device sync.
| Data | Why | Where it goes |
|---|---|---|
| Display name | Shows in your profile and the verdict screen | Your iCloud (CloudKit) |
| Email address | Only if you choose to share it with us in the sign-in sheet | Your iCloud (CloudKit) |
| User ID | Ties your profile to your account for sync | Your iCloud (CloudKit) |
| Match records | Lets you see your game history | Your iCloud (CloudKit) |
Your profile syncs through your private iCloud and is subject to Apple's iCloud privacy policy. Game records are the exception: they are saved to the shared database described below.
Game records
When your iPhone is signed in to iCloud, Bill Battle saves each single-player and pass-and-play game to the app's shared (public) iCloud database, which Apple runs for the app. This happens whether or not you have signed in to Bill Battle.
A game record holds: which game was played; an ID for each player (your Sign in with Apple user ID if you signed in, a fixed stand-in ID if you play as a guest, and random IDs for computer players and for people added to the table); each player's moves in the game (ready, finished, score, tap time, knocked out); who lost, or that it was a draw; the game's status and its start and end times; and, if a bill was attached, its total and currency, whether it was scanned or typed, the names shown for the players, the restaurant name if one was attached, and reference IDs for the receipt and invite. A game record holds no photos, email addresses, location, or device identifiers.
The app looks up a game record only by its random ID, which it does not show or share. Because the database is shared by everyone who uses the app, a copy of the app that had that ID could read the record.
Game records stay until they are deleted. The app deletes a game record only when every player leaves a game before it ends. To have your game records deleted, email support@billbattle.app with the dates and times of the games, and we will delete the matching records from the shared database.
Camera and receipt photos
The camera is used to capture restaurant receipts. The photo is processed entirely on your device using Apple's Vision framework — the image is never sent to any server. You can also type the bill total by hand; camera permission is not required to use the app.
Avatar photo (optional)
If you open Profile → Edit Avatar and choose to generate an AI avatar, the photo you select is sent to a third-party AI service (OpenAI or Stability AI). This transfer is explicit, optional, and only happens when you tap "Generate." You can use the app without ever setting an avatar.
Local-network table play (own-phone table)
When two or more players each join from their own phone, the app uses MultipeerConnectivity over the local Wi-Fi network to connect devices. No data is sent to any server. Game state is exchanged peer-to-peer in the room; nothing leaves the local network.
What we do NOT collect
- No analytics, no telemetry, no crash reporters.
- No advertising identifiers (no IDFA, no ATT prompt).
- No location data.
- No persistent device identifiers.
- No usage data sent off-device, other than the game records described above.
Third-party services
| Service | When used | Data sent | Their privacy policy |
|---|---|---|---|
| Apple / iCloud | If you sign in with Apple | Name, email (optional), match history | apple.com/legal/privacy |
| OpenAI / Stability AI | Only if you generate an AI avatar | Selected photo + text prompt | openai.com/policies/privacy-policy / stability.ai/privacy-policy |
No other third-party services receive your data.
Data retention and deletion
- Guest play: no account is created. What you save in the app stays on your iPhone until you delete the app. Game records are kept as described under "Game records" above.
- Signed-in accounts: your profile and match history are stored in your own iCloud, which we cannot reach, so we cannot delete them for you. You can remove them yourself today in Settings › [your name] › iCloud › Manage Storage › Bill Battle › Delete Data from iCloud, and stop using Sign in with Apple with the app in Settings › [your name] › Sign-In & Security › Sign in with Apple › Bill Battle. A Delete Account button in the app is coming.
- Game records in the shared database: see "Game records" above.
Children
Bill Battle is rated 4+ and does not knowingly collect data from children. Guest play requires no information. Account creation requires Sign in with Apple, which is subject to Apple's age-gate.
Contact
BillBattle is made by Graham Alembic LLC, 710 Central Street STE 81594, Kansas City, MO 64105.
Questions about this policy?
Email: support@billbattle.app