Privacy by design

Privacy Policy

This policy explains what the CharmGym public preview processes, why we process it, and the choices you have. We collect less by default and do not sell personal data.

Last updated: September 2, 2026
Plain-language summary

The readiness quiz works without an account and stays in the browser unless you explicitly save it. A saved map contains only non-sensitive quiz answers and skill scores; the optional orientation answer is never uploaded. Email is optional and makes the same anonymous profile recoverable. AI practice text is processed to return feedback and is not stored as a transcript in this preview. Optional analytics records only an allowlisted set of product events. Error monitoring receives scrubbed diagnostics without quiz answers, practice text, or email addresses. We do not run advertising trackers or session recordings.

1. Who is responsible

CharmGym is operated by S.R.L. PERFECTION STUDIO in the Republic of Moldova. For privacy questions or requests, email help@charmgym.co with the subject “Privacy request.”

2. Data processed in the public preview

  • Readiness quiz. Your answers and result stay in the current browser tab unless you choose “Save my progress” and accept the Terms and Privacy Policy. A saved map contains the 13 non-sensitive quiz answers, six skill scores, completion time, and consent records. The optional orientation answer is never sent to the database.
  • Private account. Supabase creates an anonymous account identifier and stores an authentication token in your browser when you save progress or use AI practice. If you optionally add an email address, Supabase sends a verification link and converts that same identifier into a recoverable account without changing ownership of its saved rows.
  • Practice input. The message, selected scenario, language, and practice mode are sent to our Supabase Edge Function and OpenAI’s API to moderate the request and generate a reply. CharmGym does not save the message or transcript, and requests set provider-side response storage to false.
  • Safety metadata. If automated checks detect a safety category, we may retain the category, severity, status, timestamp, and an internal anonymous user reference. The triggering text is not included.
  • Technical data. Hosting and security providers may process IP address, user agent, request time, and diagnostic data needed to deliver and protect the service.
  • Optional product analytics. If you accept analytics, we record allowlisted events such as a quiz starting or finishing, a coarse result bucket, and a practice scenario starting or finishing. We do not send quiz answers, practice text, transcripts, email addresses, or names. Autocapture and session recording are disabled.
  • Error diagnostics. Sentry receives technical crash information needed to identify broken code. Before an event is sent, CharmGym removes user identity, request bodies, cookies, headers, query strings, free-text error messages, console breadcrumbs, and local variables.
  • Support messages. If you email us, we receive the address and information you choose to include so we can respond.
  • Early-access signup. If you choose to join, we store your normalized email address, language, signup source, consent version, and consent timestamp. Cloudflare also processes technical data to confirm that the request came from a person rather than automated abuse.

3. Why we process data

We process data only to:

  • provide the quiz and AI practice experience;
  • keep the service secure, prevent abuse, and respond to safety signals;
  • diagnose reliability problems without logging conversation content;
  • understand aggregate preview usage when you consent to optional analytics;
  • answer support and privacy requests; and
  • send product updates and early-access invitations when you explicitly opt in; and
  • meet legal obligations.

Depending on the context, the legal basis is performance of the service you request, our legitimate interest in security and reliability, consent for optional analytics and marketing, or compliance with law. Optional sensitive quiz questions can always be skipped and are never uploaded by the preview quiz.

4. Providers and international processing

We use a small number of processors to operate the preview:

  • Vercel for web hosting and delivery;
  • Supabase for anonymous authentication, database infrastructure, and Edge Functions in the Frankfurt region;
  • Cloudflare for Turnstile abuse protection on the public signup form;
  • MailerLite for the opted-in early-access mailing list; and
  • Resend for the transactional signup confirmation;
  • PostHog EU Cloud for optional, consent-based product analytics; and
  • Sentry for privacy-scrubbed application error monitoring; and
  • OpenAI for API-based input/output moderation and generated practice replies. API data is not used for model training by default.
  • Google and Apple when you choose their optional social sign-in.

These providers may process technical data in other countries under their contractual safeguards. We do not sell personal data and do not share it for cross-context behavioural advertising.

5. Retention

  • Unsaved quiz answers disappear when the browser state is cleared or the tab is refreshed.
  • Saved readiness maps remain until account deletion or an applicable retention request.
  • Unlinked anonymous accounts older than 30 days are deleted by a scheduled cleanup.
  • Practice text is not retained as a transcript in CharmGym’s database.
  • OpenAI API abuse-monitoring logs may retain inputs and outputs for up to 30 days by default, unless a legal exception requires longer retention. CharmGym disables Responses API application-state storage.
  • Safety metadata is kept only as long as needed for review, security, and legal accountability.
  • Provider security logs follow the provider retention periods and are access restricted.
  • Optional analytics and scrubbed error diagnostics follow the provider account retention settings and are deleted when no longer needed for product measurement or reliability work.
  • Support correspondence is retained while the request is active and then for a limited audit period.
  • Early-access email and consent records are kept while you are subscribed and for a limited period after unsubscribe where needed to honour suppression, consent, and legal-accountability requirements.

6. Your choices and rights

Subject to applicable law, you may ask for access, correction, deletion, restriction, portability, or an objection to processing. You may also withdraw consent without affecting earlier lawful processing. Email help@charmgym.co. We may need to verify your identity before acting on a request.

You can unsubscribe from marketing through the link in an email or by contacting us. You can clear the anonymous browser session at any time by removing site data for charmgym.co; doing so can make an unlinked saved profile unrecoverable. You can accept, decline, or withdraw optional analytics at any time through “Analytics settings” in the site footer. Withdrawing consent stops future analytics collection. You may also complain to the data-protection authority available to you.

7. Security and age limits

We use encryption in transit, restricted service credentials, row-level database controls, content-minimised logs, and automated cleanup. No system is perfectly secure, so please do not submit information you do not want processed for the practice reply.

CharmGym is intended for adults aged 18 or older. If we learn that a minor has provided personal data, we will take reasonable steps to delete it.

8. Changes to this policy

We will update this page before activating material new processing such as payments or voice features. Material changes will show a new date and, where required, a new consent request.