NetFable

Privacy

Last updated 10 October 2026

Reading needs no account. Guest personas and saved readings stay in this browser. When you read while signed in, your playthroughs and reading preferences sync privately to your account so you can continue on another device. Bringing an existing guest library into an account is an explicit choice. Optional feedback and email requests work as described below.

What is stored on your device

These live in your browser's local storage. They are not cookies. None is sent as it is stored, but the reading events described under Measurement below carry the random id, and a few of them say what a setting here is — for example the site that sent you, the reading size you picked, that you confirmed your age, and the test mark if you set one. Guest personas, including avatars, and saved playthroughs are stored in IndexedDB. Account reading saves also keep a browser copy for reliable saving when the connection is interrupted. These copies are separated by account; signing out clears that account's reading cache. Clearing site data removes browser copies, while successfully synced account saves remain available after signing in again.

KeyWhat it is for
netfable.age.v1That you confirmed you are 18 or over, so you are not asked again
netfable.progress.v1An older chapter-progress save, retained when migrated to the playthrough library
netfable.name.v1The name you chose to be called in the story
netfable-personas (IndexedDB)Guest persona names, descriptions, pronouns, avatars, defaults, and story selections saved on this device
netfable-reading (IndexedDB)Separate playthroughs, role snapshots, reading position, decisions, story variables, and reading preferences; guest records and account caches stay separate
netfable.reading-device-settings.v1Optional theme and text-size settings for this browser that override account defaults
netfable.save-invitation.v1Whether the optional invitation to save across devices has been shown
netfable.backup-invitation.v1Whether the optional backup reminder has been shown after a completed chapter or new persona, so it is not repeated
netfable.theme.v1Whether you picked light or dark
netfable.sid.v1A random id with no personal data in it, so one browser's reading events can be grouped together. It stays until you clear site data
netfable.events.v1A copy, kept on your device, of the reading events sent to us (see Measurement) — chapters started and finished, choices made
netfable.vars.v1Older story variables retained as part of the saved-reading migration
netfable.more.v1Which stories you asked us to continue, so the button shows that we heard you
netfable.textsize.v1The reading size you picked with Aa
netfable.taps.v1How many times you have tapped to read on, so the "Tap to continue" hint goes away once you know it
netfable.debug.v1Only if you open the site with ?debug=1: marks your reading events as a test, so they are left out of our counts
netfable.via.v1The site that sent you here, as a bare host name, or the plain name a link gave itself (?via= or ?utm_source=). Session storage, so it is gone when you close the tab
netfable.notify.v1Which stories you have asked to be emailed about, so the form is not shown twice. The address itself is not kept here

What you send us on purpose

Account personas. When you save a persona while signed in, we store its name, description, optional pronouns, avatar, default preference, and story selections with your account so they are available when you sign in on another device. They are private to your account and are not published as a profile or credit name. Avatars are resized before upload and stored privately on Cloudflare. Guest personas are uploaded only when you choose to import them. The account-import panel lets you choose saved readings, persona names and avatars, private reference notes, and reading settings separately. Private notes start unchecked; you must select them to upload existing guest notes. Later note imports fill empty account fields and keep existing account notes. You can edit or delete personas in the Personas library. A saved playthrough retains its original role and avatar even if you later edit or delete that persona, unless you explicitly choose to clear its saved identity when deleting it. That privacy option removes the persona name, avatar and link from matching self-insert playthroughs in the current library, while preserving choices, progress and authored character roles. Minimal records of the removed persona IDs prevent stale saves from restoring those identities. Other devices apply account cleanup when they reconnect. Separate guest copies and older downloaded files are not erased.

Account reading saves. When signed in, we save each playthrough's story, role snapshot, chapter position, selected choices, and story variables with your account. We also save your chosen theme and text size. These records are private and are not a public profile. Browser copies let you keep reading if syncing is interrupted; the interface tells you when a save has reached your account. Different journeys and conflicting device saves are kept separately. Signing out returns to the separate guest library on this browser; it does not delete confirmed account saves. Importing a guest playthrough leaves its original in the guest library, which does not sync. If that guest copy changes, importing it again creates a separate account playthrough.

Account-library downloads. While signed in, you can download your confirmed account playthroughs, personas, saved avatars and reading settings as unencrypted JSON. You can exclude private notes and avatars. This is a portable library file, not a download of your credit name, feedback, community contributions, deletion requests or other site records. The export stops if your account changes, data cannot be retrieved or reading changes remain unsynced. It can be restored into a guest library and then explicitly imported into an account.

Deletion requests. Delete individual account personas in My personas; optionally clear their retained playthrough identities as described above. Signed-in readers can submit a deletion request in Account → Your data, choosing library records, personas and notes, credit-name and feedback records, the account, or published contribution credits. We save the request reference, selected scope, status and dates privately with the account so you and the NetFable operator can review it. A request is not automatic deletion. You can check its status and cancel while it is pending. Once review begins, contact us about changes to its scope. Completed means the operator has recorded the requested work as completed after review; the status control itself does not erase data. No automated email confirmation is sent. You can also contact us about records outside a library download. There is currently no automatic whole-account deletion button or published response deadline. Browser-only guest data and files you downloaded are separate copies; removing account records does not erase those copies from your devices.

