PayloadKit

Santa (North Pole Security)

com.northpolesec.santa

Santa settings

macOS

Configuration Keys (90)

Showing 90 of 90 keys

KeyTypeDescriptionDefaultRange
string—Default: —Range: —
ClientModeinteger

Client Mode

integerThe client mode that Santa should operate in.Default: 1Range: Monitor (1), Lockdown (2), Standalone (3)
FailClosedboolean

Deny on Read Error

booleanDeny execution in LOCKDOWN mode if there is an error reading or processing an executable file.Default: falseRange: —

File Changes Regex

stringPath regexes (ICU format) to monitor for file changes.Default: —Range: —

File Changes Prefix Filters

arrayPath prefixes to exclude from file change logging.Default: —Range: —
string

Path Prefix

string—Default: —Range: —

Telemetry

arrayTypes of telemetry events that should be logged.Default: ["Everything"]Range: —
string
string—Default: —Range: Everything, Execution, Fork, Exit, Close, Rename, Unlink, Link, ExchangeData, Disk, Bundle, Allowlist, FileAccess, CodesigningInvalidated, LoginWindowSession, LoginLogout, ScreenSharing, OpenSSH, Authentication, Clone, Copyfile, GatekeeperOverride, LaunchItem, TCCModification, XProtect, ProcSuspendResume, None

Allowed Path Regex

stringPath regexes (ICU format) of binaries to allow. Lower precedent than binary, certificate, and Team ID scopes.Default: —Range: —

Blocked Path Regex

stringPath regexes (ICU format) of binaries to block. Lower precedent than binary, certificate, and Team ID scopes.Default: —Range: —

Bad Signature Protection

booleanBlock binaries with a bad signing chain, unless explicitly allowed.Default: falseRange: —

Enable Page Zero Protection

booleanBlock 32-bit binaries missing the __PAGEZERO segment, unless explicitly allowed.Default: trueRange: —

Enable Transitive Rules

booleanAllow transitive rules created by compiler-type rules.Default: falseRange: —

Static Rules

arrayA static set of rules that always apply to the host, taking precedence over any rules configured by a sync server. The intended use-case is a small hardcoded set of rules that every host needs, such as management tools — not as a general-purpose rule database. Setting this key (even to an empty array) also prevents local rule management via the santactl rule command.Default: —Range: —
Ruledict

Rule

dict—Default: —Range: —

Identifier

required
stringThe identifier for this rule. The required format depends on rule_type: • BINARY / CERTIFICATE — SHA-256 hash (64 hex characters) • TEAMID — 10-character alphanumeric Team ID (e.g. ZMCG7MLDV9) • SIGNINGID — TeamID:SigningID (e.g. EQHXZ8M8AV:com.google.Chrome), or platform:SigningID for Apple platform binaries (e.g. platform:com.apple.curl) • CDHASH — Code Directory Hash (40 hex characters)Default: —Range: —
rule_typestring

Rule Type

required
stringThe type of rule. Also determines the required format of the identifier and the rule's evaluation precedence: CDHash → Binary → SigningID → Certificate → TeamID.Default: —Range: Binary (SHA-256) (BINARY), Certificate (SHA-256) (CERTIFICATE), Team ID (TEAMID), Signing ID (SIGNINGID), CDHash (CDHASH)
policystring

Policy

required
stringThe action to take when this rule matches an execution. ALLOWLIST_COMPILER rules create transitive allow rules for files written by the matched process; if EnableTransitiveRules is false they are treated as ALLOWLIST. CEL rules evaluate the expression in cel_expr to make their decision.Default: —Range: Allowlist (ALLOWLIST), Allowlist Compiler (ALLOWLIST_COMPILER), Blocklist (BLOCKLIST), Silent Blocklist (SILENT_BLOCKLIST), CEL (CEL)
cel_exprstring

CEL Expression

stringA CEL (Common Expression Language) expression to evaluate when this rule matches. Required when policy is CEL. The expression receives an ExecutionContext and must return either a ReturnValue or a bool (true = ALLOWLIST, false = BLOCKLIST).Default: —Range: —

