Last updated: August 1, 2026
1. Scope
This policy covers the game TCG Trivia on both platforms it is published on: the iPhone app (bundle identifier com.tjtheprogrammer.tcg-trivia) on the Apple App Store, and the Android app (package name com.tjtheprogrammer.tcgtrivia) on Google Play. Both are published by Tyler Johnson, trading as TJ The Programmer ("we", "us", "our"). It does not cover the tjtheprogrammer.com website or any other app — the website has its own privacy policy, linked in the site footer.
The two versions collect the same information and use it the same way. Where they differ, it is because the underlying platform differs — Apple and Google provide different purchase, sign-in, advertising-consent, and privacy-control systems. Those differences are called out by name in the sections below.
Privacy questions and requests go to tyler@tjtheprogrammer.com.
2. The Short Version
- There are no user accounts. We do not ask for your name, email address, or any other contact details in the app.
- Your game progress is stored on your device, not on our servers.
- Ads are served by Google AdMob, which may use your device advertising identifier depending on your platform privacy settings.
- We collect anonymous gameplay statistics to find broken questions and improve the game, and you can switch that off in Settings.
- None of the data described here is linked to your identity, because we do not know who you are.
- We do not sell your data.
3. Data Stored On Your Device
Your high score, coin balance, unlocked question packs, unlocked cosmetics, favorite games, and app settings are stored locally on your device. They are not uploaded to us and we cannot read them. If you delete the app, this data is deleted with it and cannot be recovered.
The app also generates a random player identifier on first launch. It is stored on your device, is not derived from any device or hardware identifier, and is not tied to your Apple Account or Google Account, your name, or anything else that identifies you. It exists so that anonymous gameplay statistics from the same install can be grouped together.
4. Advertising (Google AdMob)
TCG Trivia is free and supported by ads. Ads are served by Google AdMob, a third-party advertising service operated by Google. We show interstitial ads between rounds and rewarded video ads that you choose to watch in exchange for an in-game bonus.
To serve, cap, and measure those ads, AdMob receives information from your device. Depending on your choices this can include your device advertising identifier — the Identifier for Advertisers (IDFA) on iPhone, or the Advertising ID on Android — along with coarse device and app information and ad interaction events. Google acts as an independent data controller for the data it collects through AdMob and processes it under its own privacy policy and its advertising terms. We never receive your advertising identifier ourselves.
On iPhone, the app shows Apple's App Tracking Transparency prompt on first launch. If you choose "Ask App Not to Track", the IDFA is not made available and AdMob serves non-personalized, contextual ads instead. If you allow tracking, AdMob may use the IDFA to personalize and measure advertising across apps and websites owned by other companies.
On Android there is no equivalent system prompt. Your Advertising ID is available to AdMob unless you delete it in Android Settings, and you control personalization through Android's own advertising controls. On both platforms, if you are in the European Economic Area or the United Kingdom, the app shows a consent form before any ads are requested, and no ads are requested at all until you have answered it.
Purchasing Remove Ads permanently turns off interstitial ads in the app.
5. Gameplay Analytics
The app sends anonymous gameplay statistics to a service we run ourselves at quartermaster.tjtheprogrammer.com. This is what the App Store calls "Product Interaction" usage data. It includes events such as app opens, rounds completed, which trading card games were played, per-question shown and correct counts, per-difficulty results, question pack unlocks, cosmetic unlocks, ad views, and purchase events, along with the app version, the platform, and the anonymous player identifier described in Section 3.
We use it for exactly two things: finding questions that are wrong, broken, or unfairly hard, and understanding which parts of the game people actually play. It never includes your name, email address, or any device or advertising identifier, and it is never sold or shared with third parties.
As with any internet connection, your device's IP address is visible to our server when it receives a message from the app. We do not store it. Before anything is written to our database the address is converted into an irreversible scrambled value using a secret that we replace every 30 days, which lets us spot abuse of our service without keeping a record of where any message came from. Once that secret is replaced, even the scrambled values cannot be matched to anything. We also record the standard device and app description that every app sends with a network request, which identifies the app and operating system version rather than you.
You can switch this off at any time: open Settings in the app and turn off "Share Anonymous Play Data", under the Privacy heading. The game works exactly the same with it off.
6. Question Reports
If you tap "Report a problem" on a question in the answer review screen, the app sends us that question's identifier and text, the answer marked correct, the answer you selected, the app version, the anonymous player identifier, and the time of the report. Reports go to the same self-hosted service and are used only to correct the question database. Nothing is sent unless you tap the report button.
Question reports are separate from the gameplay analytics described in Section 5, and turning off "Share Anonymous Play Data" does not disable them. That setting controls automatic background statistics; a question report is only ever sent because you chose to send it. If you do not want to send us a report, do not tap the button.
7. Purchases
In-app purchases are processed entirely by the platform store — Apple through StoreKit on iPhone, Google through Google Play Billing on Android. We never see or store your payment details. The store tells the app which products you own so that Remove Ads, question packs, and cosmetics can be enabled and restored; this is the "Purchase History" data category. Apple and Google each also collect purchase and usage data in their own right, under their own privacy policies.
8. Leaderboards And Achievements
The game uses Game Center on iPhone and Google Play Games on Android. Signing in is optional on both and the game is fully playable without it. If you sign in, your leaderboard scores and achievements are handled by Apple or Google under their own privacy policies, and we do not receive your Apple Account or Google Account details.
On Android, the in-game leaderboard shows the public display names of other signed-in players alongside their scores. Those names come from Google Play Games, not from us, and your own display name is shown to other players on the same basis. If you would rather not appear, do not sign in to Google Play Games, or change your visibility in the Play Games app.
9. Summary Of What Is Collected
- Device advertising ID (IDFA on iPhone, Advertising ID on Android) — collected by Google AdMob, used for third-party advertising and tracking, subject to your tracking choice on iPhone and your Android advertising settings. Not linked to your identity.
- Usage data (product interaction) — collected by us, used for analytics and to fix bad questions. Not used for tracking. Not linked to your identity.
- Purchase history — provided by Apple or Google, used to deliver and restore what you bought. Not used for tracking. Not linked to your identity.
We do not collect contact information, location, contacts, photos, health data, financial information, search history, or browsing history.
10. Your Choices
- iPhone — tracking: answer "Ask App Not to Track" at the App Tracking Transparency prompt, or change your answer later in Settings > Privacy & Security > Tracking. To refuse for every app, switch off "Allow Apps to Request to Track" in the same place.
- iPhone — personalized Apple advertising: Settings > Privacy & Security > Apple Advertising.
- Android — advertising identifier: Settings > Privacy > Ads (the exact path varies by manufacturer and Android version), where you can reset your Advertising ID or delete it entirely. Deleting it stops apps receiving it at all.
- Gameplay analytics: turn off "Share Anonymous Play Data", under the Privacy heading in the app's Settings screen. This does not affect question reports, which are only ever sent when you tap the report button.
- Ads entirely: purchase Remove Ads in the app's Settings screen.
- If you are in the EEA or the UK, the app shows a consent form for advertising and you can reopen it at any time with the Ad Privacy Settings button in the app's Settings screen.
- Everything else: delete the app. All locally stored progress goes with it.
11. Data Retention
Gameplay analytics are kept in two stages. For the first 90 days after an event reaches us, it is stored as sent, including the anonymous player identifier described in Section 3. After 90 days we combine those events into monthly totals — how many times each question was shown and answered correctly, how many rounds were played per game and per difficulty, and similar counts — and the original events, including the player identifier, are permanently deleted.
Those monthly totals contain no player identifier and no other information that could single out an individual player, so they are kept indefinitely. They are what lets us see over time which questions are consistently answered wrong and which parts of the game people play, without holding on to anything about you in particular.
- On-device data: kept until you delete the app.
- Individual gameplay analytics events: 90 days, then combined into anonymous monthly totals and deleted.
- Anonymous monthly totals: kept indefinitely. They cannot be traced back to any player or device.
- Question reports: the content of a report is kept indefinitely, because it describes a problem with a question rather than anything about you. The anonymous player identifier attached to a report is deleted once the reported question has been reviewed.
- Network information: see Section 5. We never store your IP address.
- Advertising data held by Google: retained by Google under its own retention policy. We have no control over it and no copy of it.
- Purchase records held by Apple: retained by Apple under its own retention policy.
12. Children's Privacy
TCG Trivia is not directed at children under 13, and we do not knowingly collect personal information from children under 13. Because the app shows third-party advertising and offers in-app purchases, it is intended for a general audience of older players.
If you believe a child has provided information to us through the app, email tyler@tjtheprogrammer.com and it will be deleted.
13. Access And Deletion Requests
The data we hold is anonymous and is not linked to your name, your Apple or Google Account, or any device identifier, so in most cases we have no way to connect it to a particular person. If you want your gameplay analytics and question reports deleted, email us and we will do what we can to locate and remove any matching records, though we may be unable to identify records as yours. We will respond within 30 days. You can stop any further gameplay analytics being sent at any time by turning off "Share Anonymous Play Data" in the app's Settings screen, and deleting the app removes the player identifier from your device permanently.
Requests about advertising data held by Google should be directed to Google, and requests about purchase records should be directed to Apple, since we do not hold that data.
14. Changes To This Policy
We may update this policy as the app changes. Updates are posted on this page with a new "Last updated" date. Continued use of the app after a change is posted means you accept the revised policy.
15. Contact
Tyler Johnson, trading as TJ The Programmer. tyler@tjtheprogrammer.com