隐私政策
MailTwin 由挪威公司 Smilodon AS 发布。 本政策说明 MailTwin 处理哪些数据、数据流向何处,以及您拥有的选择。 本产品的设计目标是:您邮件生活中敏感的部分永远不会离开您的 Mac。
一段话总结
MailTwin 在您的 Mac 上运行。您的 API 密钥保存在 macOS 钥匙串中;
MailTwin 从不传输这些密钥。当您触发 AI 操作时,
所选邮件的正文及一小段来自您「已发送」邮件的风格上下文片段,
会从您的 Mac 直接发送到您选择的 AI 服务商
(Anthropic、OpenAI、Google、xAI、Groq、DeepSeek,
或您本地的 Ollama)。MailTwin 不为 AI 流量运行任何后端 —
AI 链路上没有 MailTwin 服务器。我们仅托管自动更新源
(updates.mailtwin.ai)、可选开启的遥测端点
(telemetry.mailtwin.ai),以及 LemonSqueezy
授权端点 — 仅此而已。
留在您 Mac 上的数据
- API 密钥 — macOS 钥匙串,服务名
ai.mailtwin.keys。MailTwin 从不传输。 - 授权码及 LemonSqueezy 实例 ID — 同一钥匙串服务。用于向 LemonSqueezy 验证您的激活状态。
- 已索引的风格画像 — 来自您「已发送」邮箱的样本邮件,正文经过 LZFSE 压缩,存储于
~/Library/Application Support/MailTwin/。 - 请求日志 — 最近 200 条 AI 请求的脱敏预览,可在「设置 → 隐私」中查看。
- 成本追踪 — 每日 token 累计,用于实现软上限。
- 身份信息(引导时收集的姓名 + 邮箱) — UserDefaults。用于问候模板。遥测从不传输。
发送到您所选 AI 服务商的数据
当您触发 AI 操作(回复、摘要、润色草稿等)时,我们向服务商发送:
- 您正在处理的邮件正文(或您的草稿)。
- 一段描述操作的简短提示词。
- 从您过去最多 5 条已发送邮件构建的风格上下文片段, 条件允许时会限定在相同收件人 / 主题 / 账号范围内。
该流量适用相应服务商的隐私政策。 您与该服务商之间的 API 密钥用于验证调用; 从服务商角度看,这次请求与您账号下的其他任何请求并无区别。
MailTwin 从不向服务商发送:邮件主题、正文之外的收件人地址、 您其他账号的内容、您的钥匙串、您的授权码, 或您的姓名和邮箱。
自动更新(updates.mailtwin.ai)
MailTwin 使用 Sparkle 2 大约每 24 小时检查一次更新。
检查会从
https://updates.mailtwin.ai/appcast.xml 获取一份 XML appcast。
请求会附带形如 MailTwin/<build> 的 User-Agent。
Cloudflare(提供该文件)会按标准 CDN 日志格式记录请求 IP 和 User-Agent。
我们不会将更新请求与任何其他标识关联。
更新文件由 Smilodon AS 持有的 EdDSA 私钥签名。 Sparkle 在安装前会用嵌入 MailTwin 内的公钥验证签名 — 即便我们的更新主机被攻陷,攻击者也无法向您推送恶意更新。
远程配置(updates.mailtwin.ai)
MailTwin 大约每四小时获取一次小型 JSON 文档
https://updates.mailtwin.ai/config.json。
其用途是在某第三方 API 出现破坏性变更时,
翻动针对特定服务商 / 模型组合的熔断开关。
请求附带的 User-Agent 与上述 appcast 相同,不含其他客户端信息。
可选开启的遥测(telemetry.mailtwin.ai)
仅在您主动开启时生效 — 默认关闭。
如果您在「设置 → 隐私」中启用,
MailTwin 会向
https://telemetry.mailtwin.ai/events
发送匿名使用事件。每个事件包含:
- 形如
action.invoked或action.failed的事件名。 - 所用 AI 服务商、操作类别(回复 / 摘要 / …)、错误分类、毫秒级耗时等属性。
- 一个匿名安装 ID(首次开启时生成的随机 UUID;关闭时轮换)。
- 您的 MailTwin 构建版本号和 macOS 版本字符串。
遥测从不包含邮件内容、地址、主题、
您输入的自由提示词、AI 响应、您的姓名或邮箱。
所有事件的完整源码列表是我们代码中的
TelemetryEvent;
本次会话中 MailTwin 实际排队过的事件可在
「设置 → 隐私 → 显示已发送内容」中查看。
遥测事件由 Cloudflare Worker 接收,存储于 Cloudflare D1 (一种 SQLite 数据库)。Smilodon AS 用它们来了解 哪些功能被使用、哪些 AI 服务商出问题、 哪些应用 / macOS 版本需要关注。 我们不会向第三方出售、租赁或共享这些数据。
您可以随时关闭遥测。关闭会清空本地队列、 轮换匿名安装 ID,并停止后续发送。
崩溃报告
MailTwin 会将崩溃日志写入
~/Library/Logs/MailTwin/。
除非您在「设置 → 隐私」中配置上传端点,
否则它们一直留在您的 Mac 上。
我们不内置默认端点;该字段为空,直到您填入为止。
支付与授权(LemonSqueezy)
购买交易由 LemonSqueezy 作为名义商家处理。 当您购买授权时,LemonSqueezy 收集支付处理与税务合规所需的数据 (您的姓名、邮箱、国家 / 地区、支付详情)。 其隐私政策适用于该流程。 Smilodon AS 通过 Webhook 从 LemonSqueezy 接收 您的姓名、邮箱、国家 / 地区及订单详情。
授权激活由您的 Mac 调用
https://api.lemonsqueezy.com/v1/licenses/*,
附带您的授权码和一段经过哈希处理的设备指纹
(由 IOPlatformUUID 加包标识符派生而来)。
指纹用于实施授权数量限制。
Smilodon AS 不运营自有的授权服务器。
我们绝不收集
- 任何邮件内容(您发往所选 AI 服务商的请求除外)。
- 邮箱地址(您的或他人的)。
- 邮件主题。
- 您输入的自由提示词。
- AI 服务商的响应。
- 将您的 IP 地址与我们持有的任何其他标识关联起来。
您的权利(GDPR、CCPA)
您可以将本地设置导出为 JSON 文件 (「设置 → 隐私 → 导出设置」), 也可以一键删除全部本地数据 (「设置 → 隐私 → 清除一切」)。 对于 Smilodon AS 持有的数据 (您在 LemonSqueezy 的购买记录、与匿名安装 ID 关联的可选遥测条目), 请发邮件至 [email protected], 我们会按 GDPR / CCPA 要求在 30 天内回复。
由于遥测条目仅与可轮换的安装 ID 关联, 与您的购买邮箱并无联系, 因此遥测删除请求必须附上安装 ID, 您可在「设置 → 隐私 → 显示已发送内容」中找到。
儿童
MailTwin 不面向 13 岁以下儿童。 我们不会刻意处理 13 岁以下任何人的数据。
政策变更
重大变更会在此处发布,并在应用的发布说明中提及。 顶部的「最后更新」日期反映最近一次变更的时间。
联系方式
Smilodon AS
挪威
[email protected]
用于隐私问题,
[email protected]
用于产品问题。