Last updated: 29 October 2026
Equation X (“the app”, “we”) is a math and logic challenge app published by KheniTech. This policy explains what personal data we collect, why, and the choices you have. By using the app you agree to this policy.
Equation X is operated by KheniTech, a sole proprietorship of Kheni Dharmesh Tulshibhai (GSTIN 24CAFPK6077E1ZR, Udyam UDYAM-GJ-22-0445790), 3rd Floor, Plot 15, Sangana Row House, P-1, Shyam Dham Chowk, Punagam, Surat, Gujarat 395006, India. Contact: contact@khenitech.com.
| Data | Why |
|---|---|
| Email address | To create and secure your account and sign you in (via Firebase Authentication, including Google and Apple sign-in). |
| Display name | Shown on the leaderboard and in duels so other players can recognise you. |
| Account ID | A unique identifier that links your profile, stats and gameplay together. |
| Gameplay data | Your answers, points, level, streak, and duel history — the core of the game. |
| Push notification token | If you enable notifications, a device token so we can alert you about duels. Stored privately; never shown to other users. |
| Device identifier (Meta) | Android app: only if you allow analytics when the app asks — a device identifier generated by the Meta (Facebook) SDK, sent to Meta with app install and launch events so we can tell which installs came from our own advertising; this is not the Android Advertising ID. iPhone app: only if you tap “Allow” in Apple's tracking prompt — the same Meta identifier plus Apple's advertising identifier (IDFA), sent to Meta with install and launch events so we can see which of our ads brought you to the app. |
| Subscription status | If you subscribe to Equation X Premium, the app store’s purchase receipt and your subscription status (product, start and renewal dates, whether it is active) are processed by RevenueCat, our subscription-management provider, and linked to your account ID so we can unlock Premium. Payment itself is handled entirely by Apple or Google; we never receive your card or bank details. |
| Purchase problem reports | If a subscription purchase fails inside the app (for example a network or store error), the app sends us a short report — the product, your platform, the error category, the app version, the time, and your account ID — so we can investigate and help you. It never includes payment details. Cancelling a purchase yourself is not reported. |
| Crash diagnostics | If the app crashes, a crash report — the error and stack trace, the app version, device model and OS version, and a Crashlytics installation identifier — is sent to Firebase Crashlytics so we can find and fix the fault. It does not include your answers or messages. |
| App usage (analytics) | Only if you allow analytics — when the Android app asks, or on iPhone by tapping “Allow” in Apple's tracking prompt or with Profile → “Share usage analytics” (you can change this any time in Profile): Google Analytics for Firebase records the screens you open, the challenges and duels you play (category, level, and whether an answer was correct), paywall views and purchases, app installs, sessions and app version, together with your account ID, a random app-instance identifier, your device model, operating system version, language, and an approximate location derived from your IP address (country/region level). It never receives your answers, email, name or messages, and no advertising identifier is used on any platform. |
| Product usage events | When you are signed in, the app records the same kinds of events — screens opened, challenges opened, answers (category and whether correct, not the answer itself), duels, paywall views and purchase steps — with your account ID and a random session ID in our own database, so we can see how the app is used and fix problems. These are not shared with anyone and are deleted with your account. |
| Website visits | Only if you accept analytics on our website: Google Analytics records the pages of the website you view (without the web address's extra parameters, except campaign tags such as utm_source), the website that referred you (its domain only), your approximate location derived from your IP address, your browser and device type, and whether you tap an app-store button. It uses Google Analytics cookies (_ga) that last up to 6 months. If you reject, or don't choose, nothing is recorded and no analytics cookies are set. |
We do not collect your precise location, contacts, or photos. The app contains no ads, and it collects your device's advertising identifier only on iPhone, and only if you tap “Allow” in Apple's tracking prompt (Apple's IDFA, used by Meta to attribute app installs to our ads). On Android the advertising-ID permission is removed from the app, and Google Analytics never uses an advertising identifier on any platform. Google Analytics for Firebase and the Meta SDK stay off until you allow — analytics when the Android app asks or in Profile, tracking in Apple's prompt on iPhone; if you decline, or don't answer, they send nothing. Apple shows its tracking prompt once, after your first correct answer or when you open the app for the second time; you can change your answer any time in iPhone Settings → Privacy & Security → Tracking. Apart from that install attribution on iPhone when you allow it, we do not track you across other apps or websites. Earlier app versions (1.1 and before) ran Google Analytics and Meta install reporting without asking, and on Android allowed Google Analytics to use the Android Advertising ID for measurement and advertising audiences. Updating to the latest version applies the choices described here; on Android you can also reset or delete the advertising ID in your device settings.
To operate the app: authenticate you, run challenges and 1‑v‑1 duels, maintain leaderboards and stats, and (optionally) send you duel notifications.
The app is currently free. If we offer Equation X Premium (an optional subscription) or you subscribed in an earlier version, we use this data to: verify with RevenueCat and the app store whether your subscription is active and unlock the features it covers, show your subscription status in your profile, and investigate failed purchases you report so we can help you complete them. We also notify our own team (see Slack in section 3) when accounts are created and when subscriptions start, renew, are cancelled or expire, so we can support you and keep the service running.
If you allow analytics, we use the Google Analytics data described in section 1 to understand how the app is used — which features people use, how long sessions last and whether players come back — and to measure store revenue from subscriptions. It is never used to show you ads or to build advertising audiences.
If you allow analytics in the Android app, or allow tracking in Apple's prompt on iPhone, we also use app install and launch events, reported to Meta as described in section 3, to measure which of our own ads led to installs. We do not sell your data, we do not show ads inside the app, and we do not use your gameplay, email or profile to target advertising to you.
Legal bases. We run your account, gameplay, subscriptions and support to perform our contract with you. App analytics (Google Analytics for Firebase), Meta install reporting and website analytics rely on your consent (GDPR Art. 6(1)(a)), which you can withdraw at any time (Profile → “Share usage analytics” in the app; “Cookie settings” on the website) without affecting the app. Our own product usage events, crash reporting, error reports and operational alerts rely on our legitimate interests (Art. 6(1)(f)) in keeping the service working, secure and improving.
We use Google Firebase (Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Crashlytics, Analytics) as our backend infrastructure. Data is processed on Google’s servers under Google’s terms.
In the Android app only if you allow analytics, and in the iPhone app only if you tap “Allow” in Apple's tracking prompt, we share data with Meta Platforms (Facebook): the app's Meta SDK reports app installations and launches — together with the device identifier described in section 1 — so that we can measure installs generated by our own advertising. Meta processes this data under its own terms. We do not send Meta your email address, display name, answers, points or duel history, Meta receives an advertising identifier only from the iPhone app, and only with your tracking permission (Apple's IDFA); it never receives the Android Advertising ID. Beyond measuring which of our ads led to an install, we do not track you across other apps or websites.
We use Google Firebase for crash reporting (Firebase Crashlytics) on legitimate interest, whether or not you allow analytics: when the app crashes or hits an error — including while you are signed out — it records the technical details, your device model and operating system version, the app version, a random installation identifier and, when you are signed in, your account ID.
RevenueCat is our subscription service provider and processes data on our behalf under its own privacy policy. When you sign in to the iOS or Android app, the app identifies you to RevenueCat by your account ID, so that a subscription can be recognised if one is offered and bought. If you subscribe, RevenueCat also processes the store receipt and the subscription data described in section 1. RevenueCat never receives your email, name or gameplay data.
We use Slack for internal operational alerts: when an account is created, when a subscription starts, renews, is cancelled or expires, and when the app reports a failed purchase attempt, a short notice containing your email address, display name and account ID (plus, for purchases, the product, store, amount and error category) is posted to our private team workspace so we can support you and run the service. When an account is deleted the notice contains no personal data at all. Slack processes this data on our behalf under its own privacy policy; it receives no answers, scores, duel history, payment details or device identifiers.
Operator access. Two members of our team can use a private administration console to view your account details (email, display name, sign-in dates), gameplay statistics, answers and duel history, and your subscription status, in order to provide support, keep the service secure and prevent abuse. From that console they can rename a display name shown to other players, grant or remove promotional Premium access, suspend an account, or delete it as described in section 5. Every such action is recorded in an internal audit log, which identifies your account by its ID only.
If the app crashes or hits an error, it sends us a short error report (error message and technical trace, the screen you were on, your platform and app version, and your account ID) so we can fix the problem. It contains no answers, messages or payment details.
Apart from Google Firebase, Meta, RevenueCat and Slack, we do not share your data with any other third parties, and we do not sell your data. We may disclose data where required by law.
Because Google Firebase operates globally, your data may be stored and processed on servers located outside your country of residence, including in the United States. We rely on Google's infrastructure and its contractual and technical safeguards to protect your data wherever it is processed.
Notifications are optional. You can decline them when asked, or turn them off any time in your device settings. Declining does not limit any other feature of the app.
You can permanently delete your account and all associated data at any time, in‑app: Profile → Delete account. This removes your profile, stats, submissions, duel participation and push token, and deletes your authentication record. The action is immediate and cannot be undone. It does not reach app install and launch events already reported to Meta: those are held by Meta under its own terms and we cannot delete them on your behalf — contact Meta to exercise your rights over that data. It also does not reach crash reports already sent to Firebase Crashlytics: those are keyed to a Crashlytics installation identifier rather than to your account, contain diagnostics only (not gameplay content), and age out of Firebase's systems on its standard retention schedule (approximately 90 days). It also does not reach analytics data already collected by Google Analytics: that data is keyed to an app-instance identifier and, if you allowed analytics, your account ID; Google keeps it for the retention period in section 6. Choosing “Don't allow” in Profile also deletes the analytics data stored on your device.
Deleting your account does not cancel a subscription. Subscriptions are billed by Apple or Google, so cancel in your App Store or Google Play subscription settings first; otherwise it may renew even though the account is gone. Account deletion removes your subscription status record and any purchase problem reports from our systems. The purchase record itself stays with RevenueCat and the app store for as long as billing, refund and fraud-prevention obligations require; email us if you want us to ask RevenueCat to erase it. Operational notices already posted to our private Slack workspace are deleted on request.
To request account and data deletion without opening the app, email us at contact@khenitech.com or visit our support page; we will delete your data within 30 days. You may also ask us to access or correct the personal data we hold about you, or withdraw consent for notifications, using the same contact.
Your other rights. Depending on where you live (for example under the EU or UK GDPR, or India's Digital Personal Data Protection Act, 2023), you may also ask us for a copy of your personal data in a portable, machine-readable format; object to or ask us to restrict processing we base on legitimate interest, such as crash reporting; and nominate someone to exercise your rights if you die or become unable to. Email contact@khenitech.com; we reply within 30 days and may ask you to confirm you own the account. Grievance officer: Kheni Dharmesh Tulshibhai, KheniTech, at the same address. If you are not satisfied with our reply, you can complain to your data-protection authority (in the EU or UK, the supervisory authority where you live; in India, the Data Protection Board of India).
We keep your data while your account exists. When you delete your account, your personal data is removed as described above. To protect against loss, we also keep encrypted backups of the database and of account records in Google Cloud; data you delete (or that is deleted with your account) remains in these backups for at most 180 days, after which the backups are deleted automatically. Subscription and purchase records are kept by RevenueCat and the app stores for as long as billing, tax, refund and fraud-prevention rules require. Internal operational notices in Slack are kept while they are useful for support and deleted on request. Google Analytics (app and website) keeps individual events for 14 months and data linked to a device, cookie or account identifier for up to 14 months after its last activity. Crash reports age out after about 90 days. Our own product usage events are kept while your account exists and deleted with it. Anonymous or aggregated records that no longer identify you — such as weekly counts of sign-ups, subscriptions and duels — may be retained.
Data is transmitted over encrypted HTTPS/TLS connections and stored using Google Firebase’s security infrastructure with access controls that prevent other users from reading your email, notification token, subscription status or purchase reports. Whether you can answer challenges is decided on our servers, never by the app alone.
The app is not directed at children under 13 (or the minimum age of digital consent in your country). We do not knowingly collect personal data from children under that age; if we learn that we have, we will delete it promptly. Parents or guardians with concerns can contact us at contact@khenitech.com.
We may update this policy; material changes will be reflected by the “Last updated” date above.
Questions or data requests: contact@khenitech.com.