Policies & credentials¶
The governance surfaces (Admin): environment policy and the credential-reference inventory.
Environment policies¶
Admin → Policies lists environments; select one to view its policy — the knobs
(enabled, fail_on_warnings, blocked_diagnostic_codes, require_human_review,
require_tool_permissions, deny_unrestricted_tools, require_guardrails) and the
before/after of its most recent change (from the platform's previous_policy).
Changing a policy is a two-step, safe flow:
- Preview — a dry-run: the field-level diff of your proposed change vs the active policy, plus the runs it would affect. Nothing is saved.
- Apply — the mutating
PUT. The response shows the before/after; the platform records the change in its own audit log (visible in Audit).
Worked example — tighten review before a risky rollout. On the target env, propose
require_human_review = true and Preview: the diff shows the one field change and lists the
in-flight runs it would affect. Satisfied, Apply — subsequent runs now pause for human
review (they surface in Human tasks); the before/after and the actor land
in the platform audit.
Authorized server-side (0.4.0)
Applying or previewing a policy requires the policy.write capability (admin in the built-in default map; reassignable via the Access map),
enforced server-side by the BFF — a disallowed operator gets a 403 before the
call reaches the platform, with the platform scope as a second, independent layer. SPA
hide/disable is UX only; the BFF is the real gate (see
ADR-009).
Credential inventory¶

Credentials (under the Admin nav group) is a presence-only inventory of credential
references, grouped into Providers, Other secrets, and Service tokens. Each
entry shows its name, the backing env var, and a present / missing status, with a
present·missing rollup. Reading it needs the credentials.read capability (operator or
admin in the built-in default map), enforced server-side (0.4.0); the nav item is hidden for viewers.
No secrets, ever
The inventory carries no secret values — not even the platform's redacted
[REDACTED] placeholder reaches the browser. It answers "is this credential
configured?", nothing more. Expiry/rotation metadata is reserved (env-var
references carry none today).
Related¶
- Settings › Access — who holds
policy.write/credentials.read. - Runs & debugging › Policy tab — a run's compiled policy outcomes.
- Audit & health — where an applied policy change is recorded.