中文 English

词刷 BrushWords 隐私政策

最后更新:2026 年 10 月 15 日

词刷(BrushWords)是一款离线背单词应用。默认情况下,你的所有学习数据只保存在本机,不会上传到任何服务器。只有在你主动登录(通过 Apple 或 Google 账号)开启云同步之后,才会有数据离开设备。本政策同时适用于 Android 版和 iOS 版。中国大陆的应用商店版本没有云同步,适用国内版隐私政策。

1. 我们收集什么

不登录时:不收集任何能识别你身份的信息。词库内置在安装包里,刷词、查词典都在本地完成。只有几个由你主动触发的功能会联网:下载发音包、查词时的整句翻译和拍照翻译、从网址导入词书、提交意见反馈,见第 4 节。

登录云同步后,为了在你换手机时恢复进度,以下数据会保存到我们的 Firebase 项目:

这些数据经压缩后存为一份文档,路径是 brushwords/{你的 uid}。安全规则限定只有你本人的账号能读写自己那一份。

2. 我们不做的事

3. 广告

当前版本不展示广告,也未集成任何广告 SDK。

将来的版本可能会引入广告。如果引入,我们会在发布前更新本页,说明所使用的广告服务商,以及他们可能收集的数据(通常包括广告标识符、大致地理位置和设备信息),并在应用商店的数据安全表单中如实申报。届时也会在 App 内做出提示。

4. 需要联网的功能

导入词书:当你使用「导入生成词书」并自行填入一个网址时,App 会直接从该网址下载内容以提取单词。这次请求发往你指定的那个网站,不经过我们的服务器,我们也不会记录你导入过什么。选择本地文件(PDF / Word / EPUB / 文本)的情况下,解析全程在设备上完成。导入时抽出的原文只保存在你自己的设备上,供你在 App 里阅读,不会上传到我们的服务器,也不随云同步;删除这本词书时原文一并删除。

发音包与真人朗读:在「设置 → 预录发音包」中点下载、或收听经典名著的真人朗读时,App 先向 api.brushwords.com 申请一个有时效的下载链接,再从 Cloudflare R2 下载音频。申请时带上 App 第一次使用时随机生成的下载编号(与你的身份、账号、设备硬件都无关),服务器按「编号 + 日期 + 文件名」记录当天下载了哪些文件,只用来限制每台设备每天的下载量、防止音频被批量盗取。请求里不含任何账号或学习数据。Cloudflare 作为网络服务商会像所有网站一样处理你的 IP 地址,我们不另外记录。

整句翻译:在查词页输入一句话、词库里查不到时,App 会把你输入的这段文字发到我们的翻译接口 api.brushwords.com(运行在 Cloudflare 上),再由它转交 Microsoft Azure 翻译服务(服务器位于美国)翻译后返回。不附带账号、设备标识或学习数据;你的 IP 地址只用于防滥用的频率限制,不做存储。同一句话的翻译结果会在 Cloudflare 缓存一天,以减少重复请求。请不要在查词框里输入敏感个人信息。在 iOS 18 及以上、且手机已下载对应离线语言的情况下,翻译由系统在本机完成,不经过上述服务器。

拍照翻译:在查词页拍照或从相册选一张图片后,图片里的文字在手机本地识别(Android 版使用打包在 App 里的 Google ML Kit 离线文字识别模型),照片本身不会上传到我们或任何第三方。识别出的文字按上面「整句翻译」的方式发去翻译,每次最多 50 个单词,点选某一段时只发那一段。拍的照片只临时放在 App 的私有缓存里,关闭页面即删除,不会存进你的相册。Android 版使用系统相机和系统照片选择器,不申请相机或相册权限;iOS 版拍照时会请求相机权限(可在系统设置里随时关闭),识别用系统自带的 Apple Vision,从相册选图不申请相册权限。两端都只能读到你当次拍摄或选中的那张图片。

