# Licensing and Roles

> Manage licenses and roles in NOVA. This example shows how a team sets up NOVA, assigns roles, and starts working.

Your company wants to:

- set up NOVA
- onboard users
- build and run an automation solution

The team can consist of:

- **Admin**
- **Developer**
- **Operator**

### Step 1: Set up licensing and access

Licensing is managed outside of NOVA.

- **Admins and Developers** require licensed seats
- **Operators** do not consume paid seats

For the license types, their limits, and how activation works, see
[Licenses](/nova-cloud/licenses).

Once seats are assigned:

- Users can access the NOVA Cloud instance
- Robot licenses define which systems can run in production

### Step 2: Assign roles and access

The Admin assigns roles based on responsibilities:

- Admin → system governance
- Developer → engineering and configuration
- Operator → production

Each user has exactly one role.

> An organization must always have at least one Admin.

For cell-based work:

- Admins have access to all cells
- Developers and Operators must be assigned to specific cells

### Step 3: Developer builds the solution

Developers prepare the automation setup:

- Create and configure cells
- Add controllers and configure I/O
- Define collision environments

They then:

- Develop and test programs
- Integrate and configure apps
- Share resources with other users

### Step 4: Admin governs usage

Admins ensure safe and compliant usage:

- Oversee system configuration and access
- Manage licenses and overall setup

Once approved:

- Apps can be installed on specific cells

### Step 5: Prepare for operation

Admins or Developers:

- Install approved apps on cells
- Activate apps for Operator use

Only apps designed for operation are visible to Operators.

### Step 6: Operator runs production

Operators work within a controlled environment:

- Access assigned cells
- Start and monitor programs
- Adjust parameters via app UIs

They cannot modify system configuration or engineering setup.

### End-to-end flow

1. **Licensing (external)** → enables system access
2. **Admin** → assigns roles and governs usage
3. **Developer** → builds and configures solutions
4. **Operator** → executes and monitors production
