Architecture overview
Events that survive both tiers are serialized and either written to disk or shipped to the ingest endpoint.
What gets filtered
The filtering pipeline removes events that have no governance or security value:Repeat-read coalescing
On container-dense hosts most shipped volume is the same process re-reading the same file. The collector deduplicates these: a successful, read-only open of a path already reported by the same process instance within the coalescing window (default 60 seconds) is not re-shipped. The first open of every distinct (process, file) pair always ships with its original timestamp — coalescing removes repeats of an already-reported access, never an access edge itself. Never coalesced: write opens, failed opens (access attempts), sensitive-path reads (credentials, tokens, secrets — including customer-defined sensitive paths and detection-critical files such as/etc/shadow and
/etc/sudoers), anything under /home, /root, or removable/network-share
mounts, and network/exec/process events (which are never subject to any
volume reduction). Three additional fidelity guards: after a process
writes any file, its subsequent reads ship per-row again (so
read-copy-read sequences keep full evidence); a file replaced at the
same path is treated as new (inode identity is part of the deduplication
key); and an event dropped under queue backpressure never arms the window,
so retries remain independent. A keepalive re-emits one coalesced event if
the host has been otherwise silent, so quiet hosts never appear offline.
On Kubernetes workers this typically removes 30–60% of shipped rows with
no loss of distinct access edges.
What is never filtered
Certain event categories bypass all filtering regardless of source:- All process executions: the collector always records what was executed, even from filtered processes
- All write operations: file writes to any path are always security-relevant
- Container lifecycle events: required for maintaining container identity mapping
- Sensitive path access: reads of credential files, tokens, secrets, and security-relevant configuration are preserved even from infrastructure processes
Filtering behavior guarantees
Opt-in content inspection (
DAG_CONTENT_INSPECT) is a separate capture path after a public DATA_FLOW; it does not change how events are filtered. See Data handling.
Metrics and observability
The collector tracks filter hit rates and reports them periodically:
On shutdown, a summary is printed:
Configuration
Coalescing is disabled automatically under
DAG_STRICT_SENSITIVE_CAPTURE=1
(strict sensitive capture) and when a configured local sensitive-path file is
missing or invalid (fail-closed), the same gates that govern sampling.
The built-in noise filters are compiled into the collector and are not user-configurable. They target well-known system paths and infrastructure processes that generate high volume with no security signal.