Evaluate

Dedicated

On this page

What an installation is

An installation is a complete Valet in one dedicated AWS account, with its own network, database, storage and secrets. It shares nothing with other customers or with Valet's cloud. People build the same way they do in the cloud: they publish artifacts, apps and agents with the same CLI, MCP server and dashboard.

Two ways to run it

Valet runs it for you. Valet sets up a managed, dedicated installation and operates it, including upgrades and monitoring. It runs in an AWS account Valet keeps for you alone. Valet engineers have administrator access to that account to operate it, and each shell session they open into Valet's services is logged in the account.

Your team runs it. Valet engineers ship releases, and your operations team installs and upgrades the installation in your own AWS account, on its own schedule.

Either way, your administrators run your organization: members, connectors, resources and governance, through the dashboard, CLI and MCP server.

To talk about which fits your company, email support@valet.dev.

What runs in the account

VPC

Used for
Your existing network, with private subnets in two Availability Zones

Elastic Load Balancing

Used for
One internal Application Load Balancer: HTTPS for every Valet host, artifacts and apps included

Route 53 and Certificate Manager

Used for
A private DNS zone, and TLS certificates for the installation's domain and each organization

RDS for PostgreSQL

Used for
Valet's database

S3

Used for
Published files, uploads and Valet's catalog

EFS

Used for
The version history of every artifact, app, agent and skill

Secrets Manager

Used for
Valet's secrets and encryption keys

ECS on Fargate

Used for
Valet's services, and an isolated task for each running agent, app process and build

CloudWatch Logs

Used for
Logs

Everything sits in private subnets with no public address. The load balancer is internal, so nothing in the installation faces the internet.

What drives cost

An installation's AWS bill has a fixed part and a part that grows with use.

  • Always on: Valet's services and database, the load balancer and the NAT gateway your VPC provides.
  • Agents and apps: each running agent, and each running app process, is its own Fargate task, sized from 0.25 vCPU with 512 MB to 2 vCPU with 4 GB. An idle agent or app stops, and starts again on its next message or request, so a tool nobody is using costs little. A small pool of warm tasks keeps that start quick.
  • Builds: an app build runs only while it builds.
  • Storage and traffic: grow with what people publish and how often it's opened.

Model calls go to the providers the installation uses, with its own API keys; see Models. The account's Fargate vCPU quota caps how many agents, apps and builds run at once.

Security

  • No way in from the internet. The installation has one internal load balancer on private subnets. People reach it from your network or your VPN, over HTTPS only, and Valet checks sign-in and access on every request.
  • No long-lived AWS keys. Valet's services hold no AWS access keys. Each runs under its own IAM role, limited to the installation's own resources.
  • No AWS permissions for your tools. Agent and app code runs with no AWS permissions at all.
  • Private by default. Agents, apps, builds, databases and storage have no public address, and an app's database accepts connections only from inside the installation.
  • Encrypted. Data is encrypted at rest in every store, and Valet encrypts secrets and credentials again before it writes them to its database. Connections to the databases use TLS.

See Security model for credentials, isolation and access.

Models

An installation calls Anthropic's API with your company's own API key.

Agents and apps call models through Valet's model proxy, which adds the API key, so they never hold it. Prompts, responses and tool results go to Anthropic and nowhere else. Conversation history stays in the installation.

What leaves the installation

Outbound traffic leaves through one NAT gateway address, which a system you want the installation to reach can allowlist. Nothing filters it: agents, apps and builds can reach any internet address, so what they can reach inside your systems depends on the credentials they hold.

The installation connects to:

  • Anthropic, for model calls.
  • WorkOS, for sign-in.
  • AWS service endpoints, for the services in the table above.
  • Valet's release bucket and image registry, when you install or upgrade.
  • The services organizations add: connectors, Slack, and log drains.
  • Custom checker endpoints, when an organization adds a custom release checker. Each receives links to the files of the releases a policy evaluates.
  • OSV.dev, when an organization adds a Dependencies (OSV) release policy. It receives each package's ecosystem, name and version.
  • Package registries, such as npm, PyPI and the Go module proxy, when apps build and agents install connectors.
  • Optional services, only when turned on: Composio connectors, Firecrawl for drafting a design system from a website, and Neon for app databases hosted outside the installation.

An installation sends no profile pictures to Gravatar and no email to Loops. People's browsers send no product analytics or error reports to Valet.

Sign in and reach it

An installation has its own domain, <domain>. Everything is served under it:

dashboard.<domain>

Serves
The dashboard

api.<domain>

Serves
The API, and the MCP server at /mcp

gateway.<domain>

Serves
The console, webhook channels and agents' MCP channels

<org>.<domain>

Serves
The organization's front door and path-style artifact links

<name>.<org>.<domain>

Serves
Artifacts and apps

People sign in through WorkOS, which Valet sets up for the installation. The hosts resolve inside the VPC. A laptop on your office network or VPN reaches them once its resolver forwards the installation's domain to the VPC.

Dashboard. Open https://dashboard.<domain> and sign in.

CLI. Point the CLI at the installation before you log in, and keep these set for every command:

export VALET_API_URL=https://api.<domain>
export VALET_GATEWAY_URL=https://gateway.<domain>
export VALET_WORKOS_CLIENT_ID=<the installation's client ID>
export VALET_CONFIG_DIR=~/.config/valet-<name>

Then run valet auth login.

Without VALET_WORKOS_CLIENT_ID, valet auth login signs you in to the cloud. Without VALET_GATEWAY_URL, valet console talks to the cloud. VALET_CONFIG_DIR keeps the installation's login apart from a cloud one.

MCP. Add https://api.<domain>/mcp to your client as a custom connector. The Valet plugin for Claude Code and Codex points at hosted Valet, so add the server by its URL instead. MCP sign-in works once Valet has set it up for the installation. See MCP server.

Next steps