The Control

Defined at Design Time. Enforced at Runtime.

Before an agent acts, "what may it do?" needs an answer the platform enforces, not a policy memo. Who is acting, what it may touch, which decisions stay human, which models may run. Most tools watch agents and report afterward. Ariad checks before a system of record is touched.

Part two of three · The work · The control · The proof
THE CONTRACT · DEFINED AT DESIGN TIMEYOUR SYSTEMS OF RECORDTHE MEMBRANE · ENFORCED AT RUNTIMEReliability contractrsh-01 · research-agent-02 · v3 · validatedbound_to:client-issue-resolutiondefault:denyallow:case_system.read, crm.readdeny:crm.write, ledger.*block:PII.ssn, PII.dob, card.pangates:credit > threshold → ownermodels:registry.approved · pinnedenforced:at runtime, every actionexplicit deny beats explicit allow beats default denyAGENTresearch-agent-02its own provisioned identity, never a borrowed loginread case historyCase systemread · 14 records · PII maskedALLOWEDapprove credit above thresholdCRM · accountwaits on the named ownerGATEDwrite to the ledgerLedgernever reached · attempt recordedBLOCKEDsigned into the packJAJ. Alvarez · ownerthe packet: recommendation, evidence, tracethe fastest test of a control plane: show me a blocked actionANY ATTEMPTED ACTION RESOLVES ONE OF THREE WAYS. NEVER A FOURTH.
What this part answers

What Is This Agent Allowed to Do, and What Stops It?

Who is acting

Every agent acts as itself, never on a shared credential or a person's login. Identity comes from your identity provider; nothing has access until you grant it.

What it may do

Default-deny contracts, bound to the outcome, enforced before execution. Drift between stored and enforced is surfaced, never tolerated.

Which decisions stay human

Gates designed with your risk partners and made safe to wait for. The run holds; nothing downstream runs; the wait is on the record.

01The control plane · checked before execution
Three resolutions

Any attempted action resolves one of three ways. Never a fourth.

Allowed: it ran, signed, into the pack. Blocked: it never reached the system, and the attempt is visible. Gated: it waits safely for a named person. The check happens before execution, not in a report the next morning.

  • Scopes set what an agent can ever touch; the contract bounds behavior on top of them
  • Both act before execution
In the product: Contracts · Integration Control · Action Center
AN ATTEMPTED ACTIONupdate-agent writesa note to the CRMCONTRACT CHECKbefore executionALLOWEDran · signed · in the packCRM.NOTE.WRITE · OKBLOCKED AND VISIBLEnever reached the systemDENIED: CRM.ACCOUNT.DELETEPAUSED AT A GATEholds safely for a personCREDIT ABOVE THRESHOLD · MARIA R.
02Contracts and identity
Reliability contracts

Default deny. Bounded to the outcome. Written in terms the platform can check.

A contract sets the sources, tools and data an agent may use, with PII blocked, and is enforced on every call, including on a console. Explicit deny beats explicit allow beats the default, which is deny. The only ways out are a new validated version or a one-time expiring exception, both on the record.

  • Contracts are validated at build time against the spec; an agent not on the approved version is flagged
  • Versioned like code, pinned to in-flight work: a change made Tuesday cannot rewrite work that started Monday
In the product: Contracts · Provisioned identity
Contract · reliability contract
contract: rsh-01 # research-agent-02 · v3 · validated at build
bound_to: client-issue-resolution
default: deny
sources:
  allow: [case_system.read, doc_store.read, crm.account.read]
  deny: [crm.account.write, ledger.*]
data_types:
  block: [PII.ssn, PII.dob, card.pan]
tools: allow: [summarize, classify]
gates: [credit > threshold → owner, regulatory_complaint → owner]
models: registry.approved · pinned
enforced: runtime · before each action
explicit denybeatsexplicit allowbeatsdefault: deny
drift surfaced · stored v3 ≠ enforced v2 on agent-11Governance Desk: reconcile · re-validate · re-pin
Contractsthe only governed exits: a new version, or a one-time expiring exception, both on the record
Per-agent identity

Every agent acts as itself. Ariad creates no identities of its own.

Ariad federates to your identity provider; nothing has access until you grant it. Most enterprises give each agent its own service account. Where policy does not allow that yet, scoped tokens per integration keep the same boundary and people execute the steps that touch systems of record.

  • Effective reach is the intersection of identity, tool grants and contract
  • Never a shared credential, a borrowed session or a person's login
