The evaluation pack

Ordered by a security reviewer's approval checklist. Every claim on this page is written in its reconciled form and traces to a named design-corpus anchor — a claim without one does not appear here. Each section is downloadable as its own document.

01

Architecture one-pager

Shipped

A governed access layer for MCP: one endpoint, one identity, every tool call authenticated, authorized, metered, audited, and schema-verified before it reaches a backend. The pipeline runs the same order for every call, on every client: auth → view → schema-pin → policy → rate-limit → breaker → credentials → trace → backend → redact → audit.

No token passthrough, structurally: the downstream credential cannot reach an upstream request because no API exists through which it could.

Kill switch: disable a tool or backend and it is dead on the issuing replica immediately, cluster-wide ≤2s via NOTIFY in the healthy case, ≤30s guaranteed via the poll backstop; per-replica epoch lag is visible in ready-detail — a lagging replica can never be silent.

Rate/quota honesty: hard caps enforced within a +5%-per-replica local-allowance tolerance (worst case N×5% overshoot); allowance: 0 buys exact per-call accounting at a latency cost; strict limits fail closed on store outage, non-strict fail open with alarm — a documented choice, not an accident.

Anchor: 02-architecture; 00-FINAL-GOAL.md §5 #1/#3/#5/#6/#10/#12

Download the full document (.md) →
02

Identity federation (SSO)

Design-locked, verification pending

The ID-JAG federation seam is locked in the design corpus, not yet verified against a real customer identity provider: the jwt-bearer grant on /token honestly returns unsupported_grant_type until a customer's IdP tenant exercises it.

The property this seam guarantees: humans authenticate at your IdP; ToolHost's authorization-server facade remains the sole mint for agent tokens; the IdP never mints gateway tokens. The resource server is unchanged by federation.

Anchor: 03-engineering-design/01-identity-auth.md §6.3, §8 (L4 row)

Download the full document (.md) →
03

Tenancy & RBAC — isolation matrix

Shipped

Visibility (private/team/org) and role (view/execute/approve/manage) are independent axes — a visibility check passing contributes nothing to an action check.

Every governed row is org-keyed through a store layer that composes the filter itself; cross-tenant reads 404 indistinguishably from nonexistence; forged team claims are rejected; audiences never cross.

Revocation and staleness, exactly: key revocation and principal status-flip bind ≤30s (hot-path liveness). Team membership is a mint-time snapshot bounded by token TTL — 1h default, 15m compliance profile; removal keeps allows up to one TTL, leaving sheds team denies at re-mint; durable prohibitions belong at org level; the hard cut is key revocation or status flip.

Anchor: 03-engineering-design/02-tenancy-rbac.md §6–7; 00-FINAL-GOAL.md §5 #7/#9; 06-flows/09 S4b

Download the full document (.md) →
04

Key custody & rotation

Not yet implemented

The 85-minute rotation mechanics and failure-mode tests exist for the local signing provider. KMS/HSM signing, persisted rotation state, and a production custody boot gate are not yet wired; ToolHost therefore makes no production KMS/HSM, crypto-custody, or HA signing claim today.

Anchor: 03-engineering-design/01-identity-auth.md §7 (advisor-locked); 00-FINAL-GOAL.md §5 #8

Download the full document (.md) →
05

Evidence & export

Shipped

No call without evidence: no code path reaches a backend without a sealed envelope; an ok call carries all stages, a denial carries executed stages with the denying record last; a ring overflow is itself an evidenced gap record in the export.

Rate/quota honesty: hard caps enforced within a +5%-per-replica local-allowance tolerance (worst case N×5% overshoot); allowance: 0 buys exact per-call accounting at a latency cost; strict limits fail closed on store outage, non-strict fail open with alarm — a documented choice.

Anchor: 03-engineering-design/07-observability-evidence.md §1–3, §7; 00-FINAL-GOAL.md §5 #2/#5

Download the full document (.md) →
06

Data handling

Dual-posture, legal-gated

Decision metadata (stage outcomes, taxonomy, timings) is stored plaintext for mandatory-retention obligations; tenant-identifying payload is encrypted per-org. Deleting an org's key is designed to render its encrypted rows permanently unrecoverable.

Legal sign-off on this posture is deferred to pre-launch (DN-ARCH-1). Until it clears, the default operating posture is retain-everything within your org's retention window — the crypto-shred mechanism is built and tested, but the deletion step of the offboarding runbook is marked legal-gated, not executed by default.

Anchor: 03-engineering-design/07-observability-evidence.md §7 (DN-ARCH-1)

Download the full document (.md) →
07

Deployment profiles

Dual-posture, legal-gated

Three first-class supported shapes on one config schema: single binary + local dev, Docker Compose + Postgres (reference production), and Kubernetes manifests (enterprise).

Until the shared-store cutover passes its conformance tests, the product claims single-replica + fast restart — never high availability. Listing a Kubernetes manifest is not the same claim as multi-replica HA; the two are decoupled on purpose, and this page will say so plainly the day they converge.

Anchor: 01-product-spec/02-capabilities-enterprise.md E-HA-1/E-HA-3; 00-FINAL-GOAL.md §8 item 8

Download the full document (.md) →

Ready to evaluate?

Talk to us before the first meeting — every artifact above is meant to answer your first ten questions in writing.