sharness.ai / the landscape / integration points · this page as markdown

Integration points: what each product stands in for, and what to translate

Status: a map of possibilities, as of 25 Oct 2026. No vendor has agreed to anything and nothing here has been run against a product. For each kind of product the market analysis found, this page says what it would stand in for in SHarness's terms, what a policy translates into on it, what SHarness would still add, and what to keep as is. The point is the one on the landscape: a distributed design that can mix and match enforcers under one policy hash.

1. Outer boundaries: microVMs and isolates

ProductStands in forA policy translates intoSHarness adds insideKeep
Docker Sandboxestopology B: a microVM per session with credentials injected outside itthe sandbox's network endpoints and files "defined before the run"; the memory row as the VM sizeper-component uids, Landlock, the edge matrix, the KMS so the injected credential is never in the agent's process eithertheir VMM, their credential injection as the upstream of sharness.kms
Firecracker, E2B, Fly Sprites, Vercel Sandbox, Cloudflare Sandboxesthe hardware ring around a kernel escapememory, CPU, disk; network: none as the VM's networkeverything inside the VMthe VM
Cloudflare Dynamic Workersan isolate, not a kernel: no Landlock or namespaces exist"outbound blocked by default" and credential injection at egress map to network and secretsnothing inside (no processes); the policy hash and audit could be carried as metadataas a target for the policy's network and secret rows only
Kubernetes Agent Sandbox, gVisor, Katatopology C: a pod per harness, identities from SPIREsecurityContext, resources, NetworkPolicy (policy translate --to kubernetes); SPIFFE IDs for the session CA's rolesthe components as containers in one pod, the KMS as its own DeploymentRuntimeClass for the outer ring

2. Shell sandboxes

ProductStands in forA policy translates intoSHarness addsKeep
Claude Code's sandbox (@anthropic-ai/sandbox-runtime)sharness.bash for one agent, transparentlysettings.json (policy translate --to claude-code): allowWrite, allowedDomains, strictAllowlist, allowUnsandboxedCommands: falsethe rows it cannot express (read allowlist, exec allowlist, ports, memory, pids), the built-in tools and hooks it does not cover, the launcher that makes its settings a Boundary rather than a Setting, the KMS behind its credential maskbubblewrap and its proxy as the stand-in until sharness.bash exists; managed settings for the organisation
Codex, Antigravity, Cursor sandboxesthe same for their agentstheir modes (read-only, workspace-write) from files.write; "network off" from network: nonethe samethe same
bubblewrap, nsjail, landrunthe primitives sharness.bash would usea command line (policy translate --to bwrap); landrun takes Landlock rules directly, including TCP portsa server outside the orchestrator's domain so the sandbox cannot be skipped (E06)the primitives
NVIDIA OpenShell / NemoClawsharness.bash plus sharness.llm plus credentials outside the sandbox, for one agentits network, filesystem and process policy; approved destinationsper-component split, the edge matrix, the policy hashits managed inference as a sharness.llm back end

3. Tool and MCP gateways

ProductStands in forA policy translates intoSHarness addsKeep
ToolHiveone harnessed app per MCP server with fs and netits JSON permission profile (paths, hosts, ports) and --isolate-network; its Cedar authorisation for business rulesthe uid, Landlock and seccomp inside the container; the policy hash; the KMS for the servers' secretsits profiles as the first translation target for P2
Docker MCP Gatewaythe same, with secrets injected only into the container processper-tool container settings, --block-secretsthe sameits signature verification of images (the "code hash" line of the manifest)
Wassettea tool as a Wasm component with deny-by-default capabilitiesthe policy's files and endpoints as Wasm capabilitiesnothing for tools that compile to Wasm; the rest of the harness around itit, for those tools

4. LLM gateways and key holders

ProductStands in forA policy translates intoSHarness addsKeep
LiteLLM, Portkey, Kong, Helicone, Bifrostsharness.llm's routing, budgets and observabilitymodel allowlist, token budget, virtual keysthe lock (its own uid, no files, one port), the pinned tool list, the secret filter on tool results, the real key from the KMS, the policy hashthem behind sharness.llm, or sharness.llm as a thin policy front for them
Cloudflare AI Gateway, OpenRouterkey custody at a providerbring-your-own-key as the thing the KMS holdsthe samekey custody as the upstream

5. Secrets, identity, confidential computing

ProductStands in forA policy translates intoSHarness addsKeep
1Password's credential broker, Infisical's agent proxy, hoophq Cloak, OpenClaw secretssharness.kms's delivery half: the agent sees a placeholderthe secret rows: which placeholder maps to which hostthe KMS that never returns the clear key at all (the broker still holds it in a proxy the agent can reach); sealing to one-time keysthe broker as the upstream
HashiCorp Vault, AWS Secrets Manager and KMS, AgentCore Identitythe lasting key store behind a session's KMSthe sealed handover's recipient; seal_to targetsthe session identity, the nonce record, the binding to the callerthem as topology D
SPIFFE/SPIRE, Teleport Machine IDthe issuer of the per-component certificates on Kubernetesthe role URIs in the SAN (already SPIFFE-shaped)the edge matrix checked on both sidesthem as the CA in topology C
Okta Cross App Access, Entra Agent ID, Keycard, Oasisthe agent's identity to SaaSnothing in the policy today; a future identity rownothing; they do not confinethem
TEEs (Phala, confidential inference)protection from the operator, a different questionnothingnothingthem, orthogonal

6. Guardrails, authorisation engines, enterprise platforms

ProductStands in forA policy translates intoSHarness addsKeep
NeMo Guardrails, Lakera, Invariant, LlamaFirewall, Prompt Shieldsjudgement about intent on an allowed channelnothing: they are not policy rows; sharness.llm and the tool components can call themthe kernel bounds that hold when the classifier is wrongthem, at sharness.llm
Cedar, OPA, OpenFGA, Permit, Osothe business rules of fs, net and kms (ops, vault ids, approvals)the policy's business section as Cedar or Rego, where a product already evaluates itthe enforcement in a separate processthem as the decision point
Zenity, Obsidian, HiddenLayer, Prisma AIRS, Cisco AI Defensemonitoring, and blocking at API hooksthe audit lines, the policy hash and the barrier kinds as OpenTelemetry or OCSF traces (OWASP's Agent Control Standard)a kernel-level boundary for their dashboards to point atthem as the consumer of the traces

7. Ruflo and ruv.sgit

rUv's stack and the sgit.ai network's integration with it have their own page: Ruflo and ruv.sgit. In one line: ruv.sgit compiles a written mandate per agent into Ruflo's policy engine (a Setting, in the agent's process); SHarness would enforce the same mandate below the agent (a Boundary), with each hive worker a harnessed process under its own policy.

8. What this page does not claim

Every row is a reading of a product's public documentation on the date the market analysis read it, and a design intent on SHarness's side. Nothing is integrated. The order to try them in is the one on the landscape: the shell sandboxes first (the translation already exists), then ToolHive's profiles for tools, then the Kubernetes topology.

Sources: the market analysis and its sources; Components: two ways for an app to be compatible; Architecture: deployment topologies; Enforceability.