Privacy Policy
This policy explains which personal data we process, why, who receives it and how long we keep it. It is written to one rule: only describe what the code actually does — the numbers in it are held to the code by a permanent test.
1. Controller (Verantwortlicher)
2. What we process
- Account: email address, account id, whether the email is verified. Sign-in is handled by Supabase Auth
- Your project content: the ideas and canon you write, the narrative artifacts generated from them, and their version history
- Usage and accounting: point balance and ledger, token counts and cost per model call, top-up records (amount, currency, Stripe session id)
- Technical data: server error logs, job execution records
We never store payment credentials: card numbers and 3DS verification happen entirely on Stripe's hosted checkout and never reach our servers.
3. Legal basis (Art. 6 GDPR)
- Art. 6(1)(b) performance of a contract: providing the service itself — storing your projects, running generation, keeping the books
- Art. 6(1)(c) legal obligation: transaction-related accounting records
- Art. 6(1)(f) legitimate interests: abuse prevention (email verification and disposable-domain filtering for the free grant), daily reconciliation, service health monitoring
4. Processors (Auftragsverarbeiter)
To provide the service, the following third parties receive the corresponding data:
| Recipient | Purpose | Data involved | Location |
|---|---|---|---|
| Supabase | Authentication and database (project index, accounting) | Email, account id, project metadata, point ledger | aws-0-eu-central-1 |
| Anthropic | Model calls that generate narrative content | Your idea and canon text, prompts and artifacts during generation | United States |
| Stripe | Top-up payments (as merchant of record) | Email, billing address and payment details (collected by Stripe directly), transaction amounts | Ireland / United States |
| Server hosting | Running the application and storing project files | Where all of the above is stored | Contabo GmbH |
| Cloudflare | Static page delivery for the marketing site | Visitor IP address and request metadata (server logs) | Global CDN |
Transfers to the United States rely on the recipients' Standard Contractual Clauses and their data processing agreements. Under Anthropic's commercial terms, content submitted through the API and the outputs generated from it are not used to train models by default.
Cloudflare only handles the static pages of the marketing site (narrativeforge.dev). The application itself runs on a different server under a different domain: your project content and account data does not pass through Cloudflare. The marketing site runs no analytics and sets no cookies — which is why it has no cookie consent banner.
5. Retention
- Project content and version history: kept until you delete it. After deletion it is archived and can be restored by you for 30 days, then permanently erased
- Per-call cost detail: 90 days; after that only a monthly summary without individual calls is kept
- Point ledger and top-up records: kept long term. It is the source of truth for accounting and is subject to statutory retention — this ledger is append-only; corrections are made by adding a reversing entry
- Backups: rolling 30 days
6. Your rights
You have the right to access, rectification, erasure, restriction of processing and data portability (Art. 15–21 GDPR), and the right to lodge a complaint with a supervisory authority.
Portability is built into the product: at any time you can export a project as a git repository with its complete version history, without asking us, including when your balance is zero or negative — running out blocks new generation, never taking your work with you.
To delete your account, write to daodreamer.projects@gmail.com. Note that transaction-related accounting records are retained after account deletion to meet statutory and audit obligations.
7. Cookies and local storage
We run no advertising and no third-party analytics. Browser local storage holds only your sign-in session (written by Supabase Auth) and your chosen interface language, both of which are necessary to provide the service.