Agentic

Trust boundary

Where untrusted input crosses into privileged capability.

Agentic — Trust boundary: rendered example
Rendered by Gnomon from the source below. No edits.

The source

39 lines of PlantUML, and pulls in Agentic notation. Copy it, or open the template inside Gnomon and render it as it is.

@startuml
!include <agentic/core>

title Refund assistant — trust boundary

' VIEWPOINT: Trust boundary — what crosses which boundary: credentials, PII,
' execution? This is STRIDE's move applied to agents, and it is the cell a
' security reviewer asks for first. Mark anything you have not verified with
' $tags="Unconfirmed"; the renderer flags it on the canvas and in the ledger, so
' an assumption cannot quietly harden into fact.
' DONE WHEN: every crossing is named, and every crossing is justified.

Actor(customer, "Customer")
Channel(voice, "Inbound call", "voice · recorded")

Zone(ours, "Our estate") {
  Agent(assistant, "Assistant", "opus-5 · runs on our infra")
  State(session, "Session state", "session scope · holds order_id")
}

Zone(estate, "Order estate") {
  Tool(cancel, "Issue refund", "carries order_id · justified")
}

Zone(analytics, "Analytics estate") {
  Tool(history, "Purchase history", "carries PII + full order history · NO justification recorded", $tags="Unconfirmed")
}

Exit_Human(human, "Transfer to a human")
Exit_Complete(done, "Complete")

Rel(customer, voice)
Rel(voice, assistant)
Rel(assistant, session)
Rel_Expr(session, cancel, "eligible == true")
Rel_Expr(session, history, "needs_history_check == true")
Rel_LLM(history, human, "the history looks disputed")
Rel(cancel, done)
@enduml

Render this offline

This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.

Get GnomonOpen the browser editor

Others in Agentic architecture diagrams