隐私政策Privacy Policy
生效日期:2026-10-16
Kay 是由个人开发者 Max Lin(法定姓名 YOUXIANG LIN,下称「我」)发布的 macOS App。本政策说明这个 App 如何处理你的数据,适用于从项目 GitHub Releases 页面下载的 Kay 及其自动安装的更新。
概要
Kay 不为我收集任何个人数据。我没有服务器,App 录下的任何内容都不会发给我。你的语音只发送给你选择的语音识别服务,使用的是你自己在该服务的账号;如果你填了 DeepSeek Key,识别出的文字(不是音频)还会发给 DeepSeek 纠错。听写历史、最近的录音和日志只保存在你的 Mac 上。
App 接触哪些数据
- 麦克风。 只在你按住听写快捷键(fn 或右 Option)时录音,其他时候不读取麦克风。
- 键盘。 获得「辅助功能」权限后,Kay 监听听写快捷键的按下和松开。只有在按住快捷键期间,它才会留意是否按了其他键,用途只是取消这次录音;不记录按的是哪个键。
- 剪贴板。 粘贴时,Kay 把听写文字放进剪贴板,向最前面的 App 发送 ⌘V,再把原来的剪贴板内容放回去。为此它会在粘贴那一刻读取剪贴板内容,并在内存中保留约半秒。
接收数据的第三方
Kay 只连接下列服务,不连接其他任何地方。每个服务都在你自己的账号和它自己的隐私政策下接收数据。
| 服务 | 何时 | 发送什么 |
|---|---|---|
阿里云百炼(千问语音识别),你填写的工作空间地址(dashscope.aliyuncs.com、dashscope-intl.aliyuncs.com、*.cn-beijing.maas.aliyuncs.com 或 *.ap-southeast-1.maas.aliyuncs.com) |
仅当你选择千问时:按住快捷键期间;点「测试并保存」时和 Kay 启动时(检查 Key,不发送音频) | 你的阿里云 API Key、一个随机任务 ID、你说话的音频(16 kHz 单声道) |
火山引擎(豆包流式语音识别 2.0),openspeech.bytedance.com
|
仅当你选择豆包时:时机同上 | 你的火山引擎 API Key、你选择的资源类型、一个随机连接 ID、固定的用户 ID(kay,所有人相同)、你说话的音频 |
DeepSeek,api.deepseek.com
|
仅当你填了 DeepSeek Key 且纠错开启时:识别出的文字达到 4 个字或词以上时;以及点「测试并保存」时(发送文字「你好」) | 你的 DeepSeek API Key、识别出的文字、纠错指令。音频从不发给 DeepSeek |
GitHub,raw.githubusercontent.com 和 github.com
|
每天一次,以及你点「检查更新…」时 | 请求更新列表;有新版本时下载它。不附带任何关于你或你的 Mac 的信息(Sparkle 的系统信息上报处于关闭状态) |
每个 API Key 只发给它自己的服务。如果听写进行中 Kay 被退出或崩溃,下次启动时会把那段音频再次发给你选择的服务,让这次听写仍能被识别并记入历史。
在你的 Mac 上保存什么
-
API Key:保存在 macOS 钥匙串(服务名
com.max1874.kay)。 -
听写历史:每次听写的文字、被纠错改动时的原始识别文字、日期、时长、耗时、识别服务、麦克风名称,失败时的错误信息,保存在
~/Library/Application Support/Kay/history.json(最近 1000 条,仅你的用户账户可读)。 -
最近的录音:最近 20 次听写的 WAV 文件,在
~/Library/Application Support/Kay/recent/。听写进行中,音频还会写入~/Library/Application Support/Kay/下的pending-….pcm文件,结果记录后即删除。 -
偏好设置:所选服务、工作空间地址或资源类型、快捷键、麦克风、剪贴板历史和纠错设置、菜单栏和程序坞设置、检查更新的状态,保存在
~/Library/Preferences/com.max1874.kay.plist。 -
日志:在
~/Library/Logs/Kay/(最多约 8 MB),记录每次听写的时间、耗时、麦克风名称、字数和结果,从不记录文字内容。如果听写期间 Kay 停止响应,会在~/Library/Logs/Kay/hangs/保存一份诊断快照(各线程调用栈和 Kay 最近的系统日志)。
以上内容除非你自己发送,否则不会离开你的 Mac。
权限
- 麦克风: 按住快捷键时录音所需。首次打开 Kay 时请求。
- 辅助功能: 在其他 App 中识别听写快捷键并替你粘贴所需。没有这项权限时,Kay 改为把文字复制到剪贴板。
你可以随时在 系统设置 → 隐私与安全性 中撤销。
统计与追踪
App 不包含任何统计分析、崩溃上报、广告或追踪代码。唯一的第三方依赖是更新框架 Sparkle。
如何删除你的数据
- 在 Kay 的设置里对每个服务点「移除 Key…」,从钥匙串删除 Key。移除后 Key 在服务商那边仍然有效,需要时到该服务商的控制台吊销。
- 在「设置 → 通用」里点「全部清除…」删除听写历史和最近的录音,或直接删除
~/Library/Application Support/Kay。 - 退出 Kay,把它从「应用程序」移到废纸篓。
- 删除
~/Library/Logs/Kay、~/Library/Preferences/com.max1874.kay.plist和~/Library/Caches/com.max1874.kay。 - 在 系统设置 → 隐私与安全性 中移除 Kay 的权限。
已经发给阿里云、火山引擎或 DeepSeek 的音频和文字,按你与该服务商的协议处理,我无法访问。
本政策的变更
如果 App 处理数据的方式发生变化,我会在新版本发布前或发布时更新本政策及其生效日期。
联系方式
Max Lin(个人开发者) 邮箱:hi@max1874.com 问题反馈:https://github.com/max1874/kay/issues
Effective date: 2026-10-16
Kay is a macOS app published by individual developer Max Lin (legal name YOUXIANG LIN; "I", "me"). This policy describes what the app does with your data. It applies to Kay downloaded from the project's GitHub Releases page and to the updates it installs.
Summary
Kay collects no personal data for me. I run no server, and nothing the app records is sent to me. Your voice is sent only to the speech recognition service you choose, under your own account with that service; if you add a DeepSeek key, the recognized text (not the audio) is also sent to DeepSeek for correction. History, recent audio and logs stay on your Mac.
What the app touches
- Microphone. Kay records only while you hold the dictation key (fn or Right Option). It reads nothing from the microphone at any other time.
- Keyboard. With Accessibility permission, Kay watches for the dictation key being pressed and released. Only while that key is held does it also notice whether any other key is pressed, and only to cancel the recording; it does not record which key.
- Clipboard. To paste, Kay puts the dictated text on the clipboard, sends ⌘V to the frontmost app, and then puts back what was on the clipboard before. To do that it reads the clipboard's contents at the moment of pasting and keeps them in memory for about half a second.
Third parties that receive data
Kay connects to these services and no others. Each receives data under your own account and its own privacy policy.
| Service | When | What is sent |
|---|---|---|
Alibaba Cloud Model Studio (Qwen ASR), at the workspace address you enter (dashscope.aliyuncs.com, dashscope-intl.aliyuncs.com, *.cn-beijing.maas.aliyuncs.com or *.ap-southeast-1.maas.aliyuncs.com) |
Only when Qwen is the service you chose: while you hold the key; when you press Test & Save and when Kay starts (key check, no audio) | Your Alibaba Cloud API key, a random task ID, and the audio you speak (16 kHz mono) |
Volcengine (Doubao Streaming ASR 2.0), openspeech.bytedance.com
|
Only when Doubao is the service you chose: same occasions as above | Your Volcengine API key, the resource type you selected, a random connection ID, a fixed user ID (kay, the same for everyone), and the audio you speak |
DeepSeek, api.deepseek.com
|
Only if you added a DeepSeek key and correction is on: after a dictation of four or more words or characters is recognized; and when you press Test & Save (sends the text "你好") | Your DeepSeek API key, the recognized text, and the correction instructions. Audio is never sent to DeepSeek |
GitHub, raw.githubusercontent.com and github.com
|
Once a day, and when you choose Check for Updates… | A request for the update feed and, when there is a new version, its download. No information about you or your Mac is added (Sparkle's system profiling is off) |
Each API key is sent only to its own service. If Kay is quit or crashes while a dictation is in progress, the audio of that dictation is sent again to the service you chose at the next launch, so the dictation can still be recognized and recorded in History.
What is stored on your Mac
-
API keys in the macOS Keychain (service
com.max1874.kay). -
History: the text of each dictation, the text before correction when correction changed it, the date, length, timing, which service recognized it, the microphone name, and the error message when one failed, in
~/Library/Application Support/Kay/history.json(the last 1,000, readable only by your user account). -
Recent audio: the last 20 dictations as WAV files in
~/Library/Application Support/Kay/recent/. While a dictation is in progress its audio is also written to apending-….pcmfile in~/Library/Application Support/Kay/, deleted once the result is recorded. -
Preferences: the chosen service, workspace address or resource type, dictation key, microphone, clipboard history and correction settings, menu bar and Dock settings, and update-check state, in
~/Library/Preferences/com.max1874.kay.plist. -
Logs in
~/Library/Logs/Kay/(about 8 MB at most): times, durations, microphone names, character counts and outcomes of dictations, never their text. If Kay stops responding during a dictation, a diagnostic snapshot (thread stacks and Kay's recent system log lines) is saved in~/Library/Logs/Kay/hangs/.
None of this leaves your Mac unless you send it yourself.
Permissions
- Microphone: required to record while you hold the dictation key. Asked the first time you open Kay.
- Accessibility: required to notice the dictation key in other apps and to paste for you. Without it, Kay copies the text to the clipboard instead.
You can revoke either at any time in System Settings → Privacy & Security.
Analytics and tracking
The app contains no analytics, crash reporting, advertising or tracking code. Its only third-party dependency is the Sparkle update framework.
How to remove your data
- In Kay's Settings, use Remove Key… for each service to delete the keys from the Keychain. A removed key stays valid with the provider; revoke it in that provider's console if needed.
- Use Clear All… in Settings → General to delete History and recent audio, or delete
~/Library/Application Support/Kay. - Quit Kay and move it from Applications to the Trash.
- Delete
~/Library/Logs/Kay,~/Library/Preferences/com.max1874.kay.plistand~/Library/Caches/com.max1874.kay. - Remove Kay's grants in System Settings → Privacy & Security.
Audio and text already sent to Alibaba Cloud, Volcengine or DeepSeek are handled under your agreement with that provider; I have no access to them.
Changes to this policy
If what the app does with data changes, I will update this policy and its effective date before or when the new version is released.
Contact
Max Lin (individual developer) Email: hi@max1874.com Issues: https://github.com/max1874/kay/issues