Santa (North Pole Security)
com.northpolesec.santa
Santa settings
Configuration Keys (90)
Showing 90 of 90 keys
| Key | Type | Description | Default | Range |
|---|---|---|---|---|
PFC_SegmentedControl_0stringrequired | string | — | Default: — | Range: — |
ClientModeintegerClient Mode | integer | The client mode that Santa should operate in. | Default: 1 | Range: Monitor (1), Lockdown (2), Standalone (3) |
FailClosedbooleanDeny on Read Error | boolean | Deny execution in LOCKDOWN mode if there is an error reading or processing an executable file. | Default: false | Range: — |
FileChangesRegexstringFile Changes Regex | string | Path regexes (ICU format) to monitor for file changes. | Default: — | Range: — |
File Changes Prefix Filters | array | Path prefixes to exclude from file change logging. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
TelemetryarrayTelemetry | array | Types of telemetry events that should be logged. | Default: ["Everything"] | Range: — |
| 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 | |
AllowedPathRegexstringAllowed Path Regex | string | Path regexes (ICU format) of binaries to allow. Lower precedent than binary, certificate, and Team ID scopes. | Default: — | Range: — |
BlockedPathRegexstringBlocked Path Regex | string | Path regexes (ICU format) of binaries to block. Lower precedent than binary, certificate, and Team ID scopes. | Default: — | Range: — |
EnableBadSignatureProtectionbooleanBad Signature Protection | boolean | Block binaries with a bad signing chain, unless explicitly allowed. | Default: false | Range: — |
EnablePageZeroProtectionbooleanEnable Page Zero Protection | boolean | Block 32-bit binaries missing the __PAGEZERO segment, unless explicitly allowed. | Default: true | Range: — |
EnableTransitiveRulesbooleanEnable Transitive Rules | boolean | Allow transitive rules created by compiler-type rules. | Default: false | Range: — |
StaticRulesarrayStatic Rules | array | A 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: — |
RuledictRule | dict | — | Default: — | Range: — |
| string | The 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: — | |
| string | The 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) | |
| string | The 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_exprstringCEL Expression | string | A 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_msgstringCustom Message | string | Custom 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_urlstringCustom URL | string | A 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: — |
commentstringComment | string | A freeform comment or note about this rule for documentation purposes. Ignored by Santa at runtime. | Default: — | Range: — |
EnableSilentModebooleanEnable Silent Mode | boolean | Disable all GUI notifications. | Default: false | Range: — |
EnableSilentTTYModebooleanEnable Silent TTY Mode | boolean | Disable all TTY (terminal) notifications. | Default: false | Range: — |
EnableMenuItembooleanEnable Menu Item | boolean | Show the Santa menu bar item. | Default: true | Range: — |
AboutTextstringAbout Text | string | Custom text to display at launch. | Default: — | Range: — |
MoreInfoURLstringMore Info URL | string | Optional "More Info..." link. | Default: — | Range: — |
EventDetailURLstringEvent Detail URL | string | The 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 hostname | Default: — | Range: — |
EventDetailTextstringEvent Detail Text | string | The text of the button for Event Detail URL. | Default: — | Range: — |
FileAccessEventDetailURLstringFile Access Event Detail URL | string | The 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 number | Default: — | Range: — |
File Access Event Detail Text | string | The text of the button for File Access Event Detail URL. | Default: — | Range: — |
UnknownBlockMessagestringUnknown Block Message | string | Custom message when an unknown binary is blocked. | Default: — | Range: — |
DismissTextstringDismiss Text | string | The text to display on the button that dismisses the binary block dialog. | Default: "Dismiss" | Range: — |
BannedBlockMessagestringBanned Block Message | string | Custom message when a binary is blocked by a rule. | Default: — | Range: — |
ModeNotificationMonitorstringMonitor Notification Text | string | Custom message when entering MONITOR mode. | Default: "Switching into Monitor mode" | Range: — |
ModeNotificationLockdownstringLockdown Notification Text | string | Custom message when entering LOCKDOWN mode. | Default: "Switching into Lockdown mode" | Range: — |
Standalone Notification Text | string | Custom message when entering STANDALONE mode. (undocumented) | Default: "Switching into Standalone mode" | Range: — |
BannedUSBBlockMessagestringBanned USB Block Message | string | Custom message when a Removable Media (e.g. USB device) is prevented from being mounted. | Default: — | Range: — |
RemountUSBBlockMessagestringRemount USB Block Message | string | Custom 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: — |
FileAccessBlockMessagestringFile Access Block Message | string | Custom message when a file access is blocked by a rule. | Default: — | Range: — |
EnableNotificationSilencesbooleanEnable Notification Silences | boolean | Allow users to silence notifications. | Default: true | Range: — |
BrandingCompanyNamestringBranding Company Name | string | Company name displayed in Santa UI. For GUI windows, this setting is ignored if BrandingCompanyLogo is set. | Default: — | Range: — |
BrandingCompanyLogostringBranding Company Logo | string | A URL referencing a logo image to display on Santa UIs. The image will be scaled down appropriately to fit within image bounds (currently 84x28 pixels). If set, this overrides BrandingCompanyName. Supported URL schemes: file:// and data:. HTTP/HTTPS URLs are not supported. | Default: — | Range: — |
BrandingCompanyLogoDarkstringBranding Company Logo (Dark Mode) | string | A 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: — |
FunFontsOnSpecificDaysbooleanFun Fonts On Specific Days | boolean | Enable themed fonts and images on April 1, May 4 and October 31. | Default: false | Range: — |
SyncBaseURLstringSync Server URL | string | — | Default: — | Range: — |
SyncEnableProtoTransferbooleanEnable Proto Transfer | boolean | Enable binary proto transfer for sync instead of JSON. | Default: false | Range: — |
Sync Proxy Configuration | dict | Proxy 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 | boolean | Upload events to the sync server even if a clean sync is requested. | Default: false | Range: — |
Client Certificate File Path | string | Location of a PKCS#12 certificate to be used for sync authentication. | Default: — | Range: — |
Client Certificate Password | string | — | Default: — | Range: — |
ClientAuthCertificateCNstringClient Certificate Common Name | string | The Common Name of a certificate in the System keychain to be used for sync authentication. | Default: — | Range: — |
Client Certificate Issuer Common Name | string | The Issuer Name of a certificate in the System keychain to be used for sync authentication. | Default: — | Range: — |
Server Authentication Certificate Roots | data | X.509 certificate (.pem) for inclusion on device. A valid PEM containing one or more certificates to be used for certificate pinning. | Default: — | Range: — |
ServerAuthRootsFilestringServer Authentication Certificate Roots (Local) | string | Path to an on-disk X.509 certificate (.pem). A valid PEM containing one or more certificates to be used for certificate pinning. | Default: — | Range: — |
MachineOwnerstringMachine Owner | string | — | Default: — | Range: — |
MachineOwnerGroupsarrayMachine Owner Groups | array | Groups the machine owner is a member of. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
MachineIDstringMachine ID | string | — | Default: — | Range: — |
MachineOwnerPliststringMachine Owner Plist | string | The path to a plist that contains the MachineOwnerKey / value pair. | Default: — | Range: — |
MachineOwnerKeystringMachine Owner Key | string | The key to use on Machine Owner Plist. | Default: — | Range: — |
MachineOwnerGroupsKeystringMachine Owner Groups Key | string | The key to use on MachineOwnerPlist to access defined groups. | Default: — | Range: — |
MachineIDPliststringMachine ID Plist | string | The path to a plist that contains the MachineIDKey / value pair. | Default: — | Range: — |
MachineIDKeystringMachine ID Key | string | The key to use on Machine ID Plist. | Default: — | Range: — |
EnableAllEventUploadbooleanEnable All Event Upload | boolean | Upload all execution events to the sync server, including those explicitly allowed. | Default: false | Range: — |
DisableUnknownEventUploadbooleanDisable Unknown Event Upload | boolean | Do not upload events for executions of unknown binaries allowed in monitor mode. | Default: false | Range: — |
Sync Client Content Encoding | string | Content encoding used for sync requests. | Default: "deflate" | Range: deflate, gzip, none |
SyncExtraHeadersdictSync Extra Headers | dict | Dictionary 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}}stringHeader Key | string | — | Default: — | Range: — |
{{value}}stringHeader Value | string | — | Default: — | Range: — |
EventLogTypestringEvent Log Type | string | Defines 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) |
EventLogPathstringEvent Log Path | string | Path to the event log file (used for file/json logging). | Default: "/var/db/santa/santa.log" | Range: — |
SpoolDirectorystringSpool Directory | string | Base directory for protobuf maildir-like logs. | Default: "/var/db/santa/spool" | Range: — |
Spool Max File Size | integer | Per-file size limit (KB) for protobuf spool files. | Default: 250 | Range: — |
Spool Max Size | integer | Total size limit (MB) for protobuf spool directory. | Default: 100 | Range: — |
Spool Max Event Buffer | integer | Maximum time (seconds) events are buffered before flushing to disk. | Default: 15 | Range: — |
EnableMachineIDDecorationbooleanEnable Machine ID Decoration | boolean | Appends the MachineID to the end of each log line if enabled. | Default: false | Range: — |
Entitlements Prefix Filter | array | Filters entitlements from execution telemetry by prefix. Entitlements are only logged when EventLogType is set to protobuf or json. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
Entitlements Team ID Filter | array | Filters entitlements from execution telemetry by Team ID. Entitlements are only logged when EventLogType is set to protobuf or json. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
Telemetry Filter Expressions | array | CEL expressions for filtering or redacting telemetry before upload. Only useful for Workshop customers. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
MetricFormatstringMetric Format | string | Format 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) |
MetricURLstringMetric URL | string | URL describing where monitoring metrics should be exported. | Default: — | Range: — |
MetricExportIntervalintegerMetric Export Interval | integer | Time (seconds) between exporting metrics. | Default: 30 | Range: — |
MetricExportTimeoutintegerMetric Export Timeout | integer | Timeout (seconds) for exporting metrics. | Default: 30 | Range: — |
Metric Extra Labels | dict | A 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 | boolean | Enable password authorization fallback for Standalone mode. | Default: true | Range: — |
Ignore Other Endpoint Security Clients | boolean | Ignore events generated by other EndpointSecurity clients. | Default: false | Range: — |
EnableStatsCollectionbooleanEnable Stats Collection | boolean | Send basic stats to North Pole Security | Default: false | Range: — |
StatsOrganizationIDstringStats Organization ID | string | North Pole Security customer ID for stats collection. | Default: — | Range: — |
Anti Suspend Signing IDs | array | A list of Signing IDs to protect from `pid_suspend` calls. | Default: — | Range: — |
| string | — | Default: — | Range: — | |
AllowedSantaCommandsarrayAllowed Santa Commands | array | Array of allowed Santa commands. If unset, all commands are allowed; if set to an empty array, no commands are allowed. | Default: — | Range: — |
| string | — | Default: — | Range: kill, ping, eventupload | |
AllowDelegatedSignalsbooleanAllow Delegated Signals | boolean | Allow signals delegated by launchd on behalf of Apple platform binaries targeting santad. | Default: false | Range: — |
FileAccessPolicyPliststringFile Access Policy Plist | string | Path to a file access configuration plist. | Default: — | Range: — |
FileAccessPolicydictFile Access Policy | dict | A complete file access policy embedded directly in the Santa configuration. When set, FileAccessPolicyPlist is ignored. | Default: — | Range: — |
File Access Policy Update Interval | integer | How often (in seconds) to re-read the file access policy config. | Default: 600 | Range: 15 – — |
OverrideFileAccessActionstringOverride File Access Action | string | Global override for the enforcement of all file access policy rules. | Default: "none" | Range: Audit Only (AUDIT_ONLY), Disable (DISABLE), None (none) |
FileAccessGlobalLogsPerSecintegerFile Access Global Logs Per Second | integer | Average number of file access logs per second. Set to 0 to disable rate limiting. | Default: 60 | Range: 0 – — |
File Access Global Window Size | integer | Window size over which the log rate limit is applied. Set to 0 to disable rate limiting. | Default: 15 | Range: 0 – — |
RemovableMediaActionstringRemovable Media Action | string | Action applied to all removable media devices. | Default: — | Range: Allow (Allow), Block (Block), Remount with Restrictions (Remount) |
Removable Media Remount Flags | array | Mount flags applied when removable media is remounted. | Default: — | Range: — |
| string | — | Default: — | Range: rdonly, noexec, nosuid, nobrowse, noowners, nodev, async, -j | |
Encrypted Removable Media Action | string | Action applied to encrypted removable media devices. | Default: — | Range: Allow (Allow), Block (Block), Remount with Restrictions (Remount) |
Encrypted Removable Media Remount Flags | array | Mount flags applied when encrypted removable media is remounted. | Default: — | Range: — |
| string | — | Default: — | Range: rdonly, noexec, nosuid, nobrowse, noowners, nodev, async, -j | |
OnStartUSBOptionsstringOn Start USB Options | string | Action applied to existing removable media when Santa starts. | Default: — | Range: Unmount (Unmount), Force Unmount (ForceUnmount), Remount (Remount), Force Remount (ForceRemount) |