意见反馈:在「设置 → 关于 → 意见反馈」提交时,我们会收到你写的内容,以及你自愿填写的联系方式和自愿附上的截图;App 还会附带版本号、设备型号、系统版本和界面语言,方便排查问题。服务器另外记录由网络推断出的所在国家或地区(不记录 IP 地址)。这些信息只用于改进 App 和回复你,保存在 Cloudflare(D1 数据库和 R2 存储)上,并以邮件形式发给开发者。不提交反馈就不会发送任何上述信息。如需删除你提交过的反馈,请发邮件到第 10 节的地址。本条同时适用于 Android 版和 iOS 版。

系统朗读:没有下载发音包时,单词和例句由手机系统自带的朗读引擎(TTS)读出,要朗读的文字会交给该引擎处理,具体由引擎提供方的隐私政策约束。

5. 数据存放在哪

云同步数据由 Google 的 Firebase(Cloud Firestore)托管,数据库位于印度孟买(asia-south1)。传输全程使用 HTTPS 加密,App 已禁用明文 HTTP。

6. 系统自动备份

Android 系统自带的应用备份可能会把 App 的本地数据备份到你自己的 Google 云端硬盘配额中,用于换机恢复。你可以在「系统设置 → Google → 备份」中关闭它。

在 iPhone 上,学习记录会随 iCloud 备份或电脑备份一起保存在你自己的备份里(内置词库和发音包可以重新下载,不进备份)。你可以在「设置 → [你的名字] → iCloud → iCloud 云备份」中管理。

这两种备份都由你的系统设置控制,与是否登录云同步无关,我们无法访问。

7. 删除你的数据

在 App 内打开「设置 → 云同步 → 删除账号与云端数据」,即可一次性删除:

删除立即生效且不可撤销。此操作不会动你手机上的本地学习记录——如需清除,请用「设置 → 数据 → 清空全部学习进度与标记」。此操作也不会影响你的 Apple 账号或 Google 账号本身;通过 Apple 登录的,我们还会同时吊销本应用在你 Apple 账号上的登录授权。

如果你无法通过 App 操作,可发邮件到下方地址申请删除,请注明登录所用的邮箱。

8. 儿童

本应用不面向 13 岁以下儿童,也不会有意收集儿童的个人信息。

9. 政策变更

政策如有修改,会更新本页顶部的日期。涉及数据用途的重大变更(包括引入广告),会在 App 内提示。

10. 联系方式

有任何隐私相关的问题或删除请求,请联系:
tf091@qq.com


BrushWords Privacy Policy

Last updated: 15 October 2026

BrushWords is an offline vocabulary-learning app. By default, all of your study data stays on your device and is never uploaded to any server. Data leaves your device only after you actively sign in (with an Apple or Google account) to enable cloud sync. This policy covers both the Android and iOS versions. Versions distributed through app stores in mainland China have no cloud sync and are covered by the China edition policy (Chinese only).

1. What we collect

If you don't sign in: nothing that identifies you. The dictionary is bundled inside the app; studying and dictionary lookups happen locally. Only a few features that you trigger yourself go online: downloading voice packs, translating a sentence or a photo in search, importing a word book from a URL, and sending feedback — see section 4.

Once you enable cloud sync, the following is stored in our Firebase project so your progress can be restored on a new phone:

This is compressed into a single document at brushwords/{your uid}. Security rules ensure that only your own account can read or write your document.

2. What we don't do

3. Advertising

The current version displays no advertising and contains no advertising SDK.

Future versions may introduce advertising. If they do, we will update this page before release to name the ad provider and describe the data it may collect (typically an advertising identifier, coarse location and device information), and we will declare this accurately in the app store's data safety form. A notice will also be shown inside the app at that time.

4. Features that go online

Importing a word book: when you use "Import to create a word book" and enter a URL yourself, the app downloads that page directly to extract words. The request goes to the site you specified, never through our servers, and we keep no record of what you import. When you pick a local file (PDF / Word / EPUB / text), parsing happens entirely on your device. The original text is kept only on your device so you can read it in the app; it is never uploaded to our servers or synced, and it is deleted together with the word book.

