The declaration to configure a WebContent Filter that uses a plugin.
| Setting | Type | Required | Default | Manual Install | Supported OS |
|---|---|---|---|---|---|
Visible name VisibleName The name of the web content filter that the system displays on the device. | string | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Plugin bundle ID PluginBundleID The bundle ID of the plug-in that provides filtering service. Consult your filtering solution vendor to determine what to specify for this value. | string | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
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. This key must be present for unsupervised devices and user enrollment. | string | optional | — | ✗No | |
Server address ServerAddress The server address, which may be the IP address, hostname, or URL. | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Organization Organization The organization string to pass to the third-party plug-in. | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Vendor config VendorConfig The custom dictionary that the filtering service plug-in needs. 1 subkey | dictionary | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ ANY ANY The custom key/value pairs for the filtering service. | any | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Authentication details Authentication Settings that control authentication. 2 subkeys | dictionary | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ Credentials asset reference CredentialsAssetReference The identifier of an asset declaration that contains the credentials (user name and password) to authenticate with the service. | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ Identity asset reference IdentityAssetReference The identifier of a credential asset declaration that contains the identity that this account requires to authenticate with the service. | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Filter details Filter Settings that control authentication. 5 subkeys | dictionary | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ Filter grade Grade 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. | string | optional | firewall | ✗No | |
└─ Browser filter details Browsers Settings that control the browser filter. If not present, the system doesn't use browser filtering. 1 subkey | dictionary | optional | — | ✗No | |
└─ └─ Enable browser filter Enabled If `true`, the system enables filtering WebKit traffic. | boolean | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ Socket filter details Sockets Settings that control the socket filter. If not present, the system doesn't use socket filtering. 2 subkeys | dictionary | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ Enable socket filter Enabled If `true`, enables the filtering of socket traffic. | boolean | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ Data provider composed identifier ProviderComposedIdentifier The data provider identifier. This string identifies the filter data provider when the filter starts running. Required when Enabled is true.
In iOS and visionOS, the identifier is a bundle ID, for example, "com.example.app".
In macOS, the identifier is a composed identifier. The format of the composed identifier is "Bundle-ID {Designated-Requirement}". "Bundle-ID" is the bundle identifier string of the provider. "Designated-Requirement" is the designated requirement string from the code signature of the provider. For example, "com.example.app {anchor apple generic}". | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ Packet filter details Packets Settings that control the packet filter. If not present, the system doesn't use packet filtering. 2 subkeys | dictionary | optional | — | ✗No | |
└─ └─ Enable packet filter Enabled If `true`, the system enables filtering network packets. | boolean | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ Packet provider composed identifier ProviderComposedIdentifier The packet provider identifier. This string identifies the filter data provider when the filter starts running. Required when Enabled is true.
The identifier is a composed identifier. The format of the composed identifier is "Bundle-ID {Designated-Requirement}". "Bundle-ID" is the bundle identifier string of the provider. "Designated-Requirement" is the designated requirement string from the code signature of the provider. For example, "com.example.app {anchor apple generic}". | string | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ URL filter details URLs Settings that control the URL filter. If not present, the system doesn't use URL filtering. 2 subkeys | dictionary | optional | — | ✗No | |
└─ └─ Enable URL filter Enabled If `true`, the system filters URL requests. | boolean | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ URL filter parameters. Parameters A dictionary containing URL filter parameters. Required when `Enabled` is `true`. 4 subkeys | dictionary | optional | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ └─ Control provider composed identifier ProviderComposedIdentifier The URL filter control provider identifier. This string identifies the filter data provider when the filter starts running. Required when Enabled is true.
In iOS, the identifier is a bundle ID, for example, "com.example.app".
In macOS, the identifier is a composed identifier. The format of the composed identifier is "Bundle-ID {Designated-Requirement}". "Bundle-ID" is the bundle identifier string of the provider. "Designated-Requirement" is the designated requirement string from the code signature of the provider. For example, "com.example.app {anchor apple generic}". | string | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ └─ Private information retrieval server settings. PIR A dictionary containing Private Information Retrieval server settings. 3 subkeys | dictionary | required | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ └─ └─ [Structure continues recursively] ↻ This structure continues with 3 subkeys (deeply nested - 3 subkeys). See Apple's documentation for the complete structure. | — | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) | ||
└─ └─ └─ URL filter fail closed FailClosed 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. | boolean | optional | false | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
└─ └─ └─ Prefilter fetch frequency PrefilterFetchFrequency 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 - | integer | optional | 86400 | ✓Yes | iOS (27.0+)macOS (27.0+)visionOS (27.0+) |
Explore the full catalogue of Apple Mobile Device Management (MDM) and Declarative Device Management (DDM) policies for macOS and iOS. Search, filter, and reference policy keys for use with Microsoft Intune, Jamf, or any standards-compliant MDM solution.
com.apple.wifi.managed – Wi-Fi network configurationcom.apple.vpn.managed – VPN configurationcom.apple.applicationaccess – App and feature restrictionscom.apple.security.pkcs1 – Certificate (PKCS#1) payloadcom.apple.security.pkcs12 – Identity certificate (PKCS#12) payloadcom.apple.security.scep – SCEP certificate enrolmentcom.apple.mail.managed – Mail account configurationcom.apple.eas.account – Exchange ActiveSync accountcom.apple.MCX – Managed Client (macOS) preferencescom.apple.MCX.FileVault2 – FileVault 2 disk encryptioncom.apple.dock – macOS Dock configurationcom.apple.screensaver – Screensaver configurationcom.apple.loginwindow – macOS login window configurationcom.apple.systempolicy.managed – Gatekeeper / system policycom.apple.systempreferences – System Preferences pane restrictionscom.apple.SoftwareUpdate – Software update behaviourcom.apple.TCC.configuration-profile-policy – Privacy Preferences Policy Control (PPPC)com.apple.notificationsettings – Per-app notification settingscom.apple.webcontent-filter – Web content filtercom.apple.dnsSettings.managed – DNS settings (DoH / DoT)com.apple.relay.managed – Network relay configurationcom.apple.extensiblesso – Extensible Single Sign-Oncom.apple.configuration.passcode.settings – DDM: passcode policycom.apple.configuration.softwareupdate.enforcement.specific – DDM: enforced software updatecom.apple.configuration.services.configuration-files – DDM: service configuration filescom.apple.configuration.management.status-subscriptions – DDM: status subscriptionscom.apple.activation.simple – DDM: simple activation predicatecom.apple.management.organization-info – DDM: organization information