E
Occlude 离线白皮书
如何亲手验证:你的照片从未离开设备。
Occlude 的核心承诺只有一句话:脱敏 100% 在设备端完成,应用自身不发任何网络请求。本文档说明这一承诺在代码层面如何实现,并给你三步可自行验证的方法。
一、应用实际做了什么
- 文字识别:使用 Apple
Vision框架(VNRecognizeTextRequest),完全本地运行,不涉及任何服务器。 - 脱敏渲染:使用
Core Graphics/Core Image,像素在本地被不可逆烧录。 - 图片加载:使用
ImageIO(CGImageSource)下采样,仅本地解码。 - 保存:通过
Photos(PHPhotoLibrary,仅写入权限)把结果写入相册。 - 购买 / 恢复:使用 Apple
StoreKit—— 这是唯一可能的网络流量,由 Apple 系统框架发往 Apple 服务器,应用代码从不发起,且与你的照片无关。
二、构建产物中的证据
2.1 应用代码无网络 API
应用自身源码不实例化 URLSession、Network.framework、NWConnection 或任何 socket/HTTP API。对源码树做静态搜索,这些符号在 Apple 系统框架之外零命中。
2.2 隐私清单(零收集)
PrivacyInfo.xcprivacy 声明不收集任何数据(NSPrivacyCollectedDataTypes 为空)、无追踪(NSPrivacyTracking = false)。这与 App Store 产品页展示的隐私声明一致,并由 Apple 审核强制背书。
2.3 最小权限
唯一申请的权限是相册写入权限(NSPhotoLibraryAddUsageDescription,.addOnly),用于保存你的导出图。应用从不申请相册读取、定位、相机、麦克风、通讯录或网络权限。
三、自行验证(10 分钟)
3.1 抓包
- 在 Mac 上运行 Charles Proxy 或 Proxyman,安装其 CA 证书并把 iPhone 代理指向它(或在 Mac 上为 iOS 模拟器设置代理)。
- 启动 Occlude,导入照片,自动识别,脱敏,导出。
- 观察:以上步骤中不会出现任何请求。唯一可能出现的条目是点击"恢复购买"时 Apple 的
App Store相关流量——那是 StoreKit 就你的购买与 Apple 通信,不含任何图片数据。
3.2 飞行模式
开启飞行模式后完整走一遍(导入 → 识别 → 脱敏 → 保存),一切正常。真正的云端应用在这里就会失败。
3.3 iOS App 隐私报告
iOS 15.2+:设置 → 隐私与安全性 → App 隐私报告,开启后使用应用。查看 Occlude 的网络活动:如有条目,仅可能是 StoreKit 域名,且数据量为零。
四、对你的意义
你的截图、文档和照片永远不会被上传、永远不会在服务器上处理、永远不会被用于训练、我们也永远无法访问。脱敏按设计不可逆,输出图自动剥离 EXIF/GPS 元数据。
五、范围与限制
- 本承诺覆盖 App Store 发布版本。若应用被修改或侧载了不同代码,本文档不适用。
- Apple 系统服务(StoreKit、系统更新检查)会按 Apple 隐私政策与 Apple 服务器通信;它们不携带任何照片数据。