Skip to content
B BYOAg
Menu
Browse BYOAg
Draft

For platform builders

Expose a controlled environment, not an open back door

A BYOAg platform owns its accounts, roles, resources, permissions, tools, and final authorization decisions. The draft binding gives an external agent a narrow, revocable way to operate inside those boundaries.

Minimum protocol surface

Start with connection and signed engagements

The 0.1 connector discovers these surfaces from one exact platform origin. Endpoint paths are platform-defined except for the well-known discovery location.

/.well-known/byoag.json

Signed discovery metadata, protocol version, modes, endpoints, and JWKS URI.

JWKS

Same-origin public Ed25519 verification keys for signed protocol documents.

Pairing

Begin, complete, and optional confirmation-status actions.

Registrations

DPoP-authenticated registration revocation by platform-local identifier.

Engagements

DPoP-authenticated delivery of signed, registration-bound engagement descriptors.

Remote MCP

Future engagement-authorized platform action tools; not implemented by the reference host.

Discovery contract

Make the domain the trust anchor

Publish the document at the fixed path and sign it with an advertised same-origin key. Issuer, endpoints, and JWKS must remain on the requested origin in the implemented profile.

GET https://platform.example/.well-known/byoag.json
Accept: application/json

200 OK
{
  "protocolVersions": ["0.1.0"],
  "issuer": "https://platform.example",
  "endpoints": { "...": "same-origin URLs" },
  "jwksUri": "https://platform.example/...",
  "signature": { "...": "detached EdDSA JWS" }
}

Pairing mode A

Code is consent

Successful redemption of a short-lived, account-bound, single-use code completes registration. Enforce expiration, replay prevention, intended use, and per-connection rate limits.

Pairing mode B

Platform confirmation

Code redemption creates a pending request. The authenticated account holder approves it in first-party UI before the connector polls status with a fresh proof and receives the registration.

Registration issuance

Bind access to a specific installation key

Accept a new pairwise agent identity and a separate installation public key. Issue a credential bound to that installation key’s JWK thumbprint; do not rely on an unbound bearer token.

Human account

Platform-owned identity

The existing account remains the source of human authority and consent.

Pairwise agent

Platform-specific identity

Do not require a global agent identifier that enables cross-platform correlation.

Installation

Proof-of-possession key

Use the installation key to verify pairing and every credential-bound request.

Server-side enforcement

Authorize the call that is happening now

  • Re-evaluate the registration and engagement on every protected request.
  • Verify DPoP method, URI, public-key thumbprint, token hash, time, and replay identifier.
  • Enforce role, delegation, resource, rate, confirmation, and current platform policy.
  • Never treat tool discovery or an old descriptor as current authorization.
  • Return structured, non-enumerating failures and fail closed on revoked credentials.

Recommended sequence

Implement in testable layers

  1. 01

    Discovery and keys

    Publish signed metadata and a same-origin JWKS.

  2. 02

    Pair and revoke

    Add one-time consent and DPoP-bound registrations.

  3. 03

    Signed engagements

    Issue isolated contexts with narrowed delegation.

  4. 04

    Tool plane

    Then add capability-filtered, re-authorized actions.

Reference host

Use it as a test peer

The plugin includes a deliberately small in-memory host with signed discovery, both pairing modes, DPoP replay checks, two engagements, and revocation.

npm run reference-host

Do not deploy it

It is not an application template

All accounts, codes, registrations, tokens, replay IDs, and signing keys live only in process memory. It binds to loopback and intentionally omits production storage, UI, operations, and remote MCP actions.

Continue to schemas and conformance