Request for Guidance on Approval Process for Network Extension Entitlement

Dear Apple Developer Support Team, I am writing to inquire about the process for obtaining approval for the following entitlement in my iOS/macOS app:

<key>com.apple.developer.networking.networkextension</key>
<array>
    <string>content-filter-provider</string>
</array>

Specifically, I would like guidance on: The steps required to submit a request for this entitlement. Any necessary documentation or justification that needs to be provided to Apple. Typical review timelines and approval criteria. Any restrictions or compliance requirements associated with this entitlement. Our app intends to implement a content filtering functionality to enhance network security and user safety. We want to ensure full compliance with Apple’s policies and guidelines. Could you please provide detailed instructions or point us to the relevant resources to initiate this approval process? Thank you for your assistance.

Answered by DTS Engineer in 877493022
inquire about the process for obtaining approval for the following entitlement in my iOS/macOS app

There is no approval process for this. Most NE entitlements, including the one for content filters, are available to all (paid) developers.

Note Historically there was an approval process for this but that’s not been the case for almost 10 years now. See Network Extension Framework Entitlements.

There are, however, significant deployment restrictions for content filters on iOS. I cover those in TN3134, which I mentioned in my reply on your previous thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

inquire about the process for obtaining approval for the following entitlement in my iOS/macOS app

There is no approval process for this. Most NE entitlements, including the one for content filters, are available to all (paid) developers.

Note Historically there was an approval process for this but that’s not been the case for almost 10 years now. See Network Extension Framework Entitlements.

There are, however, significant deployment restrictions for content filters on iOS. I cover those in TN3134, which I mentioned in my reply on your previous thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

So, currently I implemented a small POC app with content filtering and it seems to be working fine when I run it through Xcode. But as I uploaded the app to test flight then I do not see any setting related to content filtering in the Settings App or can not see any kind of permission alert for filtering. Same behaviour for ad hoc build as well. So what should we do in this case ?

But as I uploaded the app to test flight then I do not see any setting related to content filtering in the Settings App

Right. You’re bumping into distribution restrictions that are not related to entitlements. NE lets you save a content filter configuration directly when your app is development signed. This is great for testing. However, when you go to distribute your app, that no longer works. Rather, the filter must be configured via a configuration profile.

Except it’s not quite as simple as that. TN3134 Network Extension provider deployment has all the details.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for the answer, so it means I cannot distribute content filter solution on normal devices via App Store ?

it means I cannot distribute content filter solution on normal devices via App Store?

Yes.

Well, it does depends on what you by “normal devices”. The Screen Time exception has no constraints on the device itself, but it does have constraints on the device’s user.

Also note that this applies to all distribution channels, that is, App Store, TestFlight, Ad Hoc, and In-House (Enterprise). THat last one usually isn’t a big concern because the device is either supervised, or the device manager can configure your filter in per-app mode.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Request for Guidance on Approval Process for Network Extension Entitlement
 
 
Q