In the product: Provisioned identity · your identity provider
REACH = IDENTITY ∩ TOOL GRANTS ∩ CONTRACTall three, checked before executionREACHall threeIdentityfrom your identity providerTool grantsfrom your administratorContractfrom plan review, versioned and pinnedidentity only · no reachNEVER QUALIFIESa shared accounta borrowed sessiona person's login
A blocked action

The fastest test of whether a control plane exists at all.

Ask any vendor: when an agent is blocked, where do you see it? If the answer is "it hasn't come up," nothing is being enforced. Ariad records every blocked action: the agent, the attempt, the rule that stopped it, the signature. Under Complete, the Governance Desk handles each one.

  • Blocked before the system was touched, not flagged after
  • Visible to the outcome owner and in the evidence pack
In the product: Activity log · Decision traces
Blocked action · the record
agentupdate-agent-04 · own identity
attemptedcrm.account.delete · 09:41:07
rulecontract upd-02 · explicit deny · crm.account.*
resultblocked before the system was touched
visible tooutcome owner · Governance Desk · the evidence pack
signature7c1d…e90a · verified
"show me a blocked action" is the fastest test of whether a control plane exists
03Human gates and intake
Human gates

The decisions that stay human, made safe to wait for.

Where the consequence is high, the plan puts a gate: a named owner gets the recommendation, the evidence and the trace in one packet. The run holds until they decide. Business decisions are always your people's. Operational gates, under Complete, are the desks' with authority you delegated.

  • Thresholds, regulatory exposure and the final client response are marked before anything runs
  • Approve, delegate, request more evidence, or send back
In the product: Action Center · Approval packets
Human gates · Action Center
Goodwill credit above threshold
routed to Maria R., outcome owner · recommendation, evidence and trace attached
held 46 min
nothing ran meanwhile
Accountability gateA decision that belongs to your business. Always staffed by your named owner. Approve, delegate, request more evidence, send back.
Operational gateA decision inside the machinery: a deployment approval, an exception disposition, an integration change. Under Complete, the desks staff these under authority you delegated at design time.
Both kinds are recorded, including rejections. Approvals arrive where your people already work.
Approval packetsa gate is part of the design, not a workaround bolted on when someone gets nervous
Provisioning and intake

Nothing runs that was not reviewed in.

Nothing deploys until the contract is validated, permissions are scoped, gates are owned and the version is pinned. Plan changes arrive as diffs for approval. Agent configuration is reviewed in place, with the model chosen from your approved set.

  • Intake is a checklist the platform enforces, not a meeting
  • Model gateway and registry: your keys, your approved models, assigned per agent by risk and cost; gateway coverage is emerging and we mark it that way
In the product: Agent configuration review · Model registry
Provisioning and intake
Contract validated against the specv3 · build time
Permissions scoped to least privilege4 tools · 3 sources
Gates placed and owned2 gates · Maria R.
Version pinneddef-of-done v2 · contract v3
Identity issued by your identity providerown identity · scoped
Deployment: onnothing runs that was not reviewed in
deployment stays off until every line is true
Outcome delivered · attributed

Change control at a major credit card issuer, run to a definition of done with the approvals built in.

Every change under contract, every approval a named gate, every step signed. The cycle moved because the controls moved with the work.

90%reduction in change-control cycle time. Use case: Change Control Transformation, Major Credit Card Issuer.
The Scaffolding Map, the field guide behind these pages, is available to teams evaluating Ariad.Ask for the field guide
Questions risk teams ask

In Your Words.

Can an agent widen its own access?

No. Reach is identity, tool grants and contract together, enforced before execution. Changing any of them is a change a person approves.

What happens while a gate is waiting?

The run holds and nothing downstream executes. The owner can approve, delegate, ask for more evidence or send it back. A three-day approval costs three days, not a rerun.

How do we know which agent did what?

Each agent has its own identity from your identity provider. Every action in the pack is attributed to that identity or to a named person.

Our policy does not allow service accounts for agents. Does this still work?

Yes. Scoped tokens per integration keep the same boundary, and your people execute the steps that touch systems of record.

Will the same case be handled the same way next time?

Model settings are declared and pinned, contracts and gates are enforced the same way every run, and the evidence shows exactly what happened. Your reviewers verify it run by run.