Skip to content

Factories > Configure

Warp Factories 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, hosting, and run data so you own your factory's infrastructure and outputs.

Warp Factories runs on the infrastructure your team chooses. You decide where a factory runs code, which model providers serve its inference requests, where run data such as transcripts and artifacts is stored, and which credentials each agent receives. Warp coordinates the work the same way regardless of these choices.

Every factory splits responsibilities across two planes:

  • 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 or supported<br/>customer-owned storage"]

Self-hosting moves only the execution plane: with a managed self-hosted worker, repository checkouts, command execution, and the sandbox filesystem stay on machines you control, but content that enters prompts, results, transcripts, attachments, artifacts, or telemetry still flows through Warp and the providers you configure. See deployment patterns and self-hosting security and networking for the broader data model.

Two configurations define where and how a factory’s agents work:

ConfigurationDefinesKey settings
EnvironmentWhat an agent works on: the workspace and runtime contextRepositories, setup commands, secrets, toolchain image, and provider configuration
RunnerWhere the work executes: the computeOperating system, architecture, sandbox image, vCPUs, and memory

When a run starts, Warp resolves its compute in a fixed order: the runner the run selects explicitly, then the environment’s execution defaults, then the system default. Use environments to define the workspace; see the runner reference for compute options and resolution behavior. A factory references both through its definition as code.

The Runners page in the control room shows each runner’s operating system and architecture, setup commands, size, and whether it’s the default. Where you edit runners depends on where the factory’s source lives:

  • Externally managed source - The runners/*.yaml files in the connected repository are the source of truth, and edits open in that repository.
  • Warp-managed source - Authorized users create and edit runner files directly in the control room.

Your team’s plan sets the maximum instance shape (vCPUs and memory) for Warp-hosted runners, and Warp rejects hosted shapes above that limit. Managed self-hosted runners are exempt because your team supplies the compute.

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

Decision areaWarp-hostedManaged self-hosted
ComputeWarp provisions the sandboxYour team provisions the worker
Checkout and commandsRun on Warp-managed computeRun on your infrastructure
Control planeRuns through WarpRuns through Warp
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

To route factory work to a managed self-hosted worker (an Enterprise feature):

  1. Deploy a worker - Review the self-hosting requirements, then connect a worker that authenticates to Warp with an agent API key. Workers run on linux/amd64 and linux/arm64, and the worker’s platform determines which workloads it can run.
  2. Pair it with a compatible runner - Choose a runner that matches the worker’s platform.
  3. Select the worker in the factory definition - Set workerHost so the factory routes work to it.

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.

Choose execution, inference, and storage independently

Section titled “Choose execution, inference, and storage independently”

Execution, inference, and storage are independent choices: each moves one boundary and leaves the rest of the run flow with Warp.

Team choiceWhat it changesWhat stays with Warp
Execution: Warp-hosted or managed self-hostedWhere checkout, commands, and the sandbox filesystem runCoordination, configuration, observability, and inference routing
Inference: Warp-managed or customer-suppliedThe provider account, model routing, billing, and provider-side retentionRun coordination and inference routing
Storage: Warp or customer-ownedWhere supported transcripts, artifacts, and run attachments persistOrchestration, the write path, and other factory and control-plane state

Factory runs execute as cloud agents, so customer-supplied inference is limited to providers that support cloud agents. See team-managed model keys and endpoints and Bring Your Own LLM for the supported providers. When you supply the provider, provider-side retention follows your provider account and contract; Warp can’t configure or enforce it for you. The security overview covers Warp’s broader data handling.

For storage, eligible teams can keep the supported data classes above (transcripts, artifacts, and run attachments) in a customer-owned Amazon S3 or Google Cloud Storage bucket. Warp writes the applicable data to the bucket you configure, and your team owns the bucket’s access and lifecycle policies. Customer-owned storage doesn’t move all factory state into your account: configuration, run metadata, and other control-plane state stay with Warp.

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

CredentialUsed forBoundary
Inference credentialsModel provider requestsUsed only at the inference boundary; never injected into the sandbox
Execution secretsAPIs, package registries, and tools an agent usesDelivered 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 CodexConfigured 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 a team executor identity for unattended work

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.

Factories use your existing team roles: Team Owners and Admins control factory definitions, environments, runners, secrets, and provider configuration. Warp Factories doesn’t add a factory-specific approval role, so who reviews specifications and who approves merges stays a workflow and repository policy decision. Treat factory-definition changes as operational code: review them like any other change, and keep merge access with the people responsible for shipping.

Warp meters hosted compute, Warp-provided inference, and platform services. Managed self-hosted execution moves compute costs to your own infrastructure, and customer-supplied inference bills model usage through your provider account. Platform services consume credits regardless of these choices. See platform credits for details.

  1. Classify the workload - Identify the repositories, data, internal services, and regulated systems the factory can reach.
  2. Choose execution - Decide where checkout, commands, and the sandbox filesystem must run.
  3. Define environments and runners - Set repositories, setup commands, secrets, operating system, architecture, image, and compute.
  4. Choose inference and storage - Select provider routing and where supported run data persists.
  5. Scope credentials - Set each agent’s secret allowlist, harness authentication, and repository identity.
  6. Set review gates - Decide where humans review specifications and pull requests, and enforce those gates in workflow and repository policy.
  7. Validate operations - Test network egress, isolation, rotation, redaction, capacity, observability, and metering before increasing volume.