屏幕翻译 App 会不会上传我的屏幕?TransPeek 设备端翻译的隐私边界

17 阅读7分钟

不同屏幕翻译 App 做法不同,关键看文字识别和翻译在哪里完成。TransPeek 的识别和翻译都在 iPhone 上完成:用苹果 Vision 框架识别文字,用苹果 Translation 框架的设备端模型翻译,屏幕画面和文字不发送到服务器,也没有接入第三方统计或广告服务。它会联网的地方主要是从苹果服务器下载语言包;语言包就绪后,翻译可以在飞行模式下进行。

本文由 TransPeek 开发团队撰写。关于 TransPeek 的说法依据 App 内隐私政策和产品实现;你可以用文末的方法自行验证,不必只听我们的说法。

为什么屏幕翻译需要录屏权限

iPhone 不允许一个 App 随意读取其他 App 的画面。想翻译任何 App 里的文字,唯一的正规途径是 iOS 的屏幕录制(ReplayKit 广播):由用户在系统弹窗中确认“开始直播”,之后状态栏会一直显示录屏标识,用户随时可以停止。苹果平台安全:ReplayKit

这意味着两件事:

  • 授权由系统把关。 App 不能在后台悄悄开始录屏,每次开始都需要你确认,录屏期间状态栏始终可见。快捷指令和控制中心入口也跳不过这一步。
  • 授权范围是整个屏幕。 录屏期间,工具能取得屏幕上显示的所有内容。所以真正要问的不是“它能不能看到”,而是“看到之后画面去了哪里”。

TransPeek 的数据流:画面和文字留在设备上

TransPeek 首页显示正在翻译,语言包已就绪、可离线运行

实机录屏截帧:首页显示语言包已就绪、可离线运行,状态栏有录屏标识。

一帧屏幕画面在 TransPeek 里依次经过:

步骤在哪里完成说明
取得画面iPhone 上的广播扩展通过系统录屏授权取得
确定读取区域iPhone 上找到悬浮窗位置,只截取窗口相邻的一块区域
识别文字iPhone 上苹果 Vision 框架
翻译iPhone 上苹果 Translation 框架的设备端模型
生词标注iPhone 上查询 App 内置的词频词表
显示结果iPhone 上画中画悬浮窗
保存历史仅本机原文、译文、时间,不上传、不共享

App 内隐私政策写明:截取的画面和识别的文字在设备上处理,不会传输到任何服务器;翻译的文字不会发送给苹果或任何第三方;不接入第三方分析、广告或追踪服务。App 不需要注册账号。

苹果在开发者文档和 WWDC 中介绍过,Translation 框架使用设备端模型进行翻译,与系统翻译 App 共用语言资源。苹果开发者:TranslationSession、WWDC24:Translation API

哪些情况会联网:说清楚比说“完全离线”更重要

我们不把 TransPeek 描述成“永不联网”,因为这不准确。会联网的情况有:

  • 下载语言包。 第一次使用某个语言方向时,翻译模型从苹果服务器下载。这是苹果系统层面的下载,与你要翻译的内容无关。苹果支持:下载语言以离线翻译
  • 首次启动时的一次网络权限询问。 在中国大陆,iOS 会在 App 第一次联网时询问是否允许使用无线数据。为了让这个弹窗出现在启动时,而不是在你保存区域预设时突然弹出、让人误以为预设被上传,TransPeek 在首次启动时向苹果的网络检测地址发送一次不带任何内容的请求。
  • App Store 购买和恢复购买。 由苹果的 StoreKit 处理。
  • 你主动点击的外部链接。 例如设置里的联系邮箱或社区链接。

屏幕画面、识别出的文字和译文,不在上面任何一项之中。

本机保存,不等于什么都不留

“内容不上传”和“内容不保存”是两回事。TransPeek 会在本机保存:

  • 翻译历史(原文、译文、时间);
  • 区域预设(截图中框选的位置和样式);
  • 语言、窗口样式等偏好。

这些数据只存在你的设备上,删除 App 会一并移除。当前版本没有单独清空历史的按钮,如果你翻译过敏感内容,又担心别人拿到你的手机时看到,需要留意这一点。

自己验证:两个不需要技术背景的方法

方法一:飞行模式测试

  1. 在有网络时打开 TransPeek,确认所需语言方向的语言包已下载完成;
  2. 打开控制中心,开启飞行模式,并关闭 Wi-Fi;
  3. 启动屏幕翻译,打开一本已下载的书或一张本地图片;
  4. 观察窗口是否正常显示译文。

如果断网后翻译照常进行,说明识别和翻译不依赖任何在线服务。

方法二:查看 iOS App 隐私报告

iOS 可以记录每个 App 访问过的网络域名。在「设置」>「隐私与安全性」中开启「App 隐私报告」,正常使用 TransPeek 一段时间后回来查看,就能看到它联系过哪些域名。你可能会看到苹果的网络检测地址或苹果服务域名,这与上一节列出的情况对应。

和云端翻译工具比,差别在哪

许多翻译工具接入云端翻译服务或大模型,效果和语种覆盖往往更有优势,这是合理的产品选择。代价是:要翻译的文字需要发送给相应服务处理。使用这类工具时,建议查看它和所用翻译服务的数据政策,了解内容是否会被保留、用于训练或与第三方共享。

设备端翻译的取舍正好相反:内容不离开设备,可以离线使用;但译文只能来自苹果的模型,不能切换其他服务,个别句子会出现误译。选择哪种,取决于你翻译的内容有多敏感,以及你对译文风格有多高要求。

各类翻译工具的分场景比较见iPhone 看外文用什么翻译工具。

使用建议:即使在设备上处理,也保持好习惯

  • 输入密码、支付或查看银行信息前,停止录屏。 这是使用任何录屏类工具的通用习惯。点击状态栏的录屏标识即可停止。
  • 不用时及时关闭。 屏幕翻译不需要一直开着,读完就停止。
  • 敏感内容翻译前想一想历史记录。 翻译历史会保存在本机,工作文件、私信内容也会被记录,注意手机的锁屏和借用。
  • 只从 App Store 安装。 确认开发者信息,TransPeek 的下载页面见 App Store。

常见问题

屏幕翻译 App 能看到我的密码吗?

录屏期间,工具能取得屏幕上显示的内容。TransPeek 在设备上处理且不上传,但仍建议输入密码、支付前停止录屏。

TransPeek 完全离线吗?

翻译过程可以离线。语言包需要先从苹果服务器下载,首次启动时有一次不带内容的联网请求,购买由 App Store 处理。

翻译历史存在哪里?

只保存在你的设备上,不上传也不共享,删除 App 会一并移除。

为什么打开 App 时会询问是否允许使用无线数据?

这是 iOS 在中国大陆对首次联网的 App 显示的系统询问。TransPeek 在首次启动时触发它,避免之后在保存预设等操作中弹出造成误解,这次请求不发送任何内容。

怎么确认它真的不上传?

语言包下载后开启飞行模式测试翻译是否正常,或在「设置」中开启「App 隐私报告」查看 App 访问过的域名。