Custom Message

stringCustom message to display in the block notification when this rule blocks an execution. Overrides the global BannedBlockMessage for this specific rule. Only applies to BLOCKLIST and SILENT_BLOCKLIST policies.Default: —Range: —

Custom URL

stringA custom URL for the block notification button, overriding the global EventDetailURL for this specific rule. Supports the same substitution placeholders as EventDetailURL (e.g. %file_identifier%, %machine_id%, %username%). Only applies to BLOCKLIST policies.Default: —Range: —
commentstring

Comment

stringA freeform comment or note about this rule for documentation purposes. Ignored by Santa at runtime.Default: —Range: —

Enable Silent Mode

booleanDisable all GUI notifications.Default: falseRange: —

Enable Silent TTY Mode

booleanDisable all TTY (terminal) notifications.Default: falseRange: —

Enable Menu Item

booleanShow the Santa menu bar item.Default: trueRange: —
AboutTextstring

About Text

stringCustom text to display at launch.Default: —Range: —

More Info URL

stringOptional "More Info..." link.Default: —Range: —

Event Detail URL

stringThe URL to open when the user gets a block notification. If unset, the button will not be displayed. Can include the following variables for substitution: %file_identifier% - SHA-256 of the file that was blocked %bundle_or_file_identifier% - SHA-256 of the file that was blocked or the bundle containing it, if available %file_sha% - Deprecated, acts like bundle_or_file_identifier %machine_id% - ID of the machine %username% - The executing user %serial% - System's serial number %uuid% - System's UUID %hostname% - System's full hostnameDefault: —Range: —

Event Detail Text

stringThe text of the button for Event Detail URL.Default: —Range: —

File Access Event Detail URL

stringThe URL to open when the user gets a file access block notification. If unset, the button will not be displayed. Can include the following variables for substitution: %rule_version% - Version of the rule that was violated %rule_name% - Name of the rule that was violated %accessed_path% - The path accessed by the binary %file_identifier% - SHA-256 of the binary that performed the access %username% - The executing user %team_id% - The Team ID that signed the binary, if any %signing_id% - The Signing ID of the binary, if any %cdhash% - The binary's CDHash, if any %machine_id% - ID of the machine %hostname% - System's full hostname %uuid% - System's UUID %serial% - System's serial numberDefault: —Range: —

File Access Event Detail Text

stringThe text of the button for File Access Event Detail URL.Default: —Range: —

Unknown Block Message

stringCustom message when an unknown binary is blocked.Default: —Range: —

Dismiss Text

stringThe text to display on the button that dismisses the binary block dialog.Default: "Dismiss"Range: —

Banned Block Message

stringCustom message when a binary is blocked by a rule.Default: —Range: —

Monitor Notification Text

stringCustom message when entering MONITOR mode.Default: "Switching into Monitor mode"Range: —

Lockdown Notification Text

stringCustom message when entering LOCKDOWN mode.Default: "Switching into Lockdown mode"Range: —

Standalone Notification Text

stringCustom message when entering STANDALONE mode. (undocumented)Default: "Switching into Standalone mode"Range: —

Banned USB Block Message

stringCustom message when a Removable Media (e.g. USB device) is prevented from being mounted.Default: —Range: —

Remount USB Block Message

stringCustom message when a Removable Media (e.g. USB device) is allowed to be mounted with a subset of the requested flags as defined by RemountUSBMode.Default: —Range: —

File Access Block Message

stringCustom message when a file access is blocked by a rule.Default: —Range: —

Enable Notification Silences

booleanAllow users to silence notifications.Default: trueRange: —

Branding Company Name

stringCompany name displayed in Santa UI. For GUI windows, this setting is ignored if BrandingCompanyLogo is set.Default: —Range: —

Branding Company Logo (Dark Mode)

stringA URL referencing a logo image to display on Santa UIs. When the UI is displayed in dark mode and this is set, it overrides both BrandingCompanyLogo and BrandingCompanyName. Supported URL schemes: file:// and data:. HTTP/HTTPS URLs are not supported.Default: —Range: —

