隐私政策 · 拼音注音标注

生效日期:2026 年 7 月 28 日

本扩展不收集、不存储、不传输任何个人数据。 它没有服务器,代码里没有任何一处发起网络请求;所有工作都在你自己的浏览器里完成。

一、我们不收集什么

以下内容,本扩展一概不收集,也无处发送

这一点你可以自己核实:扩展安装后,其全部代码都以可读文件的形式存放在本机 (Chrome 中打开 chrome://version 查看「个人资料路径」,进入 Extensions 下对应的目录),可以直接搜索 fetchXMLHttpRequestWebSocketnavigator.sendBeacon —— 一处都不会找到。也可以在 chrome://extensions 中打开开发者模式、检查扩展视图, 在 DevTools 的 Network 面板里确认它从不发起任何请求。

二、本机保存了什么

扩展只使用 chrome.storage.local(浏览器本机存储)保存你的偏好设置。这些数据 仅存在于你的设备上,不会同步到任何服务器,也不会同步到你的其他设备。

保存的内容 用途
标注形式与声调 记住你选的是拼音还是注音、声调怎么显示
版式参数 字号、间距、深浅、颜色、行距
已开启的站点列表 记住你在哪些网站的域名(如 example.com)上开启了标注。只保存域名本身,不保存完整网址、页面标题或任何页面内容。

卸载扩展会一并删除这些数据。你也可以在扩展面板中点「恢复默认」重置外观设置,或在 chrome://extensions 中清除扩展数据。

三、页面内容是怎么处理的

为了给汉字加注音,扩展需要读取当前页面上的文字。这项工作完全在你的浏览器内存中完成: 读取文本 → 在本机查词库得到读音 → 就地插入 <ruby> 标注。 拼音词库随扩展一起打包在本地,查询不经过网络。

页面内容不会被保存到硬盘,不会被缓存,不会被发送到任何地方。关闭标注后,页面被精确还原为原样。

四、为什么需要这些权限

权限 用途
storage 本机保存上述偏好设置。
activeTab 打开扩展面板时,读取当前标签页的域名,以便显示「在此站点显示注音」这个开关。当你在 Chrome 中把本扩展的站点访问权限设为「点击时」,这是扩展获取访问权的唯一途径。
<all_urls> 注音是一项可能在任何中文网页上使用的功能,无法预先列出网址清单,因此必须申请全站权限。 但默认对所有站点关闭——装上之后不会改动任何页面,需要你在面板里逐站开启, 或显式打开「在所有站点开启」。

五、第三方

本扩展不含任何第三方服务、追踪器或广告。唯一的第三方代码是开源拼音词库 pinyin-pro(MIT 许可),它以纯本地词典的形式打包在扩展内部,不产生任何网络通信。

六、变更与联系方式

本政策如有变更,将更新本页面并修改顶部的生效日期。有疑问或发现问题,请在 GitHub Issues 提出。

Privacy Policy · Pinyin Ruby

Effective: 28 July 2026

This extension collects, stores, and transmits no personal data. It has no server, and its code contains no network calls of any kind. Everything happens inside your own browser.

1. What we do not collect

None of the following is collected, and there is nowhere for it to be sent:

You can verify this yourself. Once installed, all of the extension's code sits on your machine as readable files (open chrome://version, find the “Profile Path”, then look under Extensions); search them for fetch, XMLHttpRequest, WebSocket, or navigator.sendBeacon and you will not find one. You can also enable developer mode on chrome://extensions, inspect the extension's views, and confirm in the DevTools Network panel that it never makes a request.

2. What is stored on your device

The extension uses chrome.storage.local only, to remember your preferences. This data never leaves your device — it is not synced to any server, nor to your other devices.

Stored Purpose
Annotation mode & tone Whether you chose pinyin or zhuyin, and how tones are shown
Typography settings Size, spacing, opacity, color, line height
Enabled site list The hostnames (e.g. example.com) where you turned annotation on. Only the hostname is stored — never full URLs, page titles, or page content.

Uninstalling the extension deletes this data. You can also press “恢复默认 / Reset” in the panel, or clear extension data from chrome://extensions.

3. How page content is handled

To annotate characters the extension must read the text on the current page. This happens entirely in your browser's memory: read text → look up readings in a local dictionary → insert <ruby> markup in place. The pinyin dictionary is bundled with the extension; lookups never touch the network.

Page content is never written to disk, never cached, and never transmitted. Turning annotation off restores the page exactly as it was.

4. Why each permission is needed

Permission Purpose
storage Saves the preferences described above, locally.
activeTab When the popup opens, reads the current tab's hostname so the per-site toggle can be shown. If you set this extension's site access to “on click”, this is the only way it gains access at all.
<all_urls> Ruby annotation is useful on any Chinese-language page, so no fixed list of sites can be declared. However it is off for every site by default — installing it changes no page until you enable a site in the panel, or explicitly turn on “all sites”.

5. Third parties

There are no third-party services, trackers, or ads. The only third-party code is the open-source pinyin dictionary pinyin-pro (MIT), bundled as a purely local dictionary with no network activity.

6. Changes & contact

Changes to this policy will be published on this page with an updated effective date. Questions or problems: GitHub Issues.