QORMQORM v0.8.4 docs Get started

QORM Agent Permissions

The QORM agent permission model controls what an agent can see, change, and execute.

Permission Levels

read-only
preview-only
edit-json
apply-patch
host-call
build
run
deploy
admin

Default Permissions

The default agent permission is:

read-only + preview-only

Allowed:

inspect
validate
preview_patch
explain
platform_check

Denied:

apply_patch
host.call
filesystem.saveFile
shell
deploy

Here, filesystem.saveFile denotes a file-write capability; its permission key is usually filesystem.write.

Runtime Enforcement

The read-only level is enforced at runtime by qorm run --mcp-read-only: the shared MCP session then rejects mutating tools (qorm_dispatch, qorm_set_state, qorm_apply_patch, qorm_undo) with a JSON-RPC "read-only mode" error, while inspection and preview tools keep working.

Permission Declaration

{
  "agent": "codex",
  "permissions": {
    "inspect": true,
    "validate": true,
    "previewPatch": true,
    "applyPatch": "requiresApproval",
    "hostCall": false,
    "shell": false
  }
}

Relationship Between Agent Permissions and System Permissions

Dangerous Operations

Dangerous operations include:

filesystem.saveFile
network.request to external domain
shell
process.spawn
native.call
plugin.install
deploy
bundle.publish

Here the danger of file writes corresponds to the filesystem.write permission domain.

These must require user confirmation.

Approval Semantics

For an agent, the following operations typically require approval:

apply_patch
host.call
filesystem.write
shell
deploy

Minimum rules:

Approval Lifecycle and Revocation

An approval record contains at least:

approval id
agent id
operation
scope
issuedAt
expiresAt
reuse policy
revokedAt

Revocation triggers include at least:

Audit Log

All agent operations should be recorded:

agent id
tool name
input summary
output summary
files changed
permissions used
timestamp
approval id
audit event id

The audit log should avoid storing complete sensitive inputs where possible; if it involves tokens, passwords, or absolute file contents, it should record a summary or redacted fields.