sharness.ai / storyboards / its-one-job · this page as markdown

Its one job

Rook, a page, tells Pip to show the key, push elsewhere, ask the KMS, then edit the policy. Each stop is a different process. 10 panels.

Status: proposed · by sharness.build, 24 October 2026 · 10 panels, drawn from data in your browser by the storyboards.sgit.ai kit (release v0.1.0, pinned) · checked against the design as of 24 Oct 2026.

What the strip shows is the design: nothing drawn here is built, except where a panel says it was measured, and then the date and the method are on Evidence. Every line a character says is the storyboard's own words, not a quote; evidence panels quote this site word for word.

Flick through as a deck. Every panel at once: the script below, or the data itself: storyboard.json · cast.json · bundle.json.

The script

Rule: Every line a character says is the storyboard's own, not a quote, and is marked not_a_quote; evidence panels quote sharness.ai word for word. The stops shown are designed, not built; the last scene says what is not stopped.

1. Its one job

Cover. A tricked process can only do its one job. On the cover: Rook, Pip, Ada.

Note: The prompt-injection walkthrough from sharness.ai/policies, section 8, as a strip.

Source: sharness.ai/policies, 8. Prompt-injection walkthrough

2. Pip reads a page

Note: Rook is any text the agent reads: a web page, a vault file, a feed. Prompt injection acts through the agent.

Source: sharness.ai/policies, 2

3. Stop one: the app

$ sgit vault show-key
refused: clone is sealed
(no key in this process)

Note: show-key is refused on a sealed clone; --reveal is denied by policy in agent sessions; and the app holds no key to show.

Source: sharness.ai/policies, 8, row 1

4. Stop two: the network

$ sgit push --to Z
net: host Z not in policy
net: vault Y not allowed
refused

Note: sharness.net is the only network client and the TLS client, so it sees the name it connects to and checks it against the allowlist.

Source: sharness.ai/policies, 8, row 2

5. Stop three: the key holder

kms: op=write needs
  Ada's fresh approval
kms: caller must be net
refused

Note: The KMS answers only sharness.net, and a write needs the person's fresh approval. The app and the agent cannot ask it at all.

Source: sharness.ai/keys, 3. The KMS protocol

6. Stop four: the policy itself

$ edit manifest.json  +Z
launcher: hash = sha256:7c..
launcher: Ada gave sha256:M
nothing starts

Note: The person supplies the manifest hash from outside the agent, or the manifest is signed by the root key. The launcher refuses anything else.

Source: sharness.ai/policies, 6. Hashing, signing, distribution

7. Why each stop holds

the app holds no key
net sees only allowed hosts
kms answers only net, writes need Ada
the hash comes from Ada, not Pip

Note: Each rule is enforced in a different process from the one it constrains, under its own uid, Landlock and seccomp, with mutual TLS between them.

Source: sharness.ai/architecture, Edges

8. The rule of thumb

"A business rule is only a Boundary if it is enforced in a different process from the one it constrains." (sharness.ai/policies, 5. Enforcement map)

Note: Word for word from the Policies page. It is why there are several components and not one careful program.

Source: sharness.ai/policies

9. What is not stopped

locks Pip applies to itself
are a Setting, not a Boundary

a Boundary needs the launcher
above the agent: a script, a platform

Note: The last row of the walkthrough: the agent running its own unwrap as root is not stopped locally. Who runs the launcher decides what the locks are.

Source: sharness.ai/policies, 8, last row

10. Punchline

A tricked process can only do its one job.

Note: Designed, not built. The walkthrough with every row is on sharness.ai/policies, section 8.

Source: sharness.ai

Embed it

One script tag and one element; the kit draws it from the data at this address. The release is pinned, so the drawing never changes under you.

<script src="https://api.storyboards.sgit.ai/v0/v0.1/v0.1.0/embed.js" defer></script>
<sg-storyboard src="https://sharness.ai/storyboards/its-one-job/bundle.json" view="deck"></sg-storyboard>