Steer Protocol
Understand

Trust Boundaries

Separate user custody, signer custody, admin authority, solver execution, and public app state.

Most integration bugs come from blurring trust boundaries. The system has several actors that can all appear in one user flow but must not share custody.

Boundaries

BoundaryHoldsMust not hold
Browser apppublic manifests, user intent, wallet connectionsigner keys, deployer keys, solver secrets
Quote serversigner custody, policy checks, route inventoryadmin keys unless deliberately separated and audited
Solverorder execution credentials and replay stateuser wallet custody
Admin walletprivileged contract authorityroutine quote-serving responsibility
Operatorlogs, health checks, restart accessunilateral protocol authority

Practical Rule

If a value can mutate privileged state, sign settlement material, or drain inventory, keep it out of browser-safe configuration and out of generic operator dashboards.

Source Files

  • script/testing/check-interface-secret-boundary.mjs
  • quote-server/src/config.ts
  • interface/src/
  • src/

On this page