Missing Compliance status in TestFlight
Asked Answered
S

12

524

When I added my latest build for internal testing with TestFlight, I saw that it had a "Missing Compliance" status.

Is this a major problem? Why does this appear? How can I resolve this issue?

Test flight status Missing Compliance

Sulphurbottom answered 7/3, 2016 at 10:19 Comment(0)
I
939

Unless your app is using some special encryption you can simply add Boolean a key to your Info.plist with name ITSAppUsesNonExemptEncryption and value false.

In code:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

If you want to use the Xcode UI instead, head over to the Project > Target > Info panel, add a new "App Uses Non-Exempt Encryption" Boolean key with value NO:

Screenshot of the Xcode view where to add the value.

If your app is using custom encryption then you will need to provide extra legal documents and go through a review of your encryption before being able to select builds.

If you continue with selecting that version for testing, it will ask for the compliance information manually. Choosing "No" presents you with the plist recommendation above.

iTunes Connect encryption export compliance alert for testing

This is change has been announced in the 2015 WWDC, but I guess it has been enforced only very recently. See this and this for a transcript of the WWDC session related to the export compliance, just to a text search for "export".

There are other similar questions on SO, see:

Ideate answered 7/3, 2016 at 11:19 Comment(6)
What is special encryption meant to be? Does using iOS keychain to store user's info count?Philipphilipa
Under new iTunesConnect: Top menu > Features > EncryptionHowlet
@Ideate I am using Https connection to consume data for the Application so Do I have to choose yes and submit any documents?Stylet
I use https fetch query to my api, should I answer yes or no? This sounds like a form for prism compliance.Preciosity
I have this warning on my macOS app, even though I have the ITSAppUsesNonExemptEncryption set to NO in my plist file.Moncada
@vigneshkumar, according to Apple's docs, these appear to be exempt: "Typically, the use of encryption that’s built into the operating system—for example, when your app makes HTTPS connections using URLSession—is exempt from export documentation upload requirements, whereas the use of proprietary encryption is not" (developer.apple.com/documentation/security/…)Outstrip
R
182

There's no longer any need to submit a new build or modify Info.plist; instead, follow these steps:

  1. Make sure you are an Admin or App Manager role in App Store Connect.

  2. Go to the iOS tab at the top left of TestFlight and click the yellow triangle next to the warning to provide this information within iTunes Connect:

enter image description here

  1. Click the "Provide Export Compliance Information" link in the popup:

Export Compliance Information

Though, if you do choose to modify Info.plist, you'll never need to deal with this popup again.

Ree answered 25/4, 2017 at 14:59 Comment(11)
@am_ I just tried it and it still works. You just need to click the "Provide Export Compliance Information" link in the popup. Post has been edited with the new screenshot.Ree
There is no "Provide Export Compliance Information" link when I click triangle, I just get the informational text.Systematist
@RandyHill hmm, I still see the option with my app. It must depend on some other factors as well. Did modifying Info.plist work for you?Ree
Turned out to be an access issue. I'm not an Admin (Developer+some other), and our Admin was who submitted the app. I had our Admin look at it in his account, and he was able to see/click the "Provide Export Compliance Information" link to resolve the problem.Systematist
@RandyHill thanks for the info -- I've updated my answer to explain that you need to be an Admin.Ree
@am_ only users with admin roles can see the linkSwithbart
@Swithbart - thanks for headsup! works as described when you are logged in as a user with admin rights.Centi
Please edit that option can be seen only by the admins, I wasted 30 mins searching that option.Wilderness
Hi @ReyanshMishra, sorry to hear that! The answer already does specify that you need to be an admin to do this.Ree
"this is only available to admin accounts" - Incorrect. An App Manager can do it as well.Cana
Thanks @DrorBar, I've updated the answer to specify this.Ree
S
88

In your Info.plist, Right click in the properties table, click Add Row, add key name App Uses Non-Exempt Encryption with Type Boolean and set value NO.

enter image description here

Another approach to handle this

Righ Click on info.plist and select open as and then click on Source Code Add this line in last of file before </dict> tag

<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Smallage answered 5/9, 2017 at 8:45 Comment(2)
one need to right click the properties table, and click 'Add Row' to do that, it took me a few minutes for find out :)Strophanthin
worked for iOS 16, Xcode 14.1Sporadic
B
82

Add following at the bottom of your Info.plist

<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Bergama answered 26/8, 2018 at 13:15 Comment(0)
N
17

If your info.plist is shown as a property list (and not xml), the text you need to enter for the key is:
App Uses Non-Exempt Encryption

Noodle answered 21/8, 2017 at 14:37 Comment(0)
K
14

Righ Click on info.plist and select open as and then click on Source Code Add this line in last of file before </dict> tag

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

and save file.

Keaton answered 9/10, 2020 at 14:24 Comment(0)
N
9

If you are not using https in api calls, Please add this key "App Uses Non-Exempt Encryption" in your info.plist and set it to "NO"

Nanette answered 30/11, 2018 at 9:2 Comment(4)
HTTPS connections using URLSession—is exempt from export documentation upload requirements.Dorolisa
What is a URLSession? how do I know if I use it? I'm using React Native app with Fetch request and I have no idea - tried searching for it.Cana
@DrorBar What did you end up doing here? I'm also using React Native (with Expo) and I'm not sure what I should be doing here. I'm making calls to my back-end over HTTPS.Skindive
@DarrylYoung I haven't found a specific answer but I'm pretty sure these kind of HTTPS calls are exempt from encryption requirements. You should be good adding the key.Cana
T
8

For SwiftUI

Normally there is no info.plist file. So use this way to add Non-exempt encryption key and value. Click on the + button as follows and type ITSAppUsesNonExemptEncryption as the key and NO as the value

enter image description here

Trifling answered 7/1, 2022 at 18:12 Comment(0)
A
7

Additionally, if you can't see the "Provide Export Compliance Information" button make sure you have the right role in your App Store Connect or talk to the right person (Account Holder, Admin, or App Manager).

Aindrea answered 25/9, 2019 at 7:25 Comment(0)
D
3

I just fund another way to do the same workaround. Because of I hadn' t the possibility to click on the yellow triangle (even if I have admin role), when you go inside testflight, then iOS (under "Build") instead of yellow triangle click the version number, another page will open and you will find on top right something like add compliance information (sorry if I am not totally accurate but I have the italian version but it would be really easy to find). Then you can do the same even if you, like me, are not able to click on yellow triangle.

Demesne answered 15/10, 2020 at 19:43 Comment(0)
M
1

it simply indicates that you do not use encryption, it can be intimidating when you are a newbie but it is not a problem if you are sure that you do not use encryption

Milomilon answered 9/11, 2022 at 3:32 Comment(0)
P
1

Step 1: Click On Manage

enter image description here

Step 2: Select, None of the algorithms mentioned above, If you didn't use any description algorithms

enter image description here

Step 3: Click on save

Pullman answered 25/1, 2024 at 14:54 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.