PayloadKit

System Extensions

com.apple.system-extension-policy

The payload that configures system extensions.

macOS
macOS 10.15+combined

Configuration Keys (7)

KeyTypeTitle
AllowUserOverrides

If 'false', restricts users from approving additional system extensions that configuration profiles don't explicitly allow.

Default: true

booleanAllow users to approve system extensions
AllowedTeamIdentifiers

An array of team identifiers that defines valid, signed system extensions that are allowable to load. Approved system extensions are those signed with any of the specified team identifiers. To avoid requiring an administrator to authorize the operation, you can activate system extensions that this key specifies using 'OSSystemExtensionActivationRequest API'. It's an error for the same team identifier to appear in both this array and as a key in the 'AllowedSystemExtensions' dictionary.

arrayAllowed Team Identifiers
AllowedSystemExtensions

A dictionary of approved system extensions on the computer. The dictionary maps the team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension to install. To avoid requiring an administrator to authorize the operation, you can activate system extensions that this key specifies using 'OSSystemExtensionActivationRequest API'. It's an error for the same team identifier to appear in both the 'AllowedTeamIdentifiers' array and as a key in this dictionary.

dictAllowed System Extensions
AllowedSystemExtensionTypes

A dictionary that maps a team identifier to an array of strings, where each string is a type of system extension that you can install for that team identifier. The allowed extension types are 'DriverExtension', 'NetworkExtension', and 'EndpointSecurityExtension'. If there's no entry for a specified team identifier in the dictionary, the system allows all extension types.

dictAllowed System Extension Types
RemovableSystemExtensions

A dictionary of system extensions that are allowed to remove themselves from the machine. The dictionary maps team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension. An application using the 'OSSystemExtensionDeactivationRequest' API can deactivate the specified system extensions without requiring an administrator to authorize the operation. Available in macOS 12 and later.

dictRemovable System Extensions
NonRemovableSystemExtensions

A dictionary of system extensions on the computer. The dictionary maps the team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension which can't be disabled or uninstalled when SIP is enabled. It's an error for the same mapping to appear in the dictionary values corresponding to 'RemovableSystemExtensions' and 'NonRemovableSystemExtensions' keys.

dict
NonRemovableFromUISystemExtensions

A dictionary of system extensions on the computer. The dictionary maps the team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension which can't be disabled or uninstalled from System Settings or Finder. The set of system extensions between 'RemovableSystemExtensions' and 'NonRemovableFromUISystemExtensions' can to overlap.

dict
AllowedTeamIdentifiersItem
stringTeam Identifier
{{key}}
stringTeam Identifier
{{value}}

The mapping of team identifiers to arrays of bundle identifiers, where the bundle identifier is that of the system extension to be installed.

arrayBundle Identifier
AllowedSystemExtensionsItemsrequired

Allowed system extension bundle ID

stringBundle Identifier
{{key}}
stringTeam Identifier
{{value}}

The mapping of team identifier to an array of strings, where each string is a type of system extension that may be installed for that team identifier.

arraySystem Extension Types
AllowedSystemExtensionTypesItemsrequired

Permitted System Extension Type

Range: Driver (DriverExtension), Network (NetworkExtension), Endpoint Security (EndpointSecurityExtension)

stringSystem Extension Type
{{key}}
stringTeam Identifier
{{value}}

The dictionary maps team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension.

arrayBundle Identifier
RemovableSystemExtensionsItemsrequired

Removed system extension bundle ID

stringBundle Identifier
{{key}}
string
{{value}}

System extension bundle identifiers

array
NonRemovableSystemExtensionsItemsrequired

Non Removable system extension bundle ID

string
{{key}}
string
{{value}}

System extension bundle identifiers

array
NonRemovableFromUISystemExtensionsItemsrequired

Non Removable from UI system extension bundle ID

string