“Draft it. I’ll send it.”
Emily reads the selected message and prepares a reply. A request to send is refused.
Meet Emily, Samantha’s Email Assistant. Samantha wants Emily drafting replies, and nothing else. Not yet, anyway.
Emily is the agent. Terminalia holds the contract they work under: Samantha decides what Emily can and can’t do, and Terminalia checks the contract on every request.
The story is fiction, for fun. The contracts, checks and refusals are real: a local test of Terminalia’s reference engine.
Emily may read the selected message and draft a reply. Sending is outside this contract.
Private preview. Book a demo and intro call ↗
The contracts, checks and refusals on this page, recorded by Terminalia’s reference engine in a local test.
Samantha’s inbox. Sending is simulated: no email account is connected.
A connected mailbox in the demo on this page.
Notey takes notes. Samantha gives Notey a separate contract for reading and writing notes. Giving Emily permission to send emails does not give Notey the same permission.
Read selected messages, prepare replies, and send when that capability is included in the contract.
message.readreply.draftreply.sendShown with the expanded email contract. The first contract allows reading and drafting; the replacement adds sending.
Read and write the notes Samantha selects. Notey has no permission to read or send email.
notes.readnotes.writeTerminalia refuses the request. Emily’s permission belongs to Emily; it doesn’t become Notey’s.
notes.writenotes.write is in Notey’s contract. Notey’s own work goes through.
reply.sendNotey’s contract does not include permission to send email.
Everyone has a place. Nobody has everyone else’s.
In most agent tools today the prompt is all there is: the agent decides what your words meant and acts with whatever access it happens to hold. That is hiring without an employment contract: all trust, no terms. It is why a copied prompt or an injected sentence can turn into an action. Terminalia keeps the two apart. The prompt says what to do. The contract says what the agent may do, and only you can issue it.
Emily’s contract came from Samantha. Terminalia checks the contract, not the conversation: however an agent is talked into asking, the answer comes from the contract. Widening it takes a new contract, and only Samantha can issue one.
Give one agent your email, another your notes, a third a budget. The budget agent takes instructions from you, not from an agent that ran out of something and found a wallet in the house.
Your agents may all be the same model under the hood, with different jobs. Their names don’t separate them; their contracts do. Copy Emily’s prompt into Notey and you have copied their instructions, not their authority. Terminalia checks the contract on every request, not the name.
Today’s agent tools can name who an agent is and what it may reach. Few tie each action back to the person who authorized it, and we haven’t found one that keeps an agent from leaning on another’s authority. Terminalia is being built for that gap. Method and software in development.
See Emily and Notey’s contracts, then compare the capabilities each agent is allowed to use.
These are screenshots of the Saturn workspace, showing Terminalia’s contracts and checks from a local test of its authorization code.

Local proof: six contracts verified across three stages (read-only, drafting, sending); Notey’s send requests refused at every stage. No email account is connected and no message is sent by this preview.
Samantha’s inbox is quiet. Emily reads and sends, inside their contract. Notey keeps the notes, inside their own. When Samantha changes her mind, she changes the contract, and the record shows who allowed what, and when.
Give each agent a job. Set their limits. See what happened. Change your mind when you need to.