PayloadKit

SAP Privileges

corp.sap.privileges

Use this section to define settings for the SAP Privileges app

macOS
macOS 10.12+

Configuration Keys (29)

KeyTypeTitle
ExpirationInterval

Set a fixed time interval after which administrator privileges expire and revert to standard user rights

Range: 0 – —

integerExpiration Interval
ExpirationIntervalMax

Set a maximum time interval for a user to request administrative privileges

Range: 0 – —

integerExpiration Interval Max
AllowPrivilegeRenewal

Specifies whether expiring administrator privileges can be renewed. When set to true, the user receives a notification one minute before administrator privileges expire and can renew them.

Default: false

booleanAllow Privilege Renewal
RenewalFollowsAuthSetting

When set to true, renewing privileges requires the same kind of authentication as initially requesting administrator privileges (for example, Touch ID or password).

Default: false

booleanRenewal Follows Auth Setting
AllowCLIBiometricAuthentication

Specifies whether to allow biometric authentication in the PrivilegesCLI to obtain administrator privileges

Default: false

booleanAllow CLI Biometric Authenication
PostChangeExecutablePath

If set, the PrivilegesAgent executes the given application or script and provides the current user's user name ($1) and its privileges (admin or user, $2) as launch arguments

stringPost Change Executable Path
PostChangeActionOnGrantOnly

If set to true, the application or script, specified in PostChangeExecutablePath, will only be executed if administrator privileges are granted to a user, but not the privileges are revoked.

Default: false

booleanPost Change Action On Grant Only
PassReasonToExecutable

Specifies whether the reason that the user entered when requesting administrator privileges should be passed to the executable configured with the PostChangeExecutablePath key. The reason is passed as the third launch argument ($3).

Default: false

booleanPass Reason To Executable
RevokePrivilegesAtLogin

If set to true, the user's administrator privileges are revoked at login

Default: false

booleanRevoke Privileges at Login
RevokeAtLoginExcludedUsers

If RevokePrivilegesAtLogin is set to true, the specified users are excluded from privilege revocation at login. Provide an array of strings containing the short names of the users.

arrayRevoke At Login Excluded Users
HideOtherWindows

By default, Privileges hides open windows to show the desktop and ensure that only the Privileges window is visible on the screen

Default: false

booleanHide Other Windows
EnforcePrivileges

Enforces certain privileges. Whenever Privileges.app or the PrivilegesCLI command line tool are launched, the corresponding privileges are set.

Default: "admin"

Range: Admin (admin), User (user), None (none)

stringEnforce Privileges
DockToggleTimeout

Sets a fixed timeout for the Dock tile's Toggle Privileges command. After this time, the admin rights are removed and set back to standard user rights. A value of 0 disables the timeout and allows the user to permanently toggle privileges.

integerDock Toggle Timeout
DockToggleMaxTimeout

Set a maximum timeout for the Dock tile's Toggle Privileges command. This generally works the same way as the DockToggleTimeout but allows the user to choose every timeout value up to the one specified. If set to 20 min. for example, the user may decide to set it to a value below 20 instead of being forced to use the 20 minute timeout.

integerDock Toggle Max Timeout
LimitToGroup

Limits the usage of Privileges.app to the given user group.

stringLimit to Group
LimitToUser

Limits the usage of Privileges.app to the given user account.

stringLimit to User
ReasonRequired

If ReasonRequired is set to true, the user must provide a reason for needing admin rights.

Depends on: ReasonMinLength

booleanReason Required
ReasonMaxLength

Specifies the maximum number of characters the user can enter as the reason for becoming an admin

Depends on: ReasonRequired

Default: 250

Range: 1 – 250

integerReason Maximum Length
ReasonMinLength

Specifies the minimum number of characters the user has to enter as the reason for becoming an admin.

Depends on: ReasonRequired

Default: 10

Range: 1 – 100

integerReason Minimum Length
ReasonPresetList

If ReasonRequired is set to true, this key allows to pre-define a list of possible reasons (for becoming an admin) the user can choose from

Depends on: ReasonRequired

arrayReason Preset List
ReasonCheckingEnabled

If set to true, the text the user enters for a reason is roughly parsed for valid words

Depends on: ReasonRequired

Default: false

booleanReason Checking
HideSettingsButton

If set to true, the Settings button is no longer displayed in the app

Default: false

booleanHide Settings Button
HideHelpButton

If set to true, the Help (?) button is no longer displayed in the app.

Default: false

booleanHide Help Button
HelpButtonCustomURL

If specified, this URL is opened instead of the Privileges GitHub URL when the user clicks the help button. Must use http:// or https://.

stringHelp Button Custom URL
HideSettingsFromDockMenu

If set to true, the Settings menu item is no longer displayed in the Dock tile's menu

Default: false

booleanHide Settings From Dock Menu
HideSettingsFromStatusItem

If set to true, the Settings menu item is no longer displayed in the status item's menu.

Default: false

booleanHide Settings From Menu Bar
ShowInMenuBar

If set to true, a Privileges status item is displayed in the Menu Bar.

Default: false

booleanShow in Menu Bar
RequireAuthentication

Requires authentication before using Privileges.app. If set to true, the logged-in user is prompted to authenticate via Touch ID or by entering their account password.

booleanRequire User Authentication
RemoteLogging

Remote logging settings

dictRemote Logging Settings
RevokeAtLoginExcludedUsersItem

The short name of a user to exclude from privilege revocation at login.

stringUser Short Name
dict
de

Localization (de)

stringLocalization
en

Localization (en)

stringLocalization
es

Localization (es)

stringLocalization
it

Localization (it)

stringLocalization
default

Unlocalization

stringUnlocalized
ServerType

Range: Syslog (syslog), Webhook (webhook)

stringServer Type
ServerAddress

This will usually be an IP address, unless the syslog server is set up to respond using a DNS hostname.

stringServer Address
EnableTCP

If set to true, the log messages are sent via TCP instead of UDP. By default, messages are sent via UDP.

Default: false

booleanEnable TCP
WebhookCustomData

A dictionary of custom data (such as machine name or serial number) that is added to the webhook's JSON payload as the custom_data field.

dictWebhook Custom Data
SyslogOptions

Syslog-specific options

dictSyslog Options
LogFacility

Configure syslog facility.

Depends on: RemoteLogging.ServerType ∈ [syslog]

Default: 4

Range: Kernel (0), User-level (1), Mail System (2), System Daemons (3), Security / Authorization (4), Internal Syslogd (5), Line Printer (6), Network News (7), UUCP (8), Clock Daemon (9), Security / Authorization (10), FTP (11), NTP (12), Log Audit (13), Log Alert (14), Clock Daemon (note 2) (15), Local Use 0 (local0) (16), Local Use 1 (local1) (17), Local Use 2 (local2) (18), Local Use 3 (local3) (19), Local Use 4 (local4) (20), Local Use 5 (local5) (21), Local Use 6 (local6) (22), Local Use 7 (local7) (23)

integerLog Facility
LogSeverity

Configure syslog severity.

Default: 6

Range: Emergency (0), Alert (1), Critical (2), Error (3), Warning (4), Notice (5), Informational (6), Debug (7)

integerLog Severity
ServerPort

The port of the logging server.

Default: 514

integerServer Port
MaximumMessageSize

Specify the maximum size of the syslog message (header + event message). If the syslog message is larger than the specified maximum, the message will be truncated at the end.

Default: 480

Range: 480 – —

integerMaximum Message Size