Skip to content

Reviewing policy

Local policy is untrusted until a human reviews and accepts the exact configuration hash. Nothing accepts it automatically: not init, not setup --json, not a message in the repository.

Terminal window
majlis policy show

This reads .majlis/majlis.toml, hashes the exact bytes, and compares the revision and actions with the last durable acceptance. It reports pending or accepted, a byte_match flag, and the command to accept these bytes. It requires a reachable daemon.

Open .majlis/majlis.toml and check the [policy] block. Comments and whitespace change the hash.

Copy the emitted command and replace the reason with your own:

Terminal window
majlis --operator policy accept --config-hash <reviewed-sha256> \
--revision <reviewed-policy-revision> --edit block --intent warn \
--reason '<review-reason>' --idempotency-key '<operation-key>'
  • Changed bytes at an accepted revision need the next revision.
  • Acceptance never rewrites your TOML.
  • Lowering enforcement needs another explicit acceptance.
  • POLICY_DENIED includes documentation pointers and, when the local configuration is readable, the exact acceptance flags and hash. Ownership denials never suggest accepting policy to gain ownership.

The durable acceptance is readable at GET /v1/workspaces/{ws}/policy; NOT_FOUND means none exists.