Permissions
CommandCore permissions are explicit policy, not accidental OS failures.
Profiles
READ_ONLY
Inspection only: device info, filesystem read/list/search/stat, process/system inspection, downloads, and native Git read operations.
STANDARD
READ_ONLY plus filesystem mutation, shell/process control, upload and git.run, executing as the unprivileged Agent OS account.
FULL_CONTROL
STANDARD plus execution through the privileged helper and Linux service/package/power controls. All Docker tools require FULL_CONTROL because Docker daemon access is root-equivalent on normal Linux installations.
Four-way authority intersection
For OAuth clients, effective authority is the minimum of:
OAuth scope
per-device subject grant
server device profile
device-local maximum/helper availability
Bootstrap/panel admin bypasses the OAuth-scope layer but does not bypass server profile or device-local maximum.
Local maximum
/etc/commandcore/agent-policy.json is root-owned and defines the highest profile a device accepts. The control plane cannot remotely exceed it. FULL_CONTROL additionally requires a healthy authenticated root helper.