# Tenants

Source: https://www.jawsdeploy.net/features/tenants

If you run the same software for many customers, sites or regions, you don't need a copy of your project for each one. Add each customer as a tenant, and Jaws deploys the same release to all of them - each with its own settings, its own machines and its own deployment history.

A deployment becomes "release 1.4 to Production for Acme". Each tenant moves through your lifecycle on its own, gets its own variable values, and only reaches the machines meant for it. The [tenants guide](https://www.jawsdeploy.net/guides/tenants) walks through the setup.

- One project, many customers
- Per-customer settings without a new release
- Machines dedicated to tenants or tenant tags
- Deploy to many tenants at once
- A tenant-by-environment overview grid
- Filter deployments by tenant in the UI, API and MCP

## One project, many customers

A deployment is **release 1.4 to Production for Acme**. Each tenant moves through your lifecycle on its own: Acme can be in Production while Globex is still testing. A tenant goes to the next phase once it has finished the earlier one, whatever the other tenants have done, and automatic environments deploy each tenant as soon as it is ready.

A tenant can use only some of the project's environments - for example Prod EU but not Prod US.

```
Release 1.4    Dev          Test         Production
Acme           1.4 ok       1.4 ok       1.4 ok
Globex         1.4 ok       1.4 running  1.3 ok
Initech        1.4 ok       1.4 ok       Deploy
```

## Per-customer settings

Define **tenant variables** once - a database name, a URL, a licence key - and fill in a value for each tenant, for all environments or per environment. Secrets stay encrypted.

Tenant values are read when a deployment is created, so changing a customer's value doesn't need a new release. A tenant with a required value missing can't be deployed, and the screens say which value is missing.

```
Tenant variable   All environments      Production
DbName            acme_test             acme_prod
SiteUrl           test.acme.example     acme.example
LicenceKey        ****                  ****
```

## Their machines, their deployments

Machines and cloud targets can be dedicated to some tenants, or to every tenant with a tag such as `eu`. A deployment for a tenant only goes to the machines meant for it, and machines that aren't used for tenants keep serving deployments without one.

- **Not used for tenants** - the default, only deployments without a tenant use it
- **Only for tenants** - picked by tenant name or tenant tag
- **For tenants and non-tenant deployments** - both

## Deploy to many at once, see everyone at a glance

Pick tenants by name or by tag, and Jaws creates one deployment per tenant. Tenants that aren't ready - a missing value, an earlier phase not finished - are listed with the reason before you click **Deploy**. The release page and the project overview show a grid with a row per tenant, a column per environment, and the latest deployment in each cell.

- Deploy from a grid cell, to selected tenants, or to a whole phase
- Preview the steps for any one tenant before deploying
- Filter deployment lists and the dashboard by tenant or tenant tag
- The REST API and MCP tools filter by tenant too

## Included in Professional

Professional includes 10 tenants, then €2 per tenant per month. Fleet includes 50, then €1 each, and Dedicated has no limit. Only active tenants count - archive the ones you no longer deploy to. Starter has no tenants: [start a 14-day trial of Professional](https://app.jawsdeploy.net/signup?return_url=%2Fsubscribe%2Fpremium%2Fmonth) to try them, with 10 tenants included. Details are on the [pricing page](https://www.jawsdeploy.net/pricing).

