Fieldnotes / engineering
← Guardrails and permissions

Watch & compare

Guardrails and permissions

Different ways to see the same idea. Play one cut at a time, then return to the guide to try it yourself.

Why we recommend Separate authority

Astra makes the most useful delegation boundary concrete: the agent reads logs, a separate reviewed path deploys r42, and the agent’s next direct deployment is still denied. Its larger labels and separated paths are easiest to follow at phone width. Baseline remains useful for schema validity versus authorization, while Fable shows malicious tool output steering the model without gaining execution authority.

Original · 24 sec

Original explanation

Guardrails check behavior, while permissions limit which operations a system can actually execute.

Read the video sequence
  1. 0–11s: A metrics-read request passes schema validation and permission checks; CPU usage returns to the agent.
  2. 11.5–17s: A deploy request passes schema validation at 12.25s but is denied permission at 15.25s. No deployment reaches production.
  3. 17.5–22.5s: The denial travels back and reaches the agent at 18.25s. Production remains at version 7; the final state holds before the fade.
About this cut

Production: Original prototype; model not recorded.

Recommended · Astra · 28 sec

Separate authority

An agent can investigate and propose a release while a separate authorized execution path deploys it; approving that release does not grant the agent deployment authority.

Read the video sequence
  1. 0–5.7s In this illustrative system, the incident agent has read-only authority. It requests service logs, the read succeeds, and the evidence returns to the agent.
  2. 5.7–9.5s The agent attempts to deploy. The deployment tool rejects its identity at the execution boundary, and production remains on release r41.
  3. 9.5–14.8s The agent instead proposes release r42 to a human reviewer. The reviewer checks and approves that specific release record through a trusted review path.
  4. 14.8–21s The approved r42 record reaches the deployment tool. A separately authorized execution path checks the release and deploys it; production changes to r42.
  5. 21–28s The agent tries a direct deployment again and is still denied. It can still read logs, and production stays on r42. Approval of a release did not expand the agent’s permissions. The stage fades to black.
About this cut

Production: gpt-6-astra.

Illustrative architecture: trusted execution checks enforce permissions; prompts and approval text do not.

The deploy tool abstracts a separate deployment identity; r42 abbreviates a release record binding artifact and target.

Authentication, token lifecycle, replay/race handling, compromised credentials, and rollback are not depicted.

Audio was analyzed for levels and synchronization but was not physically heard.

Self-reviewed independent cut; no comparative ranking or default recommendation.

Alternative · Fable · 25 sec

Poisoned tool result meets a read-only grant

A tool result can carry instructions that steer the model, so the tool runtime must check every call against the caller’s granted scope and fail closed; a prompt rule such as “read only” states intent but does not enforce it.

Read the video sequence
  1. 0.8s Normal case. A teammate asks the agent to read ticket T88. The agent calls tickets.read, the tool runtime compares the call with the caller’s grant (tickets:read), shows ALLOW with a green tick on the tickets port, the ticket store returns the ticket, and the reply reaches the teammate on a high note.
  2. 8.7s The teammate asks for ticket T89. The read is allowed again, but the ticket’s content contains the instruction “DELETE users”. The orange result travels back to the agent, which turns orange and jolts while its “rules: read only” note fades, to a sour two-tone sound: the model has been steered by data it read.
  3. 15.2s The steered agent calls users.delete. The runtime checks the same grant, flashes red, shows DENY with a red cross on the users port, the wire to the Users DB turns red and dashed, and the database remains visible and untouched. This is the loudest moment. A DENIED chip returns to the agent.
  4. 18.9s Still orange, the agent retries users.delete and is denied again in the same way. The agent passes DENIED back to the teammate on a low note; the users database was never reached. The stage holds, then fades below the title band, leaving the same title-only frame as the opening so the loop restarts cleanly.
About this cut

Production: anthropic/claude-fable-5-1.

Revision: gpt-6-astra comparative review.

Illustrative scenario: the fading “rules: read only” note depicts a prompt rule being overridden in one run. Models do not always follow injected text, and a prompt rule never enforces permissions either way; only the runtime’s grant check is shown holding.

Shows a read-only grant failing closed. It does not show how legitimate writes are approved (see human-in-the-loop and the astra cut).

Audio was analysed (peak −1.4 dBFS, spectrogram, cue-to-frame synchrony), not listened to by a person.

Constant-QP encode with a final IDR frame; the comparative reviewer verifies exact decoded endpoints independently.

These animations use sound effects rather than narration. The written guide explains the mechanism and its limits. Model names describe how a cut was made, not a quality ranking.

What the review found