Xyfy TXT Reader 隐私政策
Xyfy TXT Reader(以下简称“本扩展”)尊重并保护用户隐私。本政策说明本扩展会收集、处理和存储哪些数据,以及这些数据如何被使用。
1. 我们收集哪些数据
- 本地导入的 TXT 文本内容(用于阅读与分页)。
- 阅读进度、阅读设置、书签、最近阅读记录等阅读相关数据。
- 用于同步的轻量配置项(通过浏览器提供的
chrome.storage.sync)。
2. 数据存储位置
- 正文与主要阅读数据默认保存在用户浏览器本地存储(IndexedDB)。
- 部分设置与进度可镜像到浏览器账号同步存储(chrome.storage.sync)。
- 如用户启用 Gist 云备份,备份文件存储在用户自己的 GitHub Gist 中。
3. 我们不会做什么
- 不会将用户导入的 TXT 正文上传到开发者服务器。
- 不会出售用户数据给第三方。
- 不会进行广告跟踪或跨站追踪。
4. 权限说明
storage:用于保存阅读进度、书签、阅读设置等本地数据。permissions:仅在用户点击“连接 Gist”时,按需申请 GitHub API 访问权限,安装时不预先获取。- 可选主机权限
https://api.github.com/*:仅用于向用户自己的 Gist 读写备份文件。
云备份占用的是用户自己的 Gist 存储,不占用开发者存储。
5. 凭证(Token)处理
- 如用户启用 Gist 云备份,需自行填写 GitHub 个人访问令牌(Token)。
- 该 Token 仅保存在用户本机浏览器存储中,不会上传至开发者服务器或任何第三方。
- 该 Token 仅用于代表用户本人调用 GitHub API,读写用户指定的 Gist。
- 用户可随时在阅读器中断开连接或清除数据,Token 随之删除。
6. 数据保留期限
- 本地数据(正文、进度、书签、设置):保留至用户主动删除或卸载扩展为止,开发者不设自动过期。
- 浏览器同步数据(
chrome.storage.sync):保留至用户关闭同步或删除同步数据为止。 - Gist 备份文件:保留在用户自己的 GitHub 账号中,期限由用户自行管理。
- 用户卸载扩展后,本地存储与扩展数据由浏览器清除;Gist 中的备份文件需用户自行在 GitHub 删除。
7. 用户权利
- 访问与导出:通过扩展内“导出备份”功能,可随时导出全部阅读数据为 JSON 文件。
- 更正:阅读设置与进度可在扩展内直接修改。
- 删除:通过扩展内数据重置功能、清除扩展数据或卸载扩展删除本地数据。
- 响应方式:如对数据处理有疑问或需协助删除,可通过下方联系方式提出,通常在 7 个工作日内回复。
8. 错误上报(可选,默认关闭)
- 默认关闭:本扩展的“匿名错误上报”开关出厂即为关闭状态,未开启时不会向任何服务器发送错误信息,异常仅记录在本机控制台,便于用户自行排查。
- 开启后上报的内容:仅包含应用版本号、浏览器名称与大版本号(如
Chrome/141)、错误类型、错误名称、错误消息、已匿名化的调用栈(去掉域名、本机用户名与绝对路径)、事件发生时间戳,以及少量技术性上下文(如出错阶段、章节序号)。 - 明确不包含:TXT 正文、书名、文件名、Gist Token 或任何凭证、邮箱等个人信息。上下文采用“键名白名单 + 值形态校验”双重过滤,白名单外的字段一律丢弃。
- 随时关闭:在“设置 → 常规”中取消勾选即可立即停止上报,关闭后不再发送任何数据。
- 历史版本说明:若当前版本尚未接入上报端点,即便开启开关也只会本地记录,不会对外发送。
9. 阅读统计与最近文件
- 统计内容:从 0.7.0 起,扩展会在本机记录每日阅读时长、每日阅读字数、最近一次阅读时间,用于展示“今日阅读 / 阅读速度 / 本章剩余 / 连续阅读天数”。
- 最近文件:仅记录文件名、文件大小与导入时间,便于一键重新打开,不保存文件路径。
- 存储位置:两者均只保存在本机浏览器存储,不参与 chrome.storage.sync 同步、不参与 Gist 云备份、不上传任何服务器。
- 保留期限:统计明细保留最近 30 天,更早的按天记录自动裁剪;最近文件最多保留 8 条。
- 删除方式:使用“清除阅读进度”会同时清除统计与最近文件;卸载扩展则全部清除。
10. 政策更新
当功能或数据处理方式发生变化时,本页面会同步更新并标注新的生效日期。
11. 联系方式
- 开发者:Xyfy TXT Reader 项目维护者(GitHub 账号 xyfy)
- 问题反馈:https://github.com/xyfy/Xyfy.TxtReader/issues
- 隐私相关请求:请在上方 Issue 中标注“privacy”,以便优先处理。
Privacy Policy (English)
Xyfy TXT Reader (the "Extension") respects your privacy. This policy explains what data is processed and where it is stored.
1. Data We Process
- TXT content you import for reading and pagination.
- Reading progress, settings, bookmarks, and recent history.
- Lightweight sync settings via
chrome.storage.sync.
2. Where Data Is Stored
- Main reading data is stored locally in your browser (IndexedDB).
- Some settings/progress may sync through your browser account storage.
- If Gist backup is enabled, backup files are stored in your own GitHub Gist.
3. What We Do Not Do
- We do not upload your TXT content to developer servers.
- We do not sell your personal data.
- We do not perform ad tracking or cross-site tracking.
4. Permission Usage
storage: saves reading progress, bookmarks and display settings locally.permissions: used only to request the GitHub API host permission at runtime, after the user clicks "Connect Gist". It is not requested at install time.- Optional host permission
https://api.github.com/*: used only to read and write backup files in the user's own Gist.
Cloud backups use your own Gist storage, not developer-owned storage.
5. Token Handling
- If you enable Gist cloud backup, you provide your own GitHub personal access token.
- The token is stored only in your local browser storage. It is never sent to the developer or any third party.
- The token is used solely to call the GitHub API on your behalf, against the Gist you specify.
- You can disconnect or clear your data at any time in the reader, which removes the token.
6. Data Retention
- Local data (text, progress, bookmarks, settings): retained until you delete it or uninstall the extension. The developer sets no automatic expiry.
- Browser sync data (
chrome.storage.sync): retained until you turn off sync or delete the synced data. - Gist backup files: retained in your own GitHub account, under your control.
- After uninstalling, local and extension data are cleared by the browser. Backup files in your Gist must be deleted by you on GitHub.
7. Your Rights
- Access and export: export all reading data as a JSON file using the built-in backup feature at any time.
- Correction: change reading settings and progress directly in the extension.
- Deletion: use the in-app data reset, clear extension data, or uninstall the extension.
- Response time: questions or deletion requests made through the contact below are typically answered within 7 business days.
8. Error Reporting (Optional, Off by Default)
- Off by default: the "Anonymous error reporting" toggle ships disabled. When it is off, nothing is sent to any server; errors are only logged locally in the console.
- What is sent when enabled: app version, browser name and major version (e.g.
Chrome/141), error type, error name, error message, an anonymised stack trace (domain, local username and absolute paths removed), the timestamp, and a small amount of technical context such as the failing phase or chapter index. - What is never sent: TXT content, book or file names, Gist tokens or any credentials, email addresses, or any other personal data. Context is filtered twice — by an allow-list of keys and by a strict value shape check; anything outside the allow-list is dropped.
- Opt out at any time: uncheck the toggle in Settings → General to stop reporting immediately.
- Current status: if no reporting endpoint is bundled with the current version, enabling the toggle still results in local logging only.
9. Reading Stats and Recent Files
- What is recorded: starting with 0.7.0 the extension records, locally, your daily reading duration, daily character count and last reading time, in order to show "today's reading", "reading speed", "time left in chapter" and "reading streak".
- Recent files: only the file name, file size and import time are stored so a file can be reopened in one click. File paths are never stored.
- Where it lives: both are kept in local browser storage only. They are not synced via chrome.storage.sync, not included in Gist backups, and never uploaded to any server.
- Retention: daily stats are kept for the last 30 days and older days are trimmed automatically; at most 8 recent files are kept.
- Deletion: "Clear reading progress" also clears stats and recent files; uninstalling clears everything.
10. Policy Updates
This page will be updated when data handling changes, with a new effective date.
11. Contact
- Developer: maintainer of Xyfy TXT Reader (GitHub account xyfy)
- Issues: https://github.com/xyfy/Xyfy.TxtReader/issues
- Privacy requests: please tag the issue with "privacy" so it is prioritised.