Policy Structure
Every policy has the same top-level shape in YAML:scope and target
Group name resolution: the SDK looks up the group by name first, then by UUID. If the group does not exist,
apply will fail with a 404.
locked
When locked: true, the device agent cannot override the policy locally — even if a device-level policy would normally take precedence. Use this for compliance-critical settings you never want overridden.
App Config (app_config)
Controls the Agent Charley application’s behavior on the endpoint.
Flow Config (flow_config)
Controls which URL categories Agent Charley classifies and reports.
Available Categories
DLP Config (dlp_config)
Controls data loss prevention — scanning clipboard content and blocking or warning on sensitive data patterns.
targets
Either apply_to_all_apps: true or provide apps_allowlist — not both. apps_allowlist entries are matched against the application’s display name on macOS (as reported by NSWorkspace).
detections.builtins
actions.mode
slack_context
When slack_context.enabled is true, DLP triggers only when the user is pasting into a Slack window that matches the specified channel types. If slack_context is omitted or disabled, DLP applies regardless of the target application.