Scoped bindings

Select the correct Resource or Credential for an authenticated tenant, customer, or principal.

explanationFor agent developers, platform architects, tenant administratorsOwner Constal platform teamVerified 2026-08-20

A scoped binding is controlled indirection between an authored logical dependency and an exact runtime target. It allows one agent deployment to serve many owners without accepting Resource or Credential identities from agent input.

Assignment key

text
(namespace, target class, logical key, owner kind, owner identity)
  → target CRN, target hash, binding revision, control state

The consumer authors the target class, key, owner scope, and—when selecting a Resource—an immutable Resource contract. An operator creates assignments for exact owners.

Owner scope

ScopeOwner selected from authenticated authorityTypical use
TenantParent tenantShared API key or internal service
CustomerMapped Customer CRNEach downstream company's GitHub installation or database
PrincipalDerived Principal CRNPer-user OAuth grant

The Console defaults a new assignment to tenant scope, but every selector and assignment stores its scope explicitly. There is no fallback: a missing principal binding does not use a customer or tenant Credential.

Resource assignments

An Agent's scoped Resource selector maps a local name such as github to an invokable Resource. Resolution verifies that the target Driver and operation catalog match the authored Resource contract.

text
Agent key github + customer Acme → service/github-acme
Agent key github + customer Globex → service/github-globex

Credential assignments

An invokable Resource can declare a scoped Credential slot. The slot maps a logical key to an exact Credential:

text
Resource slot github-token + principal Alice → credential/github-alice-oauth
Resource slot github-token + principal Bob   → credential/github-bob-oauth

The Agent does not receive these CRNs or secret values. The Broker resolves them at Resource invocation.

Runtime guarantees

Before accepting the run, Constal:

  1. derives the exact owner from authenticated authority;
  2. loads the enabled assignment head;
  3. authorizes binding:use;
  4. verifies target tenant, hash, and contract;
  5. attaches target Policies;
  6. pins the resolution and Policy decision into run identity.

Reassignments affect future resolution. They do not silently rewrite an already accepted run. A controlled rebind is an explicit safe-point operation.

Configure an assignment

In Credentials → Bindings, select New binding. Enter the logical key authored by the Agent or Resource, choose the owner scope, then select the exact target. Resource targets require a matching contract. Credential targets must be Credential Resources in the same tenant boundary.

Use Disable to pause an assignment reversibly and Revoke when it must never be used again.

Security rule

Never accept an assignment key, owner, target CRN, or Credential CRN from untrusted agent input as a substitute for a scoped selector. The authenticated authority and authored contract choose the lookup; input does not.