Last updated: November 2026
kudowrite is a fiction-writing app. This policy explains what data the app handles, where it lives, who else is involved, and how to get it back or get rid of it.
kudowrite is run by one person, an individual based in France, who decides how your data is used and is responsible for it (the "data controller"). You can reach us at admin@kudowrite.com.
New in October 2026: KudoAI. kudowrite now has its own built-in AI, paid for with prepaid credits, so you no longer need an account or API key with an AI provider. When you use it, your requests pass through a kudowrite server on their way to the model, which they didn't before. Sections 4 and 5 explain exactly what happens to them, and section 6 covers payments.
This changed in August 2026. kudowrite used to store everything in your browser, with an optional backup file in your own Google Drive, and ran no server at all. It is now account-based: your writing is stored in a database we operate. Google Drive sync has been removed. Section 2 explains what that means for you, including the part that is less private than before.
Using kudowrite means creating an account. These are stored on kudowrite's backend:
Why we're allowed to use it. Your account, writing, messages, settings and credits are used to give you the service you signed up for (our contract with you). Payment records are kept because tax and accounting law requires it. The record of what you do in the app and how you found kudowrite — kept free of your text — is used in our legitimate interest in understanding and improving kudowrite; you can object to it by writing to us.
We also collect aggregate, anonymous usage analytics, described in section 8. We do not sell any of it, and we do not use your writing to train anything.
Your content is stored in a PostgreSQL database hosted by Supabase in the European Union (Ireland). Every row is tied to your account and protected by database-level row-level security, so no other account can reach your data through the app or its API. Traffic is encrypted in transit with TLS.
Being straight with you about the trade-off: because your writing now sits on a server we operate, we are technically able to access it — whoever administers a database always can. We open an account only when we need to: to answer you when you ask for help, to find and fix something that went wrong in the app, or to act on a report or a legal request. We won't share or sell your writing, and nothing trains on it. But it is no longer true, as it was in earlier versions of kudowrite, that we couldn't see your work even if we wanted to. If that guarantee was why you chose this app, that's a fair reason to reconsider, and section 10 tells you how to take your data out.
What you gain for that: your work is on every device you sign in from, it saves continuously without you thinking about it, and clearing your browser no longer destroys anything.
Your browser now holds only your login session, a couple of interface preferences, some local diagnostics, and a short-lived buffer of any edits that haven't reached the server yet — so a dropped connection doesn't cost you a sentence. That buffer clears the moment those edits are saved.
You can create an account with an email address and password, or with Google, and use both on the same account. Authentication is handled by Supabase Auth. Passwords are stored only as salted hashes — never in readable form, and never visible to us. In Settings → Account you can change your password, turn it off and sign in with Google only, change your email address, and sign out your other devices.
If you sign in with Google, Google provides your email address, name and profile picture, which are stored on your account and shown in the app. kudowrite no longer requests any access to your Google Drive; the narrow drive.file permission used by earlier versions has been removed entirely. Your use of Google Sign-In is subject to Google's Privacy Policy.
When you use an AI feature with KudoAI, the app builds a prompt from the relevant parts of your story (the beat you're working on, nearby prose, your story bible) and sends it to a kudowrite server function running on Cloudflare. That function checks your credit balance, forwards the request to the model, and streams the reply straight back to your browser.
We don't store your prompts or the replies. Once a request finishes, all we keep is the usage record described in section 1. Our server logs record errors (for example "the AI provider was unavailable"), never the text you sent.
Which model provider handles the request depends on the kind of credit you're spending:
Once you've bought credits, your requests always use purchased credits first, so they always take the first route.
Not on our side. kudowrite does not train models, and has no business model that depends on your writing. Your manuscript, stored on your account, is never shared with anyone to train anything. What reaches a model provider is the prompt for each request, handled as described in section 4; if you use your own provider key, that provider's own policy applies (section 7).
Credit purchases are processed by Stripe on a Stripe-hosted checkout page. kudowrite never sees or stores your card details. To start a checkout we send Stripe your account's internal ID, your email address (to prefill the form and for your receipt), and the pack you chose. Once you've paid, Stripe tells us the payment succeeded so we can add the credits to your account. Stripe keeps its own records of the payment, as payment processors are required to. See Stripe's Privacy Policy.
Instead of KudoAI, you can still use your own OpenRouter or Mistral API key, from Settings. Your key is stored on your account so it follows you between devices. It is encrypted at rest: the ciphertext sits in a column the app's public API cannot read or write at all, and it is decrypted only for you, through a database function scoped to your own account. The encryption key itself is held outside the database.
With your own key, your prompts and the model's responses travel directly from your browser to OpenRouter or Mistral, under your own account. They don't pass through any kudowrite server. Whether that provider may use them for training is governed by your provider account and the model you choose: see your OpenRouter privacy & data settings, or Mistral's terms.
kudowrite sets one first-party cookie, kw_ft, and no advertising or cross-site tracking cookies. On your first visit it notes where that visit came from — the site that linked you (for example a search engine), the page you landed on, any campaign tags on that link — and when. It holds no identifier, isn't shared with anyone, and nothing reads it unless you create an account: then it is attached to your account once (section 1) and marked as used. If you never sign up, it simply expires after 90 days. You can delete it in your browser's settings at any time; the site works the same without it. Besides it, the site opens in your browser's language when we have it; if you pick a language in the language picker, the kw_lang cookie keeps that choice — only the language's code — for a year, so you aren't switched back.
To understand aggregate traffic — how many people visit, which pages they view, and roughly where they come from — the site uses Cloudflare Web Analytics, which works without cookies, without fingerprinting and without tracking you across sites. It does not have access to your writing, your prompts or your API key. When someone opens a book in Community Books, that book's view and read counters go up by one — numbers per book, per chapter and per day, which its writer sees, with nothing kept about who was reading. Product figures (how many writers are active, how KudoAI credits are used, where new writers get stuck) come from the account data described in section 1: counted in aggregate, and looked at account by account when we work out where the app let a writer down.
On our guides, each page counts that it was opened and which of its sign-up buttons was clicked — numbers per guide, per button and per day, with nothing kept about who you are. If you then create an account, the button you clicked is noted in the kw_ft cookie and attached to your account with the rest of your first visit, so we can see which buttons bring writers in.
Your login session is kept in your browser's local storage rather than in a cookie.
Some of these providers — Cloudflare, Google, OpenRouter and the model providers it routes to, Stripe and Anthropic — may process data outside the European Union, including in the United States. Where they do, the transfer relies on the EU–US Data Privacy Framework or on the European Commission's standard contractual clauses, which these providers build into their terms.
Deletions carried out in the app are immediate and cannot be undone; there is no backup we can restore from afterwards. Your data is kept for as long as your account exists. Payment and bookkeeping records are kept for 10 years, as French accounting law requires, even after your account is deleted.
Under the GDPR you have the right to access, correct, export and delete your personal data, to restrict or object to its use, and, in France, to leave instructions for what happens to it after your death. Requests go to admin@kudowrite.com; we answer within a month. You can also complain to your data protection authority — in France, the CNIL.
kudowrite is not intended for users under the age of 18 and contains content suitable for adults only. If you are under 18, please do not use this application.
If this policy changes materially, the "Last updated" date above will be updated. Continued use of the app after any change constitutes acceptance of the revised policy.
Questions about this policy can be directed to admin@kudowrite.com.