App 加密出口合规助手
如果 App(连同其中所有库)不使用加密,或只使用无需提交文件的豁免加密,ITSAppUsesNonExemptEncryption 设为 NO;Apple 说系统内置的加密(例如通过 URLSession 的 HTTPS)通常属于豁免。如果使用专有加密,设为 YES。如果自带标准算法,通常取决于 App 是否在法国 App Store 上架,最终以 App Store Connect 里的问题为准。回答下面的问题,就能得到你的值、要粘贴进 Info.plist 的行,以及 App Store Connect 会要求上传什么,每一步都链到出处的 Apple 页面。
这不是法律意见。本页只是转述 Apple 自己的页面,帮你更快找到答案;拿不准时,请阅读每一行旁边链接的 Apple 页面,或咨询熟悉出口管制的律师。
规则取自 Apple 页面,核对于 2026-11-01。Apple 可能调整,以链接页面为准。
第 1 题
你的 App 是否使用、访问、包含、实现或集成了加密?
第三方库和 SDK 也要算上。HTTPS 连接也算,哪怕是通过 Apple 自己的 URLSession:Apple 把系统内置的加密功能也列为需要在这里作答的加密。
它能做什么
- •最多问四个是非题,措辞参照 Apple 的 App 加密声明:是否使用加密、是否有专有算法、是否自带标准算法、是否在法国 App Store 上架。
- •给出 ITSAppUsesNonExemptEncryption 的值和 Info.plist 的 XML 行;如果 Apple 会发给你代码,还会留好 ITSEncryptionExportComplianceCode 的位置。
- •说明 App Store Connect 是否会要求上传文件、要哪些(CCATS、法国加密声明)、在哪里上传,以及 Apple 对审核时间、TestFlight 和年终自我分类报告的说法。
- •每一行都链到它转述的 Apple 页面,方便你自己核对原文。你的回答只留在本页,不会发送到任何地方。
它不做什么
- •这不是法律意见,也不会按美国出口法规为你的 App 做分类。Apple 写明这是你自己的责任;拿不准时请咨询律师。
- •它不读取你的代码或依赖库。你需要自己清楚 App 和各个 SDK 用了哪些加密。
- •它不能代替 App Store Connect 里的问题,那里还会问 App 在哪些地区上架。如果结果不同,以 App Store Connect 为准。
- •Apple 页面没有写明的规则不在范围内,例如其他国家的进口规定,或如何填写 CCATS 申请。
- •Apple 提到在美国或加拿大以外分发时适用美国出口法规;本工具不问这一点,默认按全球分发处理。
常见问题
- 谁可以在 App Store Connect 上传出口合规文件?
- Apple 的帮助页面说明,账户持有人、管理或 App 管理角色可以为 App 上传出口合规文件。
- ITSAppUsesNonExemptEncryption 是什么意思?
- 它是 Info.plist 里的一个布尔值键。NO 表示你的 App(包括它链接的第三方库)不使用加密,或只使用免于出口合规文件要求的加密;YES 表示使用了非豁免加密。
- 我的 App 只用 URLSession 发 HTTPS 请求,该填什么?
- Apple 写明系统内置的加密(以通过 URLSession 的 HTTPS 为例)通常免于文件上传要求,所以填 NO,无需上传文件。Apple 也提示,使用豁免类加密可能需要向美国政府提交年终自我分类报告。
- Info.plist 里不加这个键会怎样?
- 每次上传新版本,App Store Connect 都会逐题询问出口合规问题;TestFlight 里没有回答的构建版本会被标记为“缺少合规信息”,直到你补齐。
- 什么时候需要法国加密声明?
- 当 App 使用 Apple 系统未提供的行业标准算法或专有算法,并且在法国 App Store 分发时,Apple 才列出这一项。
- Apple 什么时候要求 CCATS?
- Apple 的表格对使用未被国际标准组织(如 IEEE、IETF、ITU)接受的专有加密算法的 App,列出了美国商务部的商品分类编号(CCATS)。
- 审核后 Apple 发来的代码放在哪里?
- 把它作为 ITSEncryptionExportComplianceCode 的字符串值加进 Info.plist,同时 ITSAppUsesNonExemptEncryption 设为 YES。App Store Connect 会在已批准文件旁边显示这个代码。