Privacy Policy
Last updated: September 9, 2026
CharmWriter ("we", "us", or "our") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, share, and protect your personal data when you use the CharmWriter platform ("Service").
We are based in the Czech Republic and comply with the General Data Protection Regulation (GDPR) and applicable Czech data protection laws.
1. Data Controller
CharmWriter is the data controller for your personal data. For privacy inquiries, contact us at privacy@charmwriter.com.
2. What Data We Collect
| Data Type | Examples | Purpose |
|---|---|---|
| Account data | Email address and password (hashed), or your Google account profile if you sign in with Google | Authentication and account management |
| Creative content | Manuscripts, story bible, session transcripts, chat history | Core service delivery |
| Voice recordings | Audio input for speech-to-text | Transcription (processed, not stored) |
| Payment data | Payment method, transaction history, and a fingerprint of the card used (a hash provided by Stripe, plus card brand and last four digits) | Payment processing and abuse prevention |
| Anti-abuse data | The IP address a registration came from, and a hash of the email used | Preventing repeated free-credit claims |
| Feedback | What you write in a bug report or suggestion, plus the page you were on, your browser, screen size and any attachments | Diagnosing and fixing what you reported |
| Email preferences | Which of our emails you have received, and whether you have unsubscribed | Sending you the emails you have not opted out of, and only once |
| Usage data | Pages visited, features used | Analytics and service improvement (no PII) |
| Technical data | Browser type, error logs, and session replays (see section 4.2) | Debugging and service reliability |
2.1 Data We Collect Only to Prevent Abuse
Two items above exist for one reason: every new account receives free credits, and without a check that costs us real money to strangers signing up repeatedly.
- Signup IP address. We record the IP a successful registration came from. If the same IP has already produced three registrations in the past 24 hours, the next one is refused automatically. You can ask us to review that decision by emailing privacy@charmwriter.com.
- Card fingerprint. The first time you pay, we store the fingerprint Stripe gives us for that card. It is a hash, not a card number, and we use it only to notice when one card has claimed free credits on several accounts. Nothing is blocked automatically; it flags the accounts for a human to look at.
3. Legal Basis for Processing
| Processing Activity | Legal Basis |
|---|---|
| Account creation and management | Contractual necessity (Art. 6(1)(b)) |
| Storing and managing your creative writing | Contractual necessity |
| Sending text to AI providers for generation | Contractual necessity (core service) |
| Voice recording processing | Consent (Art. 6(1)(a)) |
| Payment processing via Stripe | Contractual necessity |
| Error monitoring and session replay (Sentry) | Legitimate interest (Art. 6(1)(f)) |
| Analytics (Umami Cloud) | Legitimate interest (no personal data) |
| Service emails (password reset, receipts, reminders you asked for) | Contractual necessity |
| Occasional emails about CharmWriter to existing users | Legitimate interest — you can unsubscribe from any of them in one click |
| Abuse prevention (signup IP, card fingerprint) | Legitimate interest (Art. 6(1)(f)) |
| Handling feedback and bug reports you send us | Legitimate interest |
| Financial record keeping | Legal obligation (Art. 6(1)(c)) |
4. How We Share Your Data
We share your data with the following sub-processors, each bound by a Data Processing Agreement:
| Provider | Purpose | Data Shared | Location |
|---|---|---|---|
| Supabase | Database & authentication | All user data | EU |
| Anthropic (Claude) | AI text generation | Prompts, conversation context | EU / US |
| OpenAI (GPT, Whisper, gpt-image-1) | AI text generation, speech-to-text, text-to-speech, image generation | Prompts, voice audio, image prompts | EU / US |
| Google (Gemini) | Text-to-speech for Ukrainian and Czech | The text to be spoken aloud | EU / US |
| Google (Sign-in) | Optional authentication | Your Google account profile, if you choose to sign in this way | EU / US |
| Stripe | Payment processing | Email, payment method | EU / US |
| Railway | Application hosting | All data in transit | EU |
| Resend | Sending our emails | Email address, message content | EU / US |
| Sentry | Error monitoring and session replay | Error data, browser info, masked recordings of app sessions | US |
| Umami Cloud | Privacy-friendly analytics (cookie-free, no IP stored) | No personal data | EU / US |
4.1 AI Provider Data Handling
None of our AI providers use the data we send them to train their models. Your creative content is processed to generate a response and then deleted per their retention policies:
- Anthropic: retains API data for up to 7 days for abuse monitoring, then deletes
- OpenAI: retains API data for up to 30 days for abuse monitoring, then deletes
- Google: retains data sent to the Gemini API for up to 55 days for abuse monitoring, then deletes
We do not use your content to train any AI models, and we do not share your content with anyone beyond the sub-processors listed above.
4.2 Error Monitoring and Session Replay
We use Sentry to find and fix errors. Alongside error reports, Sentry records a replay of roughly one in ten app sessions, and of every session in which an error occurs, so we can see what led up to a problem.
Text is masked in these recordings. Your manuscript, Story Bible, chat and anything else you type is replaced with placeholder blocks before the recording leaves your browser, and images and media are blocked. What we see is the shape of the interface and what was clicked, not what you wrote.
4.3 Emails We Send
We send email through Resend. There are two kinds:
- Service email — password resets, purchase receipts, and the writing reminder if you booked one. These are part of the service and are not marketing.
- Occasional email about CharmWriter — for example, a note if your book has gone quiet for a while. We send these to existing users on the basis of legitimate interest, we send each campaign to a given person only once, and every one of them carries a one-click unsubscribe link that takes effect immediately and permanently.
Unsubscribing from the second kind never affects the first — you will still get your receipts and password resets.
5. Cross-Border Data Transfers
Some of our sub-processors operate outside the EU. All cross-border transfers are protected by:
- EU-US Data Privacy Framework (where applicable)
- Standard Contractual Clauses (SCCs) approved by the European Commission
- Data Processing Agreements with each sub-processor
6. Data Retention
| Data Type | Retention Period |
|---|---|
| Active account data | Duration of your account. Deleted immediately on request; backups roll off within 30 days |
| Creative content (projects) | Duration of your account |
| Voice recordings | Not stored, processed and discarded immediately |
| Payment records | Held by Stripe for 7 years to meet Czech tax law. Our own credit ledger is deleted with your account |
| Signup IP address | 12 months, then deleted automatically |
| Card fingerprint | Deleted together with your account |
| Feedback and bug reports | Kept while the report is open and for as long as it stays useful for fixing the product. Ask us and we will delete yours |
| Email records (what we sent, and unsubscribes) | Unsubscribes are kept for as long as we send email at all, so we do not contact you again |
| Server & error logs | 30–90 days |
| Session replays | 90 days |
| Analytics | Indefinite (no personal data collected) |
7. Your Rights (GDPR)
Under the GDPR, you have the following rights regarding your personal data:
- Right to access, request a copy of all your personal data
- Right to erasure, request deletion of your account and all data
- Right to data portability, export your data in a structured format (Markdown + JSON)
- Right to rectification, correct inaccurate personal data
- Right to restrict processing, limit how we process your data
- Right to object, object to processing based on legitimate interest
- Right to withdraw consent, withdraw consent for voice recording at any time
You can exercise most of these rights directly in the app through Settings → Privacy & Data (data export, account deletion, voice consent). For other requests, email privacy@charmwriter.com. We will respond within 30 days.
8. Right to Lodge a Complaint
If you believe your data protection rights have been violated, you have the right to lodge a complaint with the Czech Data Protection Authority (ÚOOÚ):
Úřad pro ochranu osobních údajů (ÚOOÚ)
Plk. Sochora 27, 170 00 Prague 7, Czech Republic
uoou.gov.cz
9. Children
The Service is not directed at individuals under 16 years of age. We do not knowingly collect personal data from children. If we learn we have collected data from a child under 16, we will delete it promptly.
10. Cookies
We use only strictly necessary cookies for authentication and payment security. We do not use tracking cookies or advertising cookies. See our Cookie Policy for details.
11. Changes to This Policy
We may update this Privacy Policy from time to time. Material changes will be communicated via email or in-app notification at least 30 days before they take effect.
12. Contact
For privacy-related questions or to exercise your data rights:
Email: privacy@charmwriter.com