macOS telemetry sources

Search the macOS rules.

Functional-domain sections

The ESF catalog groups its 148 event types (44 AUTH / 104 NOTIFY) into the sections below. The first 15 (111 event types) are Apple's own documentation sections for kernel-level events. The remaining 13 (37 event types) group the user-space security events Apple doesn't document in a section, by their es_event_<family>_* struct family.

Apple documentation sections

SectionDescriptionEvent typesSamplesRules
File SystemFile open, close, create, write, rename, clone, copy, truncate, lookup, and access operations.23154
File MetadataReads and changes of file metadata: mode, owner, ACLs, extended attributes, flags, timestamps, and directory listings.27130
File ProviderFile Provider extension materialization and update of placeholder items.400
Symbolic LinkLink creation, unlink, and symbolic-link resolution.641
File System MountingFilesystem mount, unmount, and remount.530
Memory MappingMapping a file into memory and changing page protections (writable-to-executable transitions).440
ProcessProcess execution, fork, exit, signalling, process inspection, and chdir/chroot.12103
InterprocessCross-process actions: suspend/resume, ptrace-style tracing, and remote thread creation.420
Task PortAcquisition of another process's Mach task port (control, name, read, inspect).600
User and Group IDReal and effective user- and group-ID changes (privilege transitions).600
Code SigningInvalidation of a running process's dynamic code signature.100
SocketUNIX-domain socket bind and connect. (ESF has no IP network-connection event.)400
ClockSystem clock changes.200
KernelKernel-extension load/unload and IOKit user-client open.502
PTYPTY grant and close.200

Catalog groupings (events Apple does not document in a section)

SectionDescriptionEvent typesSamplesRules
OpenSSHOpenSSH (sshd) login and logout, with authentication result and source address.200
XPCXPC service connection requests.111
AuthenticationLocal authentication attempts and the su / sudo privilege-elevation utilities.311
Login Windowloginwindow GUI session login, logout, lock, and unlock.400
Screen SharingScreen Sharing (VNC) session attach and detach.200
LoginConsole login(1) authentication login and logout.200
AuthorizationSecurity Authorization Services right petitions and the system's judgement.200
Open DirectoryOpen Directory user/group creation, deletion, membership, password, and attribute changes.1340
XProtectXProtect malware detection and remediation.200
Background Task ManagementBackground Task Management (BTM) launch- and login-item add/remove (persistence).200
ProfileConfiguration-profile installation and removal.200
GatekeeperUser override of a Gatekeeper block to run quarantined software.100
TCCTransparency, Consent & Control (TCC) privacy-permission changes.101

The ESF event model

A client subscribes to a set of es_event_type_t values and receives an es_message_t for each matching action. Every message carries a common header (the acting process, timestamp, and Mach absolute time) plus an event-specific payload union (for example es_event_exec_t for an execution, es_event_open_t for a file open). The event type names the payload. The payload carries the detail a detection keys on.

AUTH and NOTIFY events

Each event type belongs to one of two families. A NOTIFY event is fire-and-forget: the kernel reports that an action happened and does not wait. An AUTH event is a synchronous authorization request: the kernel blocks until a subscribed client returns allow or deny (subject to a deadline), so only an active enforcement agent (for example a security product, or Gatekeeper) responds to it. Detection telemetry typically subscribes to the NOTIFY family. The catalog lists both (44 AUTH, 104 NOTIFY) with an AUTH/NOTIFY column per event.

User-space event sources

The earliest ESF events come from the XNU kernel. Starting with macOS 13 Ventura, Apple added event types that user-space frameworks emit instead: Background Task Management (BTM) launch items, XProtect malware events, OpenDirectory changes, sudo, and SSH login and logout. These widen coverage of persistence and identity activity, with a different trust and availability model than the kernel-sourced events. Apple's documentation leaves them outside its functional-domain sections, so the Catalog groupings table above lists them by struct family.

References