AutoCopy 非常重视用户隐私。以下是本项目采取的隐私保护措施:
- 不收集任何个人信息
- 不记录选中的文本内容
- 不联网,所有数据本地处理
- 无遥测/分析功能
项目提供日志功能用于调试,但默认关闭 (enable_log=false)。当日志启用时:
| 日志级别 | 说明 |
|---|---|
debug |
记录详细事件信息(鼠标事件、应用名称、坐标等) |
info |
仅记录重要事件(应用排除、启动/停止等) |
warn |
仅记录警告信息 |
error |
仅记录错误信息 |
隐私相关配置项:
log_app_name(默认 false) - 是否记录前台应用名称log_mouse_coords(默认 false) - 是否记录鼠标坐标
建议:仅在调试时启用日志,使用 debug 级别时请注意日志文件可能包含敏感信息。
配置文件位于 ~/.config/autocopy/autocopy.ini,包含用户的个性化设置。此文件已添加到 .gitignore,不会被提交到版本控制。
- 无命令注入风险 - 不使用
eval或类似危险函数 - 无路径遍历 - 配置文件路径限制在用户主目录下
- 无硬编码敏感信息 - 无 API key、token 等
- 辅助功能权限 - 仅用于监听鼠标事件和模拟快捷键
- 最小权限原则 - 不请求不必要的系统权限
- 安全的临时文件 - 使用
mktemp创建临时文件 - 日志轮转 - 自动清理过大的日志文件(限制 10MB)
本项目已在 GitHub 公开,以下信息为项目标识符,不属于敏感信息:
- 仓库路径:
ucefac/autocopy - Bundle ID:
com.ucefac.autocopy
本项目的核心功能代码可审查:
- 事件监听:
src/platforms/macos.rs - 剪贴板操作:
src/clipboard.rs(仅模拟Cmd+C,不读取内容) - 配置处理:
src/config.rs
如发现任何安全问题,请通过 GitHub Issues 报告。
项目使用以下第三方库,均通过 Cargo 包管理器获取:
| 依赖 | 用途 |
|---|---|
| core-graphics | macOS 图形事件处理 |
| core-foundation | macOS 基础框架 |
| objc2-app-kit | macOS 应用框架 |
| configparser | 配置文件解析 |
| simplelog | 日志记录 |
所有依赖均为开源库,可通过 Cargo.toml 查看。