- Protocol
- MCP
2026-07-28, stateless Streamable HTTP with JSON responses, at POST /mcp, with constrained 2025-11-25 handshake compatibility for verified clients. - Authentication
- OAuth authorization code with PKCE S256 for interactive clients, plus separate expiring automation credentials. Only token digests and safe session metadata are stored.
- Identity
- Organization, principal, client, environment, and scopes are derived from the connected session or automation credential. No caller-supplied tenant selector exists.
- Connected sessions
- Exact client, member, environment, and tool consent; 15-minute access tokens; rotating refresh tokens; family revocation on replay; inventory and next-request revocation across replicas.
- Release
- Immutable canonical bundle containing one to 25 reviewed tools from no more than five exact source revisions, with a SHA-256 digest, HMAC-SHA-256 signature, publisher, and static-assessment snapshot. Verified before every request.
- Source lifecycle
- Immediate or fixed-interval discovery checks create immutable evidence and field-level semantic diffs without calling tools. Explicit acceptance is required before a reviewed revision changes; candidate evidence, atomic inactive publication, activation, and rollback remain separate.
- Upstream authority
- Anonymous, write-only shared bearer, or per-member OAuth is declared in each immutable tool contract. OAuth grants use authorization code and PKCE S256 and bind one member, named environment, and source. AES-256-GCM token ciphertext stays server-side; serialized refresh and disconnect are effective across replicas. Automation never receives member authority.
- Discovery
tools/list returns only the tools the connected session or automation credential allows.- Authorization
- Deterministic. The resolved organization must match the release, the tool must be present, and the caller must hold the exact required scope.
- Destination
- One reviewed public HTTPS endpoint per tool. Redirects, literal IPs, private resolutions, and caller-selected hosts are rejected.
- Network
- DNS resolution checks, non-public addresses rejected, no redirects, no proxy inheritance, TLS 1.2 minimum.
- Limits
- Release-defined timeout, a maximum
256 KiB upstream result, and a 1 MiB MCP request body. - Output
- Output-schema validation and normalized structured content. The built-in read also applies an explicit projection and field redaction. Public errors never reflect submitted values.
- Audit
- Hash-linked events per execution in PostgreSQL. No raw payloads and no secret values.
- Tenancy
- Forced row-level security on tenant-owned tables. Published releases and source revisions are immutable.
- Failure mode
- Fails closed. If release verification, policy, validation, audit persistence, or a dispatch control cannot complete, nothing is sent upstream.
Every row describes the deployed enforcement boundary. Verified against the live endpoint on 2026-10-14.