Fun Fonts On Specific Days

booleanEnable themed fonts and images on April 1, May 4 and October 31.Default: falseRange: —

Sync Server URL

string—Default: —Range: —

Enable Proto Transfer

booleanEnable binary proto transfer for sync instead of JSON.Default: falseRange: —

Sync Proxy Configuration

dictProxy configuration applied to all network requests made during syncing. This dictionary is passed directly to NSURLSessionConfiguration.connectionProxyDictionary. Keys are the kCFNetworkProxies* CFNetwork constants (e.g. HTTPEnable, HTTPProxy, HTTPPort, SOCKSEnable, ProxyAutoConfigURLString).Default: —Range: —

Enable Upload Clean Syncs

booleanUpload events to the sync server even if a clean sync is requested.Default: falseRange: —

Client Certificate File Path

stringLocation of a PKCS#12 certificate to be used for sync authentication.Default: —Range: —

Client Certificate Password

string—Default: —Range: —

Client Certificate Common Name

stringThe Common Name of a certificate in the System keychain to be used for sync authentication.Default: —Range: —

Client Certificate Issuer Common Name

stringThe Issuer Name of a certificate in the System keychain to be used for sync authentication.Default: —Range: —

Server Authentication Certificate Roots

dataX.509 certificate (.pem) for inclusion on device. A valid PEM containing one or more certificates to be used for certificate pinning.Default: —Range: —

Server Authentication Certificate Roots (Local)

stringPath to an on-disk X.509 certificate (.pem). A valid PEM containing one or more certificates to be used for certificate pinning.Default: —Range: —

Machine Owner

string—Default: —Range: —

Machine Owner Groups

arrayGroups the machine owner is a member of.Default: —Range: —
string
string—Default: —Range: —
MachineIDstring

Machine ID

string—Default: —Range: —

Machine Owner Plist

stringThe path to a plist that contains the MachineOwnerKey / value pair.Default: —Range: —

Machine Owner Key

stringThe key to use on Machine Owner Plist.Default: —Range: —

Machine Owner Groups Key

stringThe key to use on MachineOwnerPlist to access defined groups.Default: —Range: —

Machine ID Plist

stringThe path to a plist that contains the MachineIDKey / value pair.Default: —Range: —

Machine ID Key

stringThe key to use on Machine ID Plist.Default: —Range: —

Enable All Event Upload

booleanUpload all execution events to the sync server, including those explicitly allowed.Default: falseRange: —

Disable Unknown Event Upload

booleanDo not upload events for executions of unknown binaries allowed in monitor mode.Default: falseRange: —

Sync Client Content Encoding

stringContent encoding used for sync requests.Default: "deflate"Range: deflate, gzip, none

Sync Extra Headers

dictDictionary of additional headers to include in all requests made to the sync server. System-managed headers such as Content-Length, Host, and WWW-Authenticate will be ignored.Default: —Range: —
{{key}}string

Header Key

string—Default: —Range: —
{{value}}string

Header Value

string—Default: —Range: —

Event Log Type

stringDefines how event logs are stored. Allowed values: syslog, file, protobuf, json, null. Note: the protobuf and JSON formats are in BETA and subject to change.Default: "file"Range: System Log (syslog), File (file), Protobuf (protobuf), JSON (json), None (null)

Event Log Path

stringPath to the event log file (used for file/json logging).Default: "/var/db/santa/santa.log"Range: —

Spool Directory

stringBase directory for protobuf maildir-like logs.Default: "/var/db/santa/spool"Range: —

Spool Max File Size

integerPer-file size limit (KB) for protobuf spool files.Default: 250Range: —

Spool Max Size

integerTotal size limit (MB) for protobuf spool directory.Default: 100Range: —

Spool Max Event Buffer

integerMaximum time (seconds) events are buffered before flushing to disk.Default: 15Range: —

Enable Machine ID Decoration

booleanAppends the MachineID to the end of each log line if enabled.Default: falseRange: —

Entitlements Prefix Filter

arrayFilters entitlements from execution telemetry by prefix. Entitlements are only logged when EventLogType is set to protobuf or json.Default: —Range: —
string
string—Default: —Range: —

