- 本地优先:核心剪贴板内容、分类、搜索和转换默认离线。
- 最小保留:越敏感的内容保留时间越短。
- 默认脱敏:日志、搜索索引、导出和 UI 预览都遵循敏感等级。
- 显式授权:自动粘贴和辅助功能权限只在用户主动启用后请求。
- 可测试边界:系统 API 通过协议隔离,安全策略可以单元测试。
none:
- 正常保存。
- 可进入全文索引。
- 可导出。
potential:
- 默认遮罩。
- 默认 10 分钟后过期。
- 可由用户明确保留。
- 日志只允许记录摘要、类型和哈希前缀。
secret:
- 默认只保存在内存。
- 默认 60 秒后清除。
- 不进入全文索引。
- 不写完整日志。
- 不加入导出。
- 不发送网络。
- 用户必须明确选择“保留此记录”才可持久化。
- PEM Private Key。
- Bearer Token。
- JWT。
- 常见 API Key。
- AWS Access Key。
- GitHub Token。
- 数据库连接串中的用户名密码。
.env密钥。- 高熵长字符串。
- 验证码。
- 密码管理器来源应用。
默认忽略规则覆盖常见密码管理器和钥匙串类应用。后续实现中,忽略规则应支持:
- bundle identifier 精确匹配。
- bundle identifier 前缀匹配。
- 用户自定义规则。
- 临时禁用采集。
- 日志不得输出完整剪贴板正文。
- secret 只允许记录事件类型、敏感分类和脱敏原因。
- potential 最多记录短摘要,摘要必须有长度上限。
- 错误日志不得包含转换输入正文。
- Hash 可用于排错,但不得作为可逆内容替代品误用。
- 导出默认排除 secret。
- potential 导出前需要明确确认。
- 加密导出使用 CryptoKit AES-GCM。
- 导出清单记录版本、创建时间、条目数量和是否排除敏感内容。
- 默认不请求辅助功能权限。
- 用户开启自动粘贴时才触发权限检查。
- 无权限时降级为 copyOnly。
- CGEvent 失败不得丢失剪贴板内容。
- 核心功能无网络访问。
- TransformAction 默认无网络能力。
- Sparkle 更新检查属于发布阶段独立接口,不接收剪贴板内容。
- 未来任何网络功能都必须经过单独安全审查。