Privacy & data
What Inngame collects from your players, where it lives, who processes it, and how it gets deleted. Use it for your own privacy policy and the store privacy forms.
What the SDK sends
- What the player writes: messages, and photos or screenshots they choose to attach.
- Identity you provide: your player id, and a name or email only if you put them in the signed identity token. A Steam ID if you verify Steam. See player identity.
- Context with each message: platform, OS, device model, GPU, CPU cores, RAM, screen size and refresh rate, language, time zone, app and SDK version, current and recent scenes, frame rate, memory use, battery level, connection type (Wi-Fi or cellular), and the last log lines (50 by default;
LogLines = 0turns logs off). - Fields you add: anything you pass to
SetContext, such as level or purchases. Don't put secrets or payment data there. - Push token, only if you register one, to tell the player when the team replies.
What it never reads
No advertising identifiers (IDFA, Android advertising ID), no location, no hardware identifiers, no contacts, no files other than the image the player picks. The device is known by a random id created on first launch.
Where it is stored
Conversations, players and settings are in Cloudflare D1, and photos in Cloudflare R2, both under Cloudflare's EU jurisdiction. Photos are served through signed links that expire. Secrets you give Inngame (bot tokens, AI keys, store credentials) are encrypted at rest and never returned by the API.
Who processes it
| Service | What for | When |
|---|---|---|
| Cloudflare | Hosting, database, file storage; translation, AI replies and photo moderation with Workers AI; team emails (sign-in links, invitations, weekly digest) with Email Sending | Always |
| Anthropic or OpenAI | Translation and AI replies | Only if you add your own AI key |
| Apple APNs, Google FCM | Push notifications to players, with your keys | If you set up push |
| Telegram, Discord | Your team answers there; conversations are mirrored into your group or server | If you connect them |
| GitHub | Bug issues, with versions, platforms and logs but no player identity | If you connect a repository |
| Resend | Backup for team emails, used only if Cloudflare Email Sending fails (not players) | Rarely, as a fallback |
| Stripe | Your subscription; refunds you approve | Billing, refunds |
Webhooks only go to the URLs you configure.
Retention and deletion
- By default, data is kept until you or the player delete it.
- Automatic deletion: in each app's Moderation settings, choose how long to keep closed conversations (30 days to 2 years), counted from when they were closed. Past that, they are deleted with their messages and photos, and each run is logged in the audit log. Open conversations are never touched. Only a human admin can change this; agent keys can't.
- Photos a player uploaded but never sent are deleted after 7 days.
- The player: call
Inngame.DeleteData()(Unity) orInngame.shared.deleteMyData()(iOS) from a "Delete my support data" button. It removes the player, their conversations and photos on the server, then local data. - Your team: on the player's page (Players), Export data downloads everything held on them as JSON (for access requests), including your team's internal notes, labelled as such: review the file before sending it and Delete player erases it all. Same through
GET /v1/users/:id/exportandDELETE /v1/users/:id. - Deleting an app deletes all its players, conversations and photos.
- Deleting the organization (Settings → Organization) deletes everything it holds, including files and keys, and cancels the subscription.
- Messages the team unsent stay visible to the team, struck through, until the player or the app is deleted.
For a step-by-step workflow (deadlines, store rules, what to keep), see how to handle player data requests in a game.
Children
Turn on minors mode for apps aimed at children: photo sending is off, the profanity filter and photo moderation are forced on, and automations never send commercial offers.
App Store and Google Play forms
A starting point for a game that uses Inngame as described above. You know what your game adds, so check it against your own data practices.
| Data | App Store privacy label | Google Play data safety |
|---|---|---|
| Messages, photos | User Content: Customer Support, Photos | Messages: Other in-app messages; Photos |
| Player id, Steam ID | Identifiers: User ID | Device or other IDs |
| Name, email (if in the token) | Contact Info: Name, Email Address | Personal info: Name, Email address |
| Device context, logs | Diagnostics: Performance Data, Other Diagnostic Data | App info and performance: Diagnostics |
| Purchases (if you add them) | Purchases: Purchase History | Financial info: Purchase history |
Purpose for all of them: app functionality (customer support). Inngame doesn't use them for tracking or advertising.