Privacy
How your study data is handled.
Public content is available without an account. Once you sign in, this notice describes what the application keeps, why it is used, and how to request access or deletion.
Last updated: August 14, 2026
What we collect
Public study pages need no account. When you create an account we receive your identity through WorkOS and store the account link plus any profile details you add — display name, target exam, target score, and test date.
If you subscribe to email updates, we store the email address you enter and the page you subscribed from, so we can send occasional study tips and product news. We never sell your address, and every email includes an unsubscribe link. Delivery is handled by Resend.
As you use the tools we store submitted practice-attempt records, private learning-notebook entries you choose to save, private Pro writing revisions and generated writing feedback, private AI tutor conversations, subscription state, and support or correction messages you submit. Tutor prompts, the context you select, generated responses, and the selected model and reasoning-effort settings are stored in your owner-scoped saved chats and sent to OpenAI when needed for the response; chat content is not used for application analytics. When a Pro learner explicitly requests writing feedback, the selected saved essay revision and its practice prompt are sent to OpenAI, and the structured response is stored with that revision. Free writing drafts stay in the active browser tab only unless you copy or export them. A minimized snapshot of your active-exam study progress is off by default and is sent only when you select it for a request; the preview and server receipt name its limited skill samples, due-review count, and planner action, while answers, protected question text, notebook prose, identity, profile targets, and other exams are excluded. If you connect ChatGPT, the application stores OpenAI's managed Codex credential in a private server directory isolated to your Keiko account; that credential is not placed in browser storage, your profile, tutor history, analytics, or the application database. Payment card entry is handled on Stripe-hosted Checkout rather than by this application.
Why we use it
To run the product you asked for: saving progress, showing your dashboard, checking practice answers on the server, gating premium features, and replying to support or correction requests.
We do not sell your data, and we do not build advertising profiles. Progress figures are computed only from your own attempts — there is no hidden scoring model.
Who processes it
WorkOS provides Keiko authentication, Supabase hosts the application database, Stripe processes payments and subscription billing, Resend delivers contact-form and email-subscription messages, and Vercel hosts the application. If you allow optional site-use and performance measurement, Vercel also processes the limited Vercel Analytics and Speed Insights measurements described below. OpenAI provides the separately connected ChatGPT account and processes tutor prompts, selected context, and generated responses. Keiko's authenticated server starts OpenAI's device-code sign-in, manages the resulting Codex credential, and relays each tutor request.
If you explicitly allow the matching optional analytics choice, Vercel or Google processes the limited measurements described below. OpenAI, Google, Vercel, and the open-source Codex runtime are external dependencies with their own terms and privacy information. Do not put payment details, passwords, or other unnecessary sensitive information into tutor or support messages.
Analytics and campaign measurement
Vercel Analytics and Speed Insights are off unless you allow site-use and performance measurement. They run only on the same allowlist of public content pages used for optional browser telemetry, and their event URLs are limited to Keiko's origin and public pathname with query strings and fragments removed. Auth, billing, account, and private study routes are excluded. Keiko does not intentionally add practice answers, protected question text, tutor conversations, payment card details, or signed billing links to those measurements.
Google Analytics is off unless you allow it. After consent, Keiko sends manual page views only for an allowlist of public marketing, exam, article, question, and tool pages. The location contains the public pathname and may retain only approved campaign fields such as UTM parameters, gclid, gbraid, or wbraid. Arbitrary query strings and fragments are removed. Auth, callbacks, billing, the thank-you page, dashboard, profile, notebook, private practice and study routes, and workspaces do not emit Google Analytics page views.
For a purchase, Keiko first verifies the exact Stripe Checkout Session, customer ownership, plan or pass receipt, and entitlement on the server. If consent is granted, Google receives a stable one-way transaction code created with a Keiko-only secret, the actual promotion-adjusted total (including zero), currency, one internal plan code and name, price, and quantity one. Keiko does not send Google the raw Stripe Checkout Session, Customer, Subscription, PaymentIntent, WorkOS user ID, email, signed intent, test date, payment method, other Stripe metadata, learning activity, or AI content.
Google receives standard connection and browser information when its tag is loaded. Keiko disables Google Signals, personalized-ad signals, remarketing use, automatic page views, and enhanced conversions. The Google Analytics purchase event is intended for aggregate campaign reporting and may be imported into Google Ads; Stripe and Keiko's server-owned billing records remain the source of truth.
Cookies and local choices
Signed-in Keiko sessions use a secure, http-only session cookie so the server can recognise you between requests. A browser preference key remembers your light/dark theme. ChatGPT device sign-in does not put the ChatGPT credential in browser storage; the browser receives only a short-lived one-time code and connection status.
Four separate, versioned choices in this browser cover site-use and performance measurement, Google Analytics, research, and marketing. The local consent record is necessary to remember and apply those choices. Optional provider scripts and measurements do not start before the matching choice is allowed. If this browser sends Global Privacy Control, Keiko treats every optional purpose as rejected even if a stored preference previously allowed it. Rejecting or withdrawing site-use and performance measurement stops new Vercel Analytics and Speed Insights events. Rejecting or withdrawing Google Analytics stops new Google events and removes Google Analytics cookies that Keiko can access. A browser or provider may retain data already sent under its configured retention settings.
Your choices
You can ask Keiko to disconnect the ChatGPT connection from the paid tutor page, export or delete individual saved tutor chats, export or delete an entire saved writing attempt with all of its surfaced revisions and feedback, view and edit your profile and learning notebook, delete individual notebook entries, and request a broader copy or deletion of account data by emailing support@keiko.study. Exporting or deleting a saved chat does not itself disconnect ChatGPT. Signed in, you can also download a copy of your account data and queue an account-deletion request from your profile page. The deletion step first shows exactly which records the request covers and which records are retained, and the request is only queued once you type the confirmation phrase; retrying the same request does not queue it twice. Export and deletion are available on every plan, including after Pro is downgraded, cancelled, or expired. Some records are retained after deletion: billing and tax records, Stripe's own payment history, security and audit logs including the trail for the deletion request itself, and email suppression entries kept so an unsubscribed address is not contacted again. Saved practice attempts, study plans and their check-offs, and notebook entries are not deleted merely because you upgrade, downgrade, cancel, or let Pro expire; writing history and tutor chats follow the same retention rule. After paid access ends, retained tutor chats remain available to their authenticated owner in paginated exam-specific history for per-record export or deletion. Retained writing attempts remain available through the currently surfaced history for per-record export or deletion. A retained study plan becomes read only after paid access ends, but its delete control remains available to its authenticated owner. The first 100 account practice answers can be saved across devices on the free plan; further free answers update only a browser tally. Free writing drafts are saved only in your browser. Attempts kept only on one browser and unsaved writing drafts are not part of the account record or export.
You can separately allow, reject, or withdraw site-use and performance measurement, Google Analytics, research, and marketing below. Allow and Reject require the same number of actions, the choices synchronize across open Keiko tabs, and Global Privacy Control rejects every optional purpose. Research and marketing are not connected to collection in this consent center today. The marketing choice does not subscribe you to email; newsletter sign-up and unsubscribe controls remain separate.
Changes
If this notice changes materially we will update the date above and, for signed-in users, surface the change in-product. Continued use after an update means you accept the revised notice.
Optional data choices
Necessary storage: Keiko uses a secure session cookie when you sign in and local browser storage to remember these choices. Those items keep your session secure and apply your preferences; they do not turn on an optional analytics provider.
Site use and performance
No choice yetAllow Vercel Analytics and Speed Insights on approved public pages. Query strings are removed, and private account and study pages stay out.
Google Analytics
No choice yetAllow limited public-page visits and a minimized event after a verified purchase. Keiko does not send your identity, study activity, or payment details. Google Analytics is not configured in this environment, so allowing it does not load a tag here.
Research
No choice yetRemember permission for future voluntary research. No research collection is connected to this choice today.
Marketing
No choice yetRemember permission for future optional marketing. This does not subscribe you to email; email sign-up and unsubscribe controls are separate.
Changes apply in this browser and synchronize with other open Keiko tabs. You can return here and withdraw any optional permission at any time.
Questions about your data? Email support@keiko.study.