PayloadKit

System Extensions

com.apple.system-extension-policy

The payload that configures system extensions.

macOS 10.15+
Apple schemacombined

Not available with User Enrollment · macOS: device channel only

Configuration Keys (7)

KeyTypeDescriptionDefaultRange

Allow users to approve system extensions

booleanIf 'false', restricts users from approving additional system extensions that configuration profiles don't explicitly allow.Default: trueRange: —

Allowed Team Identifiers

arrayAn 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.Default: —Range: —

Team Identifier

string—Default: —Range: —

Allowed System Extensions

dictA 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.Default: —Range: —
{{key}}string

Team Identifier

string—Default: —Range: —

Bundle Identifier

arrayThe mapping of team identifiers to arrays of bundle identifiers, where the bundle identifier defines the system extension to install.Default: —Range: —

Bundle Identifier

required
stringAllowed system extension bundle IDDefault: —Range: —
ANYarray
arrayThe mapping of team identifiers to arrays of bundle identifiers, where the bundle identifier defines the system extension to install.Default: —Range: —
stringAllowed system extension bundle IDDefault: —Range: —

Allowed System Extension Types

dictA 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.Default: —Range: —
{{key}}string

Team Identifier

string—Default: —Range: —

System Extension Types

arrayThe mapping of team identifier to an array of strings, where each string is a type of system extension that you can install for that team identifier.Default: —Range: —

System Extension Type

required
stringPermitted System Extension TypeDefault: —Range: Driver (DriverExtension), Network (NetworkExtension), Endpoint Security (EndpointSecurityExtension)
ANYarray
arrayThe mapping of team identifier to an array of strings, where each string is a type of system extension that you can install for that team identifier.Default: —Range: —
stringPermitted System Extension TypeDefault: —Range: —

Removable System Extensions

macOS 12.0+

dictA 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.Default: —Range: —
{{key}}string

Team Identifier

string—Default: —Range: —

Bundle Identifier

arrayThe dictionary maps team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension.Default: —Range: —

Bundle Identifier

required
stringRemoved system extension bundle IDDefault: —Range: —
ANYarray
arrayThe dictionary maps team identifiers (keys) to arrays of bundle identifiers, where the bundle identifier defines the system extension.Default: —Range: —
stringRemoved system extension bundle IDDefault: —Range: —
dictA 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.Default: —Range: —
{{key}}string
string—Default: —Range: —
arraySystem extension bundle identifiersDefault: —Range: —
stringNon Removable system extension bundle IDDefault: —Range: —
ANYarray
arraySystem extension bundle identifiersDefault: —Range: —
stringNon Removable system extension bundle IDDefault: —Range: —
dictA 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't overlap.Default: —Range: —
{{key}}string
string—Default: —Range: —
arraySystem extension bundle identifiersDefault: —Range: —
stringNon Removable from UI system extension bundle IDDefault: —Range: —
ANYarray
arraySystem extension bundle identifiersDefault: —Range: —
stringNon Removable from UI system extension bundle IDDefault: —Range: —