What is collected
The collector captures execution and system metadata for each event:- Timestamps
- Process and user identifiers (PID, UID)
- Command name, binary path, and arguments
- File paths (for file events)
- Network details such as the connection 5-tuple and byte counts (for network events)
- Container and cgroup identifiers
- The configured node label
What is never collected
By default the collector is not a content inspection tool. It never captures:
The macOS collector follows the same design: it does not read file contents, log keystrokes, capture screen content, or capture packet payloads. Telemetry is overwhelmingly NOTIFY; the only AUTH path is agent self-protection (deny unauthorized kill/delete/rename of the collector). See macOS Collector.
One documented exception on macOS: the clipboard sensor is on by default and stores copied content. Raw content is admin-only to read, truncated, and expires in 30 days rather than 90. It can be reduced to metadata-only or turned off entirely by managed preference. See Clipboard and data movement for exactly what is captured and how to scope it.
Content inspection
Content inspection is off by default. Hosts that never setDAG_CONTENT_INSPECT keep the default guarantee: the collector does not read file bytes.
When you set DAG_CONTENT_INSPECT=1 on a Linux host whose profile is not latency_critical:
- On a
DATA_FLOWevent to a public destination (not RFC1918, loopback, link-local, or IPv6 ULA), the agent copies the source file. - Copy is capped at 100 MiB. Larger files are skipped (size is recorded; the file is not hashed or uploaded).
- Bytes go to in-tenant object storage via a presigned PUT. They never ride Kafka, enrichment, or the event shipper.
- Stored objects expire after 30 days, matching the
dag_content_objectstable TTL. - Global admins can view (text, images, PDF) or download the file from File Detail. Other roles see that content exists, not the bytes.
DAG_HOST_PROFILE=latency_critical never starts the capture worker, even if DAG_CONTENT_INSPECT is set.
This slice stores the file as-is. It does not classify content or produce summaries.
Filtering and minimization
The collector reduces raw kernel telemetry to a security-relevant stream before anything is stored. On a busy host, raw syscall volume can exceed 100k events per second; a two-tier eBPF and userspace filter typically drops well over 90% of that as OS housekeeping noise. Two properties matter for data handling:- No content inspection in filtering. Filters operate on metadata only (path prefix, process name, CIDR), never on file or packet contents. (Separate, opt-in content inspection copies a file after a public
DATA_FLOW; it is not used to filter events.) - Security-relevant events are preserved. Process executions, file writes, container lifecycle events, and reads of sensitive paths (credential files, tokens, secrets) always pass the filter.
Where data lives
Each data class stays inside your cloud account.
No copy of this data is sent to or stored by Hilt. See Architecture and data flow for the component map.
