Fantasify Privacy Policy
Last updated: October 19, 2026
Fantasify is operated by Martin Aichler, IČO 88306321, registered office Stránského 1049/24, 412 01 Litoměřice, Czech Republic, who is the data controller for the purposes of the EU GDPR.
How Your Stories Are Protected
By default your stories are stored as an encrypted copy, locked with your key. A story you write is kept in the app on your phone or in your browser, and an encrypted copy is also stored with us so your stories come back on your other devices. That copy is locked with a key only your devices hold (see below), so we can't open it. You can choose to keep new stories only on your device in Privacy & Security; then our servers keep no copy of them. If you keep stories only on your device and lose it, delete the app or clear the browser's data, they are gone — the app lets you save an encrypted backup file.
Everything we store is locked with a key only your devices hold. When you first open the app, it creates a key on your device. In the iPhone and Android apps the key is kept in your iCloud Keychain or Google backup; on the website it is kept in your browser, which has no backup, so the app asks you to create a recovery code soon after you start. You can create a recovery code at any time in Privacy & Security. Stored stories, stories you share, Play Together stories and your saved characters are encrypted with that key (or, for things you share with your partner, with a key only the two of you hold) before they leave your device. We never receive these keys in readable form, so we can't open what they lock. To be precise about what that does and doesn't mean:
- ✅ Neither a database leak nor anyone on our team can read your stored stories
- ✅ We don't sell your stories or use them to train AI models
- ⚠️ While a story is being written — written, continued, edited or safety-checked — its text passes through our server and goes to the AI models listed below. We don't keep it, but at that moment it is readable to our server and to that provider
- ⚠️ If you lose all your devices and your recovery code, nobody can restore your stored stories — including us. On iPhone the key is also kept in your iCloud Keychain, and on Android in your Google backup (on Android 9 and later, encrypted with your screen lock), so a new phone usually unlocks by itself. A browser has no such backup: clearing its data removes the key from it
- ⚠️ The app (and the website) comes from us. A version of the app built to misbehave could leak the key, which is why the iPhone and Android apps go through Apple's and Google's review
- ⚠️ A person on our team sees story text only when you attach it to a content report, or where the law requires it
What We Collect
- Your email address. We don't ask for your name, and profile pictures are chosen from our own illustrations — you can't upload a photo. We use the address for your account, for notifications you can switch off, and for occasional tips and news emails — you can say no when you sign up, and switch them off any time in Notification settings or with the link in any of them
- Your stories (unless you chose to keep them only on your device), stories you share or write in Play Together, and saved characters — locked with your key (see above). Stories kept only on your device are not stored by us
- For stored and shared stories: the mood, heat level, language and reading time, stored readable next to the encrypted text
- For Play Together stories: the email addresses of both players, heat level, language, whose turn it is and turn counts (the title, the characters, the setting and the story itself are locked)
- For the evening card („an idea for tonight“): which story it came from, the kind of idea (place, music, food…), when it expires and whether you both said yes. The idea itself is locked with your couple's key. Each person's answer is stored so a match can be worked out, but it is never shown to the partner
- For guided evenings: your own yes / maybe / no answers to the list of activities and your heat ceiling. They are stored encrypted, under a pseudonymous key instead of your email address, and deleted 30 days after you last saved them. Our server opens them only to work out what you both agreed to, so they are not locked with your own key like your stories; your partner never sees them — only the evening's invitations, which are drawn from what you both said yes or maybe to. Whether your couple has used its free evening is counted against a pseudonymous key, not your email address
- Your key envelopes: your recovery-code envelope, your public key, and copies of the keys you share with your partner, each locked so that only your devices (or your partner's) can open them
- Subscription status and usage counts (stories generated, continuations, edits per month)
- Email addresses you choose to share or send a story to
- Payment info — processed by the Apple App Store / Google Play in the mobile apps and by Stripe on the web; we never see your card details
- Content reports you send — the reason, your note and, only if you choose to attach it, the text of the story
- Addresses you block, and notification settings and device tokens for push notifications
- Usage and error data: which screens and features you use, how long a session lasts, and errors the app runs into (the error message and where in the app it happened), linked to your account ID. It helps us fix bugs and see what people use. It never contains story text
- Feedback you send: your message and rating, and for a bug report the app version, platform, screen size, browser type and recent error messages
What We Never Do
- ✅ Sell your data to anyone
- ✅ Use your stories to train AI models
- ✅ Let other users see your stories without your action
- ✅ Have a person read your stories — except text you attach to a content report, or where the law requires it
Sharing Your Stories
Stories are private by default. You control sharing:
- ✅ Keep them private — only you can see them
- ✅ Share with someone by email or a private link
- ✅ Export to PDF for personal use (premium feature)
- ✅ Stories are never shared without your deliberate action
Third-Party Services
- OpenRouter and the AI models it routes to — to write a story, a continuation, an edit or a Play Together chapter, what you type (your idea, characters, moves) and the story so far are sent through OpenRouter to AI models run by other companies. Today these are Grok (xAI), DeepSeek, Euryale (Sao10K) and Magnum (Anthracite) for writing, and Gemini (Google) and GPT (OpenAI) for the automatic safety check and the Play Together story memory. They process the request to return the result; OpenRouter's and each provider's own data policies apply. They receive only the text — never your name, email address or account ID — and the request comes from our server, not your device. Every request asks OpenRouter to use only providers that don't store or train on request data. Our server doesn't keep the text after the response either, and our logs don't contain story text. We ask for your consent to this before your first story.
- Base44 image generation — draws character portraits from the short description you give (never the story). The picture comes straight back to your device, is shrunk and kept only inside the character, locked with a key only your devices hold; we don't keep its address. The image service keeps its own copy of the generated picture, which our records don't link to you. Story covers are no longer generated: they come from a fixed set of images in the app, chosen on your device.
- Stripe — processes web payments. Fantasify never stores card details.
- Apple App Store / Google Play & RevenueCat — process in-app purchases and subscription status in the mobile apps; RevenueCat knows your account by your email address. Card details stay with Apple/Google. Apps up to version 1.0 also send RevenueCat Apple's ad-attribution token (Apple Search Ads), which tells us which search ad, if any, led to an install — it does not track you across other apps; later versions don't.
- Base44 — the platform that powers the app backend, database, authentication, and the usage and error statistics described above (first-party: no advertising or third-party analytics SDKs, no tracking across other apps or websites).
Your Rights & Data Deletion
- ✅ Delete any story at any time
- ✅ Delete your entire account from the Profile page — all data removed within 30 days
- ✅ Request a copy or full deletion of your data by emailing us
- ✅ EU/GDPR users: right to access, correct, export, and erase your data
- ✅ EU/GDPR users may also lodge a complaint with their supervisory authority (in the Czech Republic, the Office for Personal Data Protection, ÚOOÚ)
Security
- Story content is encrypted in the app before it is stored, with keys only your devices hold (AES-256-GCM; keys exchanged between partners with ECDH P-256). Stories written before October 5, 2026 under the earlier scheme were deleted
- Stories kept on your device are encrypted there too, per account, so another person signing in on the same device can't see them
- A new device gets your key only with your recovery code, or when you type the code it shows into a device that already has your key
- You and your partner can compare a 30-digit safety code in Privacy & Security; if a partner's key ever changes, the app hands nothing to the new key until you confirm the codes match
- PDF exports are made on your device; the story text isn't sent to us for that
- Authentication and access control enforce that only you can access your account
- Card payments are handled entirely by the payment provider (Apple or Google in the apps); we never see card details