Skip to main content

Privacy Policy

Last updated: September 2026

1. What we collect

Account info: when you sign in with Google, we receive your email and a unique user ID from Supabase — not your Google password.

Usage data: the problems you submit, your answers, lesson/job status, usage-cost counters, and mastery/accuracy history, so lessons and the "concepts to review" panel work. Uploaded images are processed to read the problem and are not kept as a separate VisTeach account record.

Payment info: handled entirely by Stripe. We never see or store your card number — only a subscription status.

Basic analytics: page views and clicks via PostHog, to understand how the site is used. We don't use session recording.

Visitors in the EEA, the UK, or Switzerland see an analytics consent bar; until they accept, PostHog uses memory-only analytics and does not write analytics cookies or local-storage data. Visitors elsewhere do not see this bar. You can decline or change your choice by clearing the site's stored analytics preference.

2. How we use it

To generate and grade your lessons, track your progress, manage your subscription, provide support using a short support reference, prevent abuse and runaway provider costs, and improve the product. We don't sell your data.

3. Third parties we use

Running VisTeach means some data passes through these services, each under its own privacy policy:

  • Google — sign-in (we never see your Google password)
  • Supabase — accounts and sign-in
  • Stripe — payments and billing
  • DeepSeek — the problem text you submit is sent to DeepSeek's API to generate your lesson
  • Resend — delivers all outgoing email from VisTeach; recipient addresses are stored so we can track whether those emails bounced
  • Cloudflare R2 — stores the generated lesson videos
  • PostHog — product analytics
  • Sentry — error monitoring, so we can find and fix bugs
  • Vercel and Railway — host the web app, API, and worker

4. Data retention

While your account is active, we keep the account, lesson history, jobs, mastery, referral, and usage records needed to provide the service. The account page lets you download this data as JSON and request deletion. Successful deletion removes those personal records from VisTeach and requests deletion of the Supabase sign-in record. Stripe billing records and user-neutral webhook audit records may remain where needed for accounting, fraud prevention, disputes, or legal compliance. Generated lesson videos are shared concept assets in Cloudflare R2 rather than account-owned files, so they may remain after account deletion.

Provider-side retention (including Stripe, Supabase, DeepSeek, PostHog, Sentry, Vercel, Railway, and Cloudflare) is governed by each provider's policies and configuration. We will set and review those retention periods before launch.

5. Your rights

You can download an export or request deletion from the signed-in account page. You can also ask to access, correct, or delete your personal data by contacting us below. If a deletion attempt cannot cancel Stripe or remove the sign-in record, the page shows a support reference so we can finish it safely.

6. Cookies

We use essential cookies for sign-in and lightweight analytics cookies from PostHog. No third-party advertising cookies.

7. Children's privacy

VisTeach is intended for college-level students and isn't directed at children under 13.

8. Changes

We may update this policy as the service evolves; the date above reflects the latest revision.

9. Contact

Operated by Minho Joh, Hong Kong. Questions or data requests: visteach26@gmail.com.

See also our Terms of Service.