Concept · Enforcement architecture

Transport is not authority

Interlock runs in three places. The way a decision is asked changes with the place. What makes the decision trustworthy does not change.

1Transport · changes

It asks the question

The transport sends the request to the controller. The controller answers allow or deny. The way it asks is different in each environment.

2Authority · constant

It gives the guarantee

The broker makes the evidence. The gate blocks the merge. This is the same in every environment.

Where Interlock runs
Environment Controller runs Hooks fire Extra setup Result
Local
laptop
On the laptop
stdio · stays local
Yes None Works
Local agent
Claude Code · Cursor
On the laptop
stdio · stays local
Yes None Works
Cloud sandbox
Claude Code remote · Devin · Codespaces
In the sandbox
stdio · stays local
Yes, after setup Hydrate the controller.
Wire the hooks.
Works after setup

In every environment the messages stay local. The sandbox does not need network access to decide.

The authority does not move
Broker

Makes the evidence

The broker makes hash-bound evidence. The broker does the protected action. The controller cannot fake this.

CI gate

Blocks the merge

The gate runs Interlock in CI. The gate blocks the merge if the check fails. The gate runs for every environment.

Fail-closed. If the controller does not answer, the result is  deny.
Set up the controller
Do not

Do not put the controller on another network. A locked sandbox cannot reach it. Then Interlock denies every action.

Do

Put the controller in the sandbox. Keep the messages local. Use a network controller only when a local one is not possible.

Remember

Controller = transport · Broker + gate = authority ← Back to Interlock