Skip to content

Factories > Infrastructure

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 and execution hosting while Warp stores run records, transcripts, 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, and which credentials each agent receives. Warp coordinates the work and stores run data such as transcripts and artifacts.

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-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 configured providers. See deployment patterns, execution security, and the data security and boundaries reference 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. Define runners in runners/*.yaml; agentDefaults.runner sets the default, and agents and automations can override it. The execution host determines how each setting is used:

SettingWarp-hostedDirectKubernetesDocker
platform.os, platform.arch, platform.mac.versionSelects the sandbox OS, architecture, and macOS VM versionDoes not configure the host; the worker host determines the platformUse Linux; the cluster and pod_template schedule nodesUse Linux; the Docker daemon determines the architecture
platform.linux.dockerImageLinux sandbox imageIgnoredTask and setup container imageTask container image
platform.linux.registryCredentialSecretNameWarp-managed private-registry credentialIgnoredIgnored; use imagePullSecretsIgnored; configure registry credentials on the worker, such as in its Docker config
instanceShapeSandbox size, subject to plan limits; omitted uses the workspace defaultIgnored; the task uses host resourcesTask-container requests and limits; overrides matching pod_template resources; omitted keeps template or cluster defaultsTask-container limits; omitted adds no limits

Self-hosted runner settings do not provision worker capacity. Worker configuration controls host resources, registry authentication, volumes, node placement, and other backend policy.

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 commandsRun on Warp-managed computeRun on 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

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 a self-hosted worker 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.

For a working definition with workerHost set and a platform-matched 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.

Factories use managed self-hosting, so Warp still orchestrates their runs. The worker backend sets isolation and scheduling on your infrastructure:

StructureHow factory runs executeWhat your team operatesUse it when
Docker (default)In a separate Docker container on the worker hostThe worker daemon, host, Docker daemon, images, capacity, and container policyDocker is available and you want per-run container isolation without Kubernetes
KubernetesAs a Kubernetes Job in the worker’s namespaceThe worker deployment, cluster, namespace RBAC, scheduling, admission policy, and capacityYour team already operates Kubernetes or needs cluster-native policy and scheduling
DirectIn a separate workspace directly on the worker host, sharing its OS and kernelThe worker daemon, host security, dependencies, capacity, and cleanupA container runtime isn’t available or runs need direct access to host resources

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

Factory agents execute as cloud agents, so only inference options that support cloud agent runs apply:

OptionSupport for factory runsTeam controlsKey boundary
Warp-managed inferenceSupportedThe model selected for each agentWarp provides the provider account and bills model usage with Warp credits
Team-managed keys and endpointsSupported on Business and EnterpriseShared OpenAI, Anthropic, or Google keys, or an OpenAI-compatible endpointWarp stores the encrypted credential and uses it only at the inference boundary; it never enters 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

Self-serve BYOK and custom inference endpoints are stored on an individual 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. When you supply the provider, its retention follows your account and contract, and 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 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 the agent itself for unattended work; set by the definition’s credentialStrategy

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 members with the team-level Editor role can create factories.

Three roles govern an existing factory:

  • User - View and run the factory, and propose definition changes.
  • Editor - Configure the factory, its agents, repositories, automations, integrations, secrets, MCP servers, and runners.
  • Admin - Manage members, delete the factory, and force-merge a blocked definition change.

Team and workspace admins and owners always have the Admin role. Admins for a factory manage its roles; team and workspace admins manage the team-level role.

Creating or editing shared runners and connecting team-wide integrations and providers remain team or workspace permissions. Factory roles don’t determine who reviews specifications or approves pull request merges; those stay in workflow and repository policy.

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.