Legal
Privacy Policy
Last updated August 16, 2026
This Privacy Policy explains how MathFlow (“we”, “us”, or “our”) collects, uses, and shares information when you use the MathFlow website and related services (the “Service”).
1. Information we collect
We collect personal information that identifies you or relates to your use of the Service. In practice that includes:
- Account information. When you sign up through Clerk we receive your email address, name, profile image (if provided), and Clerk user id. We store a matching user record in our database.
- Waitlist information. If you join the waiting list (including when signup adds you automatically), we store your email, optional name, and source notes so we can contact you about launch access and avoid duplicate invites.
- Billing information. Payments are processed by Stripe. We store subscription status, Stripe customer/subscription ids, trial and conversion timestamps, cancel flags, and (when present) a payment card fingerprint used only to prevent referral abuse. We do not store full card numbers on our servers.
- Referral information. We store referral codes, who referred whom, referral reward counts, and eligibility flags tied to your account.
- Learning progress. We store lesson progress, quiz and exam results, practice problem progress, project step progress, and related timestamps so you can resume where you left off.
- Usage analytics. When you are signed in we may record product events (for example page views, lesson or project views, quiz outcomes, notebook downloads, subscribe/cancel events) and approximate dwell time on content. These events are tied to your account.
- Technical data. Our hosts and auth/payment providers automatically receive standard request metadata (IP address, browser type, device information) needed to operate and secure the Service.
- Code you submit in exercises. Code you run in in-browser Python labs is executed locally in your browser (via Pyodide). Graded submissions we persist are limited to progress and scoring metadata described above, not a permanent public archive of every keystroke.
2. How we use information
- Provide, maintain, and improve the Service
- Authenticate accounts and manage subscriptions and trials
- Operate the waitlist and launch communications
- Personalize learning progress and referrals
- Communicate about account, billing, and product updates
- Detect abuse (including referral fraud), debug issues, and protect the Service
- Comply with legal obligations
3. Artificial intelligence
MathFlow does not send your prompts, lesson answers, or code to OpenAI, Anthropic, or other generative-AI model providers. Interactive Python exercises run in your browser. We do not use your content to train third-party AI models.
4. How we share information (third parties)
We share information with service providers who help us operate the Service. The main ones are:
- Clerk (clerk.com) — authentication, sessions, and account profile data
- Stripe (stripe.com) — checkout, trials, subscriptions, invoices, and the customer billing portal
- Vercel — hosts the MathFlow web app
- Railway — hosts the MathFlow API
- Supabase / PostgreSQL — stores application database records (accounts, progress, waitlist, analytics events)
- jsDelivr — delivers the in-browser Python runtime (Pyodide) used for coding exercises
- Google Fonts — loads display fonts for the site
We do not sell your personal information and we do not use advertising pixels (for example Meta or Criteo) on MathFlow. We may disclose information if required by law or to protect rights, safety, and the integrity of the Service.
5. Data retention and deletion
We retain account, waitlist, billing metadata, and progress data while your account is active and for a reasonable period afterward when needed for billing records, disputes, security, or legal compliance.
Project notebooks we host are course materials, not government-ID style verification uploads. We do not ask you to upload selfies or ID photos, and we do not promise timed auto-deletion of such files because we do not collect them.
You may request deletion of your MathFlow account data from your dashboard (Delete account) or by emailing support@mathflow.dev. When you delete from the dashboard we remove your application user record and associated progress/analytics we control, and we delete the matching Clerk authentication user. Stripe may retain payment records as required for tax and fraud prevention under Stripe’s policies.
6. Security
We use industry-standard safeguards appropriate to the nature of the data we process (including encrypted transport, authenticated APIs, and access controls on admin tools). No method of transmission or storage is 100% secure.
7. Children
The Service is not directed to children under 13 (or the minimum age in your jurisdiction). If you believe a child has provided personal information, contact us and we will take appropriate steps.
8. Your choices
- Update profile information in your account settings (Clerk)
- Manage or cancel your subscription via the Stripe customer portal from the dashboard
- Delete your account from the dashboard or by contacting us
- Request access to your data by contacting us
9. Changes
We may update this Privacy Policy from time to time. We will post the updated version on this page and revise the “Last updated” date.
10. Contact
Questions about privacy? Email support@mathflow.dev or visit mathflow.dev.