Voice packs and narration: when you download a voice pack under Settings → Voice packs, or listen to a classic with human narration, the app first asks api.brushwords.com for a short-lived download link, then downloads the audio from Cloudflare R2. That request carries a random download ID the app generated on first use (not linked to your identity, account or device hardware); the server records which files that ID downloaded each day, solely to cap daily downloads per device and prevent bulk scraping of the audio. No account or study data is sent. Like any website, Cloudflare processes your IP address as the network provider; we keep no separate record.

Sentence translation: when you type a sentence in search that the dictionary cannot match, the app sends the text you typed to our translation endpoint api.brushwords.com (running on Cloudflare), which passes it to Microsoft Azure Translator (servers in the United States) and returns the result. No account, device identifier or study data is attached; your IP address is used only for abuse rate-limiting and is not stored. Translations of the same text are cached by Cloudflare for one day to avoid repeat requests. Please don't type sensitive personal information into the search box. On iOS 18 or later, when the offline languages are already downloaded on your phone, translation happens on-device and never reaches these servers.

Photo translate: when you take a photo or pick one from your photos in search, the text in the image is recognized on your device (the Android app uses Google ML Kit's offline text-recognition model bundled in the app), and the photo itself is never uploaded to us or anyone else. Only the recognized text is sent for translation, exactly as described under "Sentence translation" above, and at most 50 words per request; tapping one block sends only that block. A photo you take is kept only temporarily in the app's private cache and is deleted when you close the screen; it is not saved to your gallery. On Android the app uses the system camera and the system photo picker and requests no camera or photo-library permission. On iOS the app asks for camera permission when you take a photo (you can turn it off in Settings at any time), recognizes text with Apple's built-in Vision framework, and uses the system photo picker without photo-library permission. Either way it can only read the one picture you take or choose.

Feedback: when you send feedback from Settings → About → Feedback, we receive what you wrote, plus the contact details and screenshot if you choose to add them. The app also attaches the app version, device model, system version and interface language to help us diagnose problems, and the server records the country or region inferred from the network (not your IP address). This is used only to improve the app and to reply to you; it is stored on Cloudflare (D1 database and R2 storage) and emailed to the developer. Nothing is sent unless you submit feedback. To have feedback you sent deleted, email the address in section 10. This applies to both the Android and iOS apps.

System speech: without a voice pack, words and examples are read aloud by your phone's built-in text-to-speech engine; the text to be spoken is handled by that engine under its provider's privacy policy.

5. Where data is stored

Cloud sync data is hosted on Google Firebase (Cloud Firestore), in the Mumbai region (asia-south1). All transfers use HTTPS; the app disables cleartext HTTP entirely.

6. System backup

Android's built-in app backup may copy the app's local data into your own Google Drive quota so it can be restored on a new device. You can turn it off under System Settings → Google → Backup.

On iPhone, your study records are included in your own iCloud or computer backup (the built-in dictionary and voice packs can be re-downloaded and are excluded). You can manage this under Settings → [your name] → iCloud → iCloud Backup.

Both kinds of backup are controlled by your system settings, are independent of cloud sync, and we cannot access them.

7. Deleting your data

In the app, open Settings → Cloud Sync → Delete account and cloud data to remove, in one step:

Deletion is immediate and irreversible. It does not touch the study records stored locally on your phone — to clear those, use Settings → Data → Clear all progress and marks. It also does not affect your Apple or Google account itself; if you signed in with Apple, we also revoke this app's sign-in authorization on your Apple account.

If you cannot use the in-app option, email the address below to request deletion, mentioning the address you signed in with.

8. Children

This app is not directed at children under 13, and we do not knowingly collect personal information from children.

9. Changes to this policy

If this policy changes, the date at the top of this page is updated. Material changes to how data is used — including the introduction of advertising — will also be announced inside the app.

10. Contact

For any privacy question or deletion request, contact:
tf091@qq.com