Guest-library backups. My NetFable can download a JSON copy of the guest personas, avatars, reference notes, reading settings, and saved playthroughs in this browser. You can exclude reference notes (descriptions and pronouns), avatars, or both from the exported copy without changing the originals. Omitting avatars can reduce the file size. Exports and restores are limited to 25 MiB; an oversized export fails instead of creating an unrestorable file. These backup files are not encrypted. Backup preparation and restoration happen locally; the file is not uploaded to NetFable. If downloads are unavailable, you can explicitly copy the backup text instead. Keep these files and copied text private. A backup contains your saved choices and progress, not the story text for offline reading. Saved playthrough identities retain their own names and avatars, including when you import readings without adding their personas to the editable persona library. Restoring a backup adds data without replacing conflicting saved journeys; upload to an account still requires your explicit import choice.

You can ask your browser to protect local storage from automatic cleanup. The browser may decline, and even protected storage can be removed by clearing site data. A file backup or a confirmed account save provides a separate recovery option.

A few things on the site ask you for something, and all of them are optional. Tapping a chip — why you stopped reading, or whether a chapter was worth it — sends that one word, attached to the same random id everything else uses. The feedback box, and the request forms on the classics and feature-request pages, send whatever you typed, up to 600 characters, plus a name if you chose to add one.

Your own words at a choice, in the stories that offer it. Some stories let you type your own reply instead of picking an offered option. What you type, the options on screen and a few lines of the chapter around them are sent to our AI provider (apikey.fun, running GPT models) to interpret your words and write one short reply in the story's voice; the story then continues along a branch its author wrote. Nothing else about you goes with it — your persona, your saved name and your reading history never do — what you type is never included in our measurement, and it is never stored beyond answering you.

A story you create. If you use the Create page, the title and the text you paste go to our AI provider (the same one as above) to draft the branching script. Your drafts are stored with your account and are visible only to you and, once you send one for review, to the person reviewing it — until it is approved and published, when it becomes a story on the site carrying your handle. What you paste is never included in our measurement.

An email address, if you ask us to email you. At the end of a story that is

An email address, if you ask us to email you. At the end of a story that is still being written you can ask us to email you when the next chapter is out. If you do, we keep your email address, the story you asked about and when you asked. The address is encrypted where we store it, and it is used for that one purpose: nothing is sent to it until you confirm it from a link in the first message, an address that is never confirmed is deleted after a week, and after that we write to you only when a new chapter of that story is out. Every email carries a link that deletes your address for good, and it works without signing in. Or write to us at the address at the foot of this page and we will delete it.

A name you type there is self-declared and proves nothing; if you happen to be signed in, the note is linked to that account so we can reply. Nothing you write is published anywhere without asking you first. Write to us at the address at the foot of this page to have a note deleted.

What we do not collect

Measurement

We look at anonymous, aggregate reading data — how many people start a chapter and how many finish it — to work out which stories are worth continuing. It is counted per random id that your browser keeps until you clear site data (the netfable.sid.v1 above), never per person. With it goes the kind of device you read on — phone, tablet or computer, judged from whether the screen is a touch screen and how big it is — never its make, its model or its exact size. If the page runs into an error in your browser, it sends us the error's message, where it happened and which screen you were on, at most three a visit, so we can fix it.

We also count library section openings, resumed chapters, backup export and restore actions, and whether a browser-storage protection request succeeds. These events do not include persona names, notes, avatars, private playthrough IDs, or backup contents.

We also record the host name of the site that linked you — reddit.com, not the page, the search terms or anything after the slash — so we can tell which communities send readers who stay. A link we post ourselves may carry a plain tag such as ?via=tiktok, which does the same job more accurately. Some sites label their own links, as ChatGPT does with ?utm_source=chatgpt.com, and send no referrer at all; we record that plain name in the same place.

Google Analytics tells us roughly where visitors arrive from and on what kind of device. It runs on every page and sets a cookie to tell one browser from another; we do not ask first, and there is nothing on the site to switch it off. If you would rather not be counted, your browser can refuse it — see the cookie policy for how.

Our host, Cloudflare, also measures page performance without cookies and without identifying anyone.

Where the site runs

NetFable is served by Cloudflare. Your request reaches their network, which means your IP address is processed to deliver the page, as with any website.

A note you send through the feedback box, or the request form on the classics or feature-request pages, is forwarded to our team chat (Lark) so that somebody reads it. What you wrote and the name you chose go with it, and nothing else does.

Email is sent through Resend (resend.com), a delivery service. When we send you something — a sign-in link, or the confirmation and chapter emails described above — the address and the message pass through them to reach you. That is the only reason either reaches them, and it is the only place your address goes besides our own database.

Your choices

Questions about anything here: hello@netfable.com.