EngX uses optional analytics to understand how the platform is used, measure performance, and improve the experience. Analytics may involve third-party service providers. You can change this at any time in Settings → Privacy. Privacy Policy
Version 1.4 — Effective 2026-10-02
This Privacy Policy explains how EngX collects, uses, shares, and protects personal information when you use the service. EngX is operated from Ontario, Canada.
EngX ("EngX," "we," "us") operates an online platform for practicing engineering problems. EngX is the product and trade name used for this service, which is operated from Ontario, Canada. Privacy questions can be sent to privacy@engx.app.
This policy covers information collected through the EngX website and application, including anonymous visitors, registered accounts, and paying subscribers. It does not cover third-party sites we link to.
We collect information in the following categories, and no others:
We do not directly log or store your IP address or browser user-agent string in our own database. Our hosting and analytics infrastructure providers may process this information as part of delivering the service or optional analytics — see §10 and §20.
Your account is created and authenticated through our authentication provider, Supabase. Your email address is managed there. In our own application database, we store a profile record linked to your account: display name, timezone, role, UI preferences, profile visibility settings, and notification preferences.
To provide the core product — practicing and being graded on engineering problems — we store your step-by-step answers and their correctness, which problems and steps you've completed, your daily completion counts, and your streak history. This data determines what EngX shows you (progress, streaks, resume position) and is not used for any purpose beyond delivering and improving that functionality.
If you subscribe to a paid tier, we store your subscription tier, status, billing period, and identifiers issued by Stripe. Stripe processes your payment method and card details directly — EngX's systems never receive or store raw card data. See §20 (Stripe) for the processor relationship.
Every decision you make about optional analytics or optional communications (grant or withdraw) is recorded in an append-only history tied to your account, along with when the decision was made and what triggered it. This history is never edited or deleted — a withdrawal is recorded as a new entry, not by erasing the earlier grant. See §26–28.
EngX uses OpenAI's API in one admin-only context: generating illustrative diagrams. This feature is restricted to EngX administrators and is not available to, or triggered by, regular user activity. In the normal course of using EngX as a learner, your account data is not sent to OpenAI. See §20 (AI processor) for detail, and our Tracking & Analytics Notice is not applicable here — this is a separate, non-analytics data flow.
Separate from optional analytics, the anonymous public problem experience increments the aggregate operational counters described in §3. Those counters are used to understand whether the public practice feature itself is functioning and being used; they are not sent to PostHog, Google Ads, Reddit, or another advertising platform, and they do not contain a visitor/session identifier.
EngX uses PostHog (behavioral analytics), Vercel Web Analytics, Vercel Speed Insights (performance analytics), Google Ads conversion measurement, Reddit advertising conversion measurement, and Google Tag Manager as a consent-gated tag-delivery layer. None of these optional analytics or advertising-measurement tools run until you explicitly grant analytics consent — via the consent banner on your first visit, or later in Settings → Privacy. If you decline or never respond, these optional tools are not initialized. Google Ads is used to measure whether an ad led to a verified subscription purchase; the purchase event includes the transaction value, currency, and a Stripe Checkout Session identifier used for de-duplication, but not raw card details. Full detail is in our Tracking & Analytics Notice.
Our hosting provider, Vercel, necessarily processes standard web request metadata (such as IP address and request logs) to deliver the application and for its own infrastructure security — this happens for every request regardless of analytics consent, the same as with any web host. EngX's own application code does not separately collect or store this information. Hosting providers may retain security and request logs under their own retention policies.
We use the information described above only for the following purposes:
We do not sell your personal information.
Your account and profile information is used to authenticate you and operate the platform.
See §22–25: you can access, correct, export, and delete your account data through self-service tools in Settings.
Your step attempts, progress, completions, and streaks are used exclusively to grade your work and display your own progress back to you.
Subscription and billing identifiers are used to determine your feature entitlements and to process payments through Stripe.
Grading records are used server-side to prevent replay of already-graded submissions. Authentication state is used to prevent one account from accessing or modifying another account's data.
See §9 and our Tracking & Analytics Notice. Analytics data, when you consent to it, is used only to understand feature usage and platform performance.
EngX defines three optional email categories a user may separately consent to: progress emails, product update emails, and marketing/promotional emails. As of this policy's effective date, EngX does not currently send any of these emails — no sender exists yet for any of the three categories. The consent, authorization, and unsubscribe architecture described in §28 exists so that if and when a sender is built, it cannot send to you without your current, specific consent. Transactional/service email (see §19) is separate and unaffected by these preferences.
We may use or disclose information where required to comply with applicable law, respond to lawful requests, or protect the rights, property, or safety of EngX, our users, or others.
The following third parties process data on EngX's behalf. Only currently-used providers are listed:
These providers may process information under their own contractual, security, and data protection terms. EngX limits optional analytics and advertising measurement to visitors who have granted analytics consent.
Our service providers may process data in countries other than your own, including the United States. Where required, EngX relies on the contractual and legal safeguards made available by those providers for cross-border processing.
We keep account and learning data while your account is active and as needed to provide the service. When you delete your account (§23), most account-linked data is deleted. A limited set of records may be retained or de-identified for billing, tax, fraud-prevention, dispute, security, consent-evidence, and other legal obligations. We retain those records only for as long as reasonably necessary for those purposes or as required by applicable law.
You can permanently delete your account from Settings → Privacy Centre → Danger Zone. This cancels any active subscription immediately, and deletes your profile, learning progress, streaks, and AI-feature usage records. Your consent-decision history and billing identifiers are retained in a de-identified form as described in §22, rather than tied to your account.
You can download a copy of your data — profile, learning progress, step attempts, streaks, subscription, and consent history — at any time from Settings → Privacy Centre.
You can edit your display name and timezone directly in your profile settings at any time. For corrections to information outside self-service tools (such as your account email), contact us at privacy@engx.app.
You can withdraw analytics or communications consent at any time from Settings → Privacy Centre. Withdrawal takes effect on your next relevant action — for analytics, no further events are captured from the moment you withdraw; for optional email, no future matching email may be sent (§28).
See §9 and the Tracking & Analytics Notice for exactly how analytics withdrawal works, including what is cleared from your browser.
Every optional email category carries its own unsubscribe link, which works without requiring you to be logged in and takes effect immediately in EngX's systems. Unsubscribing from one optional category (e.g. marketing) never affects transactional/service email, such as password resets or billing receipts. EngX processes unsubscribe requests immediately in the product and, in any event, within the timeframe required by applicable law.
Access to your data is restricted through database-level access controls scoped to your own account, and privileged operations (such as account deletion) are handled server-side using credentials never exposed to the browser. No security measure is perfect, and we cannot guarantee absolute security of information transmitted over the internet.
EngX is intended for users aged 16 and older. We do not knowingly market the service to children under 16. If we learn that personal information was collected from a child in a manner that requires parental or guardian consent and that consent was not obtained, we will take appropriate steps to delete or otherwise address the information.
We may update this policy as EngX's practices change. The version number and effective date at the top of this page will be updated when the policy changes. If a change materially affects how we handle personal information, we will provide additional notice when required by applicable law or when reasonably practicable.
For privacy questions or requests not covered by the self-service tools above, contact us at privacy@engx.app. We aim to respond promptly and, for formal access requests subject to Canadian private-sector privacy law, within 30 days unless a lawful extension applies.