Web Content Filter (com.apple.webcontent-filter)

com.apple.webcontent-filter

The payload that configures web content filters.

iOS(7.0)macOS(10.15)visionOS(1.1)
Branch: release

Settings (45)

SettingTypeRequiredDefaultManual InstallSupported OS
FilterType
FilterType
The type of filter, built-in or plug-in. In macOS, the system only supports the plug-in value.
stringoptionalBuiltIn
Yes
iOS (8.0+)
SafariHistoryRetentionEnabled
SafariHistoryRetentionEnabled
New in visionOS 26.0
If `true`, this payload enforces a policy which requires retention of browsing history. This causes Safari to disable clearing of browsing history, and prevents the use of private browsing mode because that mode doesn't keep browsing history.
booleanoptionaltrue
Yes
iOS (26.0+)macOS (26.0+)visionOS (26.0+)
Web filter enabled
AutoFilterEnabled
If `true`, the system enables automatic filtering. Use when `FilterType` is `BuiltIn`.
booleanoptionalfalse
No
PermittedURLs
PermittedURLs
An array or URLs that are accessible whether or not the automatic filter allows access. Use when `FilterType` is `BuiltIn`. Requires that `AutoFilterEnabled` is `true`.
1 subkey
arrayoptional
No
└─
Permitted url items
PermittedURLItems
string
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
BlacklistedURLs
BlacklistedURLs
Deprecated (iOS 14.5)
Use `DenyListURLs` instead.
1 subkey
arrayoptional
Yes
iOS (legacy - 14.5)
└─
Blacklisted url items
BlacklistedURLItems
string
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
DenyListURLs
DenyListURLs
An array of URLs that are inaccessible. Use when `FilterType` is `BuiltIn`. Limit the number of these URLs to no more than 500.
1 subkey
arrayoptional
Yes
iOS (14.5+)
└─
Denylisted url items
DenyListURLItems
string
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
HideDenyListURLs
HideDenyListURLs
If `true`, the device hides the `DenyListURLs` item in the profiles that display in Settings > General > VPN & Device Management.
booleanoptionalfalse
Yes
iOS (18.0+)visionOS (2.0+)
White list
WhitelistedBookmarks
Deprecated (iOS 14.5)
Use `AllowListBookmarks` instead.
1 subkey
arrayoptional
Yes
iOS (legacy - 14.5)
└─
Identifier
WhitelistedBookmarksItem
2 subkeys
dictionary
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
URL
URL
The URL of the bookmark in the allow list.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
Title
Title
The title of the bookmark.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Allow list
AllowListBookmarks
An array of dictionaries that define the pages that the user can bookmark or visit. Use when `FilterType` is `BuiltIn`.
1 subkey
arrayoptional
Yes
iOS (14.5+)
└─
Identifier
AllowListBookmarksItem
2 subkeys
dictionary
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
URL
URL
The URL of the bookmark in the allow list.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
Title
Title
The title of the bookmark.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
UserDefinedName
UserDefinedName
The display name for this filtering configuration. Required when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
PluginBundleID
PluginBundleID
The bundle ID of the plug-in that provides filtering service. Required when `FilterType` is `Plugin`. Otherwise, it ignores this value. Consult your filtering solution vendor to determine what to specify for this value. Required when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
ServerAddress
ServerAddress
The server address, which may be the IP address, hostname, or URL. Use when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Username
UserName
The user name for the service. Use when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Password
Password
The password for the service. Use when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Certificate UUID
PayloadCertificateUUID
The UUID of the certificate payload within the same profile that the system uses to authenticate the user. Use when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Organization
Organization
The organization string to pass to the third-party plug-in. Use when `FilterType` is `Plugin`.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
VendorConfig
VendorConfig
The custom dictionary that the filtering service plug-in needs. Use when `FilterType` is `Plugin`.
1 subkey
dictionaryoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
ANY
ANY
The custom key/value pairs for the filtering service.
anyrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
FilterBrowsers
FilterBrowsers
If `true`, the system enables filtering WebKit traffic. Use when `FilterType` is `Plugin`. > Note: > At least one of `FilterBrowsers` or `FilterSockets` needs to be `true`.
booleanoptionalfalse
No
FilterSockets
FilterSockets
If `true`, enables the filtering of socket traffic. Use when `FilterType` is `Plugin`. > Note: > At least one of `FilterBrowsers` or `FilterSockets` needs to be `true`.
booleanoptionalfalse
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
Filter Data Provider Designated Requirement
FilterDataProviderDesignatedRequirement
The designated requirement string that the system embeds in the code signature of the filter data provider system extension. This string identifies the filter data provider when the filter starts running. Required if `FilterSockets` is `true`.
stringoptional
Yes
macOS (10.15+)
Filter Data Provider Bundle Identifier
FilterDataProviderBundleIdentifier
The bundle identifier string of the filter data provider system extension. This string identifies the filter data provider when the filter starts running. Required if `FilterSockets` is `true`.
stringoptional
Yes
macOS (10.15+)
Filter Network Packets
FilterPackets
If `true` and `FilterType` is `Plugin`, the system enables filtering network packets. Use when `FilterType` is `Plugin`. > Note: > At least one of `FilterPackets` or `FilterSockets` needs to be `true`.
booleanoptionalfalse
Yes
macOS (10.15+)
Filter Packet Provider Designated Requirement
FilterPacketProviderDesignatedRequirement
The designated requirement string that the system embeds in the code signature of the filter packet provider system extension. This string identifies the filter packet provider when the filter starts running. Required if `FilterPackets` is `true`.
stringoptional
Yes
macOS (10.15+)
Filter Packet Provider Bundle Identifier
FilterPacketProviderBundleIdentifier
The bundle identifier string of the filter packet provider system extension. This string identifies the filter packet provider when the filter starts running. Required if `FilterPackets` is `true`.
stringoptional
Yes
macOS (10.15+)
Filter Grade
FilterGrade
The system uses this value to derive the relative order of content filters. Filters with a grade of `firewall` see network traffic before filters with a grade of `inspector`. However, the system doesn't define the order of filters within a grade.
stringoptionalfirewall
Yes
macOS (10.15+)
Content Filter UUID
ContentFilterUUID
A globally unique identifier for this content filter configuration. The content filter processes network traffic for managed apps with the same `ContentFilterUUID` in their app attributes. Use when `FilterType` is `Plugin`.This key must be present for unsupervised devices and user enrollment.
stringoptional
Yes
iOS (16.0+)
FilterURLs
FilterURLs
If `true`, the system filters URL requests. Use when `FilterType` is `Plugin`. Available in iOS 26 and macOS 26, and later.
booleanoptionalfalse
Yes
iOS (26.0+)macOS (26.0+)
URLFilterParameters
URLFilterParameters
A dictionary containing URL filter parameters. Required when `FilterURLs` is `true`. Available in iOS 26 and macOS 26 and later.
7 subkeys
dictionaryoptional
Yes
iOS (26.0+)macOS (26.0+)
└─
URL Filter Control Provider Designated Requirement
URLFilterControlProviderDesignatedRequirement
The designated requirement string in the code signature of the URL filter control provider app extension. The system uses this string to identify the URL filter control provider when the filter starts running. Required in macOS.
stringoptional
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
URL Filter Control Provider Bundle Identifier
URLFilterControlProviderBundleIdentifier
The bundle identifier string of the URL filter control provider app extension. The system uses this string to identify the URL filter control provider when the filter starts running.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
Private Information Retrieval server URL
PIRServerURL
The URL containing the domain name of the private information retrieval server.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
Privacy Pass Issuer URL
PIRPrivacyPassIssuerURL
The URL containing the domain name of Privacy Pass Issuer.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
Authentication Token
PIRAuthenticationToken
The per-user authentication token string, which is an HTTP bearer token for the person using your app. The system uses this token to attest that it is a valid user when requesting anonymous authentication tokens for PIR exchanges.
stringrequired
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
URLFilterFailClosed
URLFilterFailClosed
If `true`, the system blocks URLs if the filter is enabled, but it fails to make any filtering decision; for example, if there's a communication failure with the PIR server. If `false`, the system allows URLs if the filter is enabled, but it fails to make any filtering decision.
booleanoptionalfalse
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)
└─
URLPrefilterFetchFrequency
URLPrefilterFetchFrequency
The time interval in seconds that the system uses to periodically run the `NEURLFilterControlProvider` app extension. The default value is 86400 seconds (1 day). The minimum allowed value is 2700 seconds (45 minutes). The system allows `NEURLFilterControlProvider` implementations to download prefilter Bloom filter data onto the device periodically at the specified interval. Implementations need to allow for a slight difference between the scheduled time and the actual runtime of the task, due to the scheduling mechanism on the system.
Range: 2700 -
integeroptional86400
Yes
iOS (7.0+)macOS (10.15+)visionOS (1.1+)