Entitlements Team ID Filter

arrayFilters entitlements from execution telemetry by Team ID. Entitlements are only logged when EventLogType is set to protobuf or json.Default: —Range: —
string
string—Default: —Range: —

Telemetry Filter Expressions

arrayCEL expressions for filtering or redacting telemetry before upload. Only useful for Workshop customers.Default: —Range: —
string
string—Default: —Range: —

Metric Format

stringFormat to export metrics as, supported formats are "rawjson" for a single JSON blob and "monarchjson" for a format consumable by Google's Monarch tooling.Default: —Range: Raw JSON (rawjson), Monarch JSON (monarchjson)
MetricURLstring

Metric URL

stringURL describing where monitoring metrics should be exported.Default: —Range: —

Metric Export Interval

integerTime (seconds) between exporting metrics.Default: 30Range: —

Metric Export Timeout

integerTimeout (seconds) for exporting metrics.Default: 30Range: —

Metric Extra Labels

dictA map of key value pairs to add to all metric root labels. If a previously set key (e.g. host_name) is set to "" then the key is removed from the metric root labels. Alternatively if a value is set for an existing key then the new value will override the old.Default: —Range: —
{{key}}string
string—Default: —Range: —
{{value}}string
string—Default: —Range: —

Enable Standalone Password Fallback

booleanEnable password authorization fallback for Standalone mode.Default: trueRange: —

Ignore Other Endpoint Security Clients

booleanIgnore events generated by other EndpointSecurity clients.Default: falseRange: —

Enable Stats Collection

booleanSend basic stats to North Pole SecurityDefault: falseRange: —

Stats Organization ID

stringNorth Pole Security customer ID for stats collection.Default: —Range: —

Anti Suspend Signing IDs

arrayA list of Signing IDs to protect from `pid_suspend` calls.Default: —Range: —
string
string—Default: —Range: —

Allowed Santa Commands

arrayArray of allowed Santa commands. If unset, all commands are allowed; if set to an empty array, no commands are allowed.Default: —Range: —
string
string—Default: —Range: kill, ping, eventupload

Allow Delegated Signals

booleanAllow signals delegated by launchd on behalf of Apple platform binaries targeting santad.Default: falseRange: —

File Access Policy Plist

stringPath to a file access configuration plist.Default: —Range: —

File Access Policy

dictA complete file access policy embedded directly in the Santa configuration. When set, FileAccessPolicyPlist is ignored.Default: —Range: —

File Access Policy Update Interval

integerHow often (in seconds) to re-read the file access policy config.Default: 600Range: 15 – —

Override File Access Action

stringGlobal override for the enforcement of all file access policy rules.Default: "none"Range: Audit Only (AUDIT_ONLY), Disable (DISABLE), None (none)

File Access Global Logs Per Second

integerAverage number of file access logs per second. Set to 0 to disable rate limiting.Default: 60Range: 0 – —

File Access Global Window Size

integerWindow size over which the log rate limit is applied. Set to 0 to disable rate limiting.Default: 15Range: 0 – —

Removable Media Action

stringAction applied to all removable media devices.Default: —Range: Allow (Allow), Block (Block), Remount with Restrictions (Remount)

Removable Media Remount Flags

arrayMount flags applied when removable media is remounted.Default: —Range: —
string
string—Default: —Range: rdonly, noexec, nosuid, nobrowse, noowners, nodev, async, -j

Encrypted Removable Media Action

stringAction applied to encrypted removable media devices.Default: —Range: Allow (Allow), Block (Block), Remount with Restrictions (Remount)

Encrypted Removable Media Remount Flags

arrayMount flags applied when encrypted removable media is remounted.Default: —Range: —
string
string—Default: —Range: rdonly, noexec, nosuid, nobrowse, noowners, nodev, async, -j

On Start USB Options

stringAction applied to existing removable media when Santa starts.Default: —Range: Unmount (Unmount), Force Unmount (ForceUnmount), Remount (Remount), Force Remount (ForceRemount)