Effective 22 August 2026

Privacy policy

Fiction Reader is self-hosted software, not a developer-operated reading service. This policy explains the public website, the data a copy of the application handles, and the optional Google Drive connection.

1. Scope and who operates what

This policy applies to the Fiction Reader application and this public information site. “Project maintainer” means the independent developer of Fiction Reader. “Operator” means the person who installs or runs a particular copy.

The project maintainer does not provide a central Fiction Reader account, hosted library, sync server or content service. In ordinary use, the maintainer cannot see a particular operator's library, reading history, source credentials, Google account, OAuth tokens or synced files. An operator who runs Fiction Reader for other people controls that deployment and is responsible for its administration and any privacy obligations that follow.

The practical summary: application data stays on the operator's device or private server and with services the operator deliberately connects. It is not sent to the project maintainer.

2. The public website

This site contains static HTML, CSS and an image. It has no user accounts, forms, advertising, behavioural analytics, tracking pixels or application cookies, and it does not intentionally collect personal information.

The site is hosted by Cloudflare. As the network and hosting provider, Cloudflare may process ordinary request and security information such as IP address, time, requested URL, browser or user-agent information, and abuse signals to deliver and protect the site. That processing is governed by Cloudflare's privacy policy. Links to GitHub, Google or other sites take visitors to services with their own policies.

3. Data handled by the application

Depending on the features the operator enables, a Fiction Reader installation may handle:

  • library metadata, subscribed story URLs, author and source details, downloaded and sanitised chapter content, cover images and content revisions;
  • imported ebook files and parsed chapters supplied by the operator;
  • profiles, reading position and history, read/unread state, annotations, notes, tags, collections, presets and reader preferences;
  • job history, source settings, error information and operational logs;
  • credentials or session cookies supplied for third-party fiction sites; and
  • Google OAuth credentials and sync data when Google Drive is connected.

This information is used to provide the reader-facing features described on the What it does page. The application does not use it for advertising, profiling unrelated to those features, sale of data or surveillance.

Where source credentials are configured, the self-hosted server encrypts them at rest and does not return them through its API. The operator controls the server, encryption key, devices, backups, users and network exposure. Fiction Reader's private-server mode is designed for a trusted local network or VPN and should not be exposed directly to the public internet.

4. Google Drive data

Google Drive sync is optional. Fiction Reader requests only the non-sensitive scope https://www.googleapis.com/auth/drive.appdata, also described by Google as the app folder or application-data permission. It does not request permission to browse the user's Drive.

QuestionFiction Reader's use
What can the app access?Only the hidden appDataFolder created for Fiction Reader's OAuth client. It cannot list, read or change ordinary files elsewhere in the user's Drive.
What is stored there?Fiction Reader stores its synchronised library data only in that hidden folder. This includes sync metadata and library identity; reading state and history; annotations and organisation; selected application and source settings; source credentials or session records already encrypted by the operator's installation; temporary device-pairing messages; and copies of the user's own imported book files when book sync is enabled. Plaintext source secrets and the encryption key needed to decrypt protected records are not stored in Drive.
Why is it used?Only to provide user-facing sync, device pairing and recovery between copies of Fiction Reader controlled by the user.
Who receives it?Google Drive stores it in the user's account, and the user's authorised Fiction Reader devices exchange it. The project maintainer does not receive it.
Is Google user data sold or shared?No. Fiction Reader and the project maintainer do not sell or share Google user data with third parties. It is not used for advertising, transferred to data brokers, or used to train general-purpose machine-learning models.

Desktop authorisation uses the system browser, a loopback callback and PKCE. Its long-lived refresh credential is kept in protected native storage using the operating system's secure-storage facility and is not exposed to the web renderer or the Fiction Reader server process; the sync engine receives a short-lived access token. On standalone Android, the short-lived Drive access token stays only in native memory and is not returned to or stored by the web layer. Sync never places an OAuth token or the library encryption key in Drive.

Fiction Reader's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

5. Third-party fiction sites

When the operator enables a supported source, the installation makes requests directly to that source to search, authenticate, retrieve metadata or download works selected by the operator. The source sees the network and account information ordinarily associated with those requests and applies its own privacy policy and terms.

Fiction Reader does not send source credentials to the project maintainer. It does not grant access beyond what the operator's own account can already access, and it is not designed to solve CAPTCHAs, evade access controls or redistribute downloaded content.

6. Disclosure and processors

The project maintainer does not receive application data in the normal operation of a self-hosted copy and therefore does not sell or disclose it. Data is processed by third parties only when the operator chooses or necessarily uses them: for example, Google for optional Drive sync, source sites for retrieval, a hosting provider selected by the operator, Cloudflare for this website, or GitHub when a visitor opens the project repository or submits an issue.

An operator may choose to share diagnostic information when requesting help. Logs, screenshots and exported bundles can contain sensitive material. Remove credentials, cookies, tokens, private story data and personal information before sharing them. Never post secrets in a public issue.

7. Security

The project includes measures intended to reduce risk, including encryption of stored source credentials, protected native token storage, HTML sanitisation, safe-URL checks, path confinement, credential redaction, conservative request pacing and a narrow Google permission. No software or storage system can be guaranteed secure. Operators remain responsible for device security, server access, backups, encryption keys, updates, VPN configuration and the people allowed to use their installation.

8. Retention, revocation and deletion

Application data remains in the operator's local database, content directories, device storage and backups until the operator removes it under the application's controls or deletes that installation and its backups. The project maintainer has no central copy to delete.

The user can disconnect Google Drive in Fiction Reader. This removes or forgets the locally held authorisation on that device and stops new sync there. Standalone Android also provides a separate Forget the local Drive library action, which deletes that device's standalone database, book copies and protected library key without changing the copy in Drive. To make all devices lose access, remove Fiction Reader from the Google Account connections page. Revocation stops future API access but does not itself guarantee deletion of data already stored in the hidden folder.

To delete Drive-stored Fiction Reader data, open Google Drive settings, choose Manage apps, find Fiction Reader, and use the option to delete its hidden app data. This removes the remote sync copy and can make recovery or reconnection impossible. Delete local Fiction Reader data separately on each device if a complete deletion is wanted. More detail is on the support page.

9. Choices and privacy rights

The operator can choose not to connect Google Drive, not to configure logged-in sources, and not to enable optional sync or download features. Because application data is held by the operator rather than the project maintainer, requests to inspect, correct, export or delete that data should normally be carried out in the installation or directed to whoever operates it.

Visitors may contact the project through the channel on the support page with a privacy question about this site or the software. The maintainer may need enough information to understand and answer the request, but should not be sent credentials, OAuth tokens or private library content.

10. Children

Fiction Reader is a general-purpose personal tool and is not directed to children. The project maintainer does not knowingly collect children's personal information through this static site. Parents or guardians remain responsible for a child's installation, accounts, source access and stored content.

11. Changes and contact

This policy may be updated when the application's data practices or legal requirements change. The effective date at the top identifies the current version. Material changes to Google user-data use should be disclosed before the application uses that data for a new purpose.

For policy questions, use the contact route described on the support page. This policy describes the project accurately but is not a substitute for legal advice to an operator running Fiction Reader for other people.