Available on the Enterprise plan. Contact sales to learn more.
SecurityPolicy.spec.executables.
Ports, files, block devices, and data are not part of this contract.
Configure Veto in the dashboard
Open Settings → Security → Veto. Add an executable path or bare name, choose Audit or Block for each rule, and save. An empty rule list has no executable effect. Saving changes only the executable rules on the organization’s default SecurityPolicy; other policy sections are preserved. Restart a test environment to apply the changed default. Preview supports policies whose rules all use the same effect. Save mixed Audit and Block rules, then restart a test environment to verify them together.Create an audit-first policy
Save this policy asveto-exec-policy.yaml:
defaultEffect controls executables that do not match a rule. Omit it or set
it to EFFECT_ALLOW. Each rule must use EFFECT_AUDIT or EFFECT_BLOCK.
An executable rule cannot use EFFECT_ALLOW.
Each rule path must be one of these selector forms:
- An absolute path, such as
/usr/bin/curl - A bare executable name, such as
npx
., .., ./npx, and relative paths such as tools/npx are
invalid after trimming.
Validate the file:
Review audit and block matches
During the interim rollout, organizations with the Veto Exec Audit Logs preview enabled can review matching audit and block events in organization Audit Logs. Filter by the test environment while you evaluate an audit rule:Veto Exec audited or Veto Exec blocked and includes
the reported filename and full executable digest when available. Audit rules
allow execution. Block rules deny execution.
Promote an audit rule to block
Change the confirmed rule inveto-exec-policy.yaml:
Veto Exec blocked entry appears in Audit Logs.
Understand Veto protection and content identity
Block rules do more than deny execution. Veto’s built-in untouchable protection also blocks direct reads and copies, writes, opens that could modify the file, and writable shared-memory mappings of enrolled executable content. Veto watches supported content and lifecycle changes, then refreshes the enrolled content identity while preserving the rule’s audit or block effect. An executable path or bare name is a persistent selector that represents policy intent, not a one-time hash input. Veto resolves matching executables and uses their SHA-256 content identity for runtime decisions. While a content hash remains enrolled, unchanged bytes retain the same decision when they are:- Moved or renamed. Changing the file’s path does not change its content identity.
- Reached through a hard link. The link resolves to the same unchanged content.
- Copied byte for byte. An identical copy has the same content hash.
- Invoked through a symlink. A symlink to the same target reaches the same unchanged content.