Skip to content

Factories > Infrastructure

About factory infrastructure and security

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Warp Factories gives you control over inference and execution hosting while Warp stores run records, transcripts, and outputs.

Warp Factories separates execution, inference, and credential boundaries. You choose where code runs, which providers serve inference, and which credentials each agent receives. Warp coordinates the work and stores transcripts and artifacts.

Warp manages coordination, while a Warp-hosted sandbox or a worker on your infrastructure executes the work. These responsibilities form the control plane and execution plane:

  • Control plane - Warp coordinates runs, identity and configuration, observability, integrations, storage, and inference routing.
  • Execution plane - A Warp-hosted sandbox or a managed self-hosted worker checks out code, runs setup, invokes tools, builds the project, and executes commands.
flowchart LR
  I["Integrations and triggers"] --> C["Warp control plane<br/>coordination · identity/config<br/>observability · inference routing"]
  C --> H["Warp-hosted sandbox"]
  C -->|"task, config, and scoped<br/>runtime credentials"| S["Managed self-hosted worker"]
  H -->|"results, transcripts,<br/>artifacts, telemetry"| C
  S -->|"results, transcripts, attachments,<br/>artifacts, and telemetry<br/>can contain code context"| C
  C --> P["Warp-managed or<br/>customer-configured inference"]
  C --> D["Warp-managed storage"]

With managed self-hosting, repository checkouts, commands, and sandbox files stay on machines you control. Prompts, results, transcripts, attachments, artifacts, and telemetry still flow through Warp and can contain code context. The Warp Agent sends model requests through Warp to the configured inference provider. Claude Code and Codex call their providers directly from the execution environment. See deployment patterns, execution security, and data security and boundaries for details.

Self-hosted data security and boundaries diagram showing what stays in customer infrastructure, what Warp retains, and what transits Warp to model providers

A runner selects the operating system, architecture, sandbox image, and vCPU and memory shape. The factory’s definition supplies repositories, setup commands, and secrets. The factory definition sets the default runner with agentDefaults.runner. Individual agents and automations can override that default.

The execution host determines how runner settings apply. Self-hosted runner settings don’t provision capacity. See Runner settings by execution host for a settings comparison.

A factory runs its work on one of two execution hosts: Warp-hosted compute, or a worker in the managed self-hosting architecture.

Decision areaWarp-hostedManaged self-hosted
ComputeWarp provisions the sandboxYour team provisions the worker
Checkout and commandsOn Warp-managed computeOn your infrastructure
NetworkWarp manages sandbox connectivityThe worker connects outbound to Warp; no inbound firewall port
Private servicesMust be reachable from the hosted sandboxReachable through the worker’s network access
OperationsWarp manages capacity and lifecycleYour team manages capacity, isolation, updates, and availability

Managed self-hosting requires an Enterprise plan. Workers run on linux/amd64 and linux/arm64, and the runner must match the worker’s platform.

See the managed prerequisites for credentials and network access, and the Self-hosting quickstart to connect a worker. The factory definition selects the connected worker with workerHost. For a complete configuration with a compatible runner, see 07-self-hosted-worker.

Unmanaged self-hosted agents and other CLI agents can’t serve as a factory’s execution host, but they can exchange work with a factory through Factory MCP.

The worker backend sets isolation and scheduling on your infrastructure:

BackendHow factory runs execute
Docker (default)In a separate Docker container on the worker host
KubernetesAs a Kubernetes Job in the worker’s namespace
DirectIn a separate workspace on the worker host, sharing its OS and kernel

For backend selection guidance, including Command and one-shot Direct options, see Choosing a managed backend.

Execution hosting doesn’t select inference. Configure that boundary separately.

Factory agents execute as cloud agents. For runs using the Warp Agent, support varies by inference option:

OptionSupport for factory runsTeam controlsKey boundary
Warp-managed inferenceSupportedThe model selected for each agentWarp provides the provider account and charges your available usage
Team-managed keys and endpointsSupported on Business and EnterpriseShared OpenAI, Anthropic, or Google keys, or an OpenAI-compatible endpointWarp encrypts stored credentials and uses them only at the inference boundary. They never enter the worker or run environment.
BYOLLM: AWS BedrockSupported on EnterpriseThe AWS account, IAM role, available Claude models, and provider billingWarp assumes your IAM role through OIDC; inference runs in your AWS account
BYOLLM: Gemini EnterpriseNot supported for factory runsInteractive inference in your Google Cloud projectGemini Enterprise BYOLLM currently supports interactive agent requests only

Personal BYOK and personal custom inference endpoints are stored on a member’s device and don’t apply to factory runs. With team-managed keys and endpoints, select a specific provider model or endpoint. Auto continues to use Warp-managed inference. Your provider’s retention follows your account and contract. Warp can’t enforce ZDR for that provider.

A factory handles four kinds of credentials, each with its own boundary:

CredentialUsed forBoundary
Inference credentialsModel provider requests from the Warp AgentCredentials are used only at the Warp–provider boundary and never injected into the sandbox.
Execution secretsAPIs, package registries, and tools an agent usesSecrets are delivered from an explicit per-agent allowlist. Factory agents that don’t act as a specific user receive no managed secrets by default.
Harness authenticationThird-party harnesses such as Claude Code or CodexCredentials are used inside the execution environment for direct provider calls. This authentication is configured separately from the agent’s secret allowlist.
Repository identityChecking out code and pushing changesRuns act with the creating user’s authorization (changes are attributed to them) or as the agent itself for unattended work. The definition’s credentialStrategy sets this behavior.

Scope each credential to the resources and actions its agent needs. Warp redacts known secret values at output boundaries, but redaction is a backstop, not a substitute for narrow external permissions and rotation. See Cloud agent secrets, harness authentication, Secret Redaction, and team identity for the underlying controls.

Factory creation uses the team-level Warp Factories role. Team and workspace admins and team-level Editors can create factories.

Three roles govern an existing factory:

RolePermissions
UserView and run the factory. Propose definition changes.
EditorEdit the definition and configure agents, repositories, and automations. Attach existing integrations, secrets, and MCP servers. Select existing runners.
AdminManage members. Delete the factory. Force-merge blocked definition changes.

Team and workspace admins and owners always have the Admin role. Factory admins manage roles within their factory. Team and workspace admins manage the team-level Warp Factories role.

Managing shared runners and connecting team-wide integrations and providers require separate team or workspace permissions.

Factory roles don’t control specification or pull request review. For factory definition changes, treat the files as operational code and protect merges through repository settings.

Warp meters hosted compute, Warp-provided inference, and platform usage. Self-hosting removes Warp-hosted compute charges, and customer-supplied inference is billed directly by your provider. Platform charges still apply in both cases, and Warp’s totals don’t fully reflect external inference costs.

  1. Classify access - Inventory repositories, data, and services.
  2. Set boundaries - Choose execution and inference hosts.
  3. Scope credentials - Configure allowlists, harness authentication, and repository identity.
  4. Enforce review - Protect factory-definition and pull request merges.
  5. Validate operations - Test egress, isolation, rotation, capacity, observability, and metering.