> ## Documentation Index
> Fetch the complete documentation index at: https://docs.condense.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Role Based Access Control (RBAC)

## **Overview**

Condense provides a layered Role-Based Access Control (RBAC) system that defines how users are onboarded, granted access, and permitted to operate within the platform.<br />This RBAC model supports:

* Clear administrative separation
* Strong isolation between environments and workspaces
* Predictable and least-privilege access assignment
* Smooth governance for teams of all sizes

The RBAC model spans two areas of the Condense platform:

**Condense Console** – the organization control plane<br />**Condense Core** – the operational data plane containing environments and workspaces

This document describes each role, how access propagates, and how administrators assign members across these layers.

## **Access Layers in Condense**

Condense access is structured into three layers:

```text theme={null}
Organization → Environment → Workspace
```

Each layer has its own hierarchy, responsibilities, and roles. The diagram below shows the complete flow of access across Organization, Environment, and Workspace layers in Condense

<Frame>
  <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-52.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=2a73ecb36d24ad8198721852dcafa2ea" alt="Image" width="2304" height="1299" data-path="images/image-52.png" />
</Frame>

## **Organization Layer *(Condense Console)***

The Organization layer controls the company’s identity within Condense.<br />Here, administrators manage:

* Organization profile
* Users and roles
* Environment onboarding
* Member invitation
* Billing visibility

> Organization roles control **who governs the organization**, and **who can grant access to specific environments**.

### **Organization Roles**

#### **Organization Admin**

The top-level administrative role for the entire organization.

**Responsibilities**

* Set up and manage the organization
* Invite new members
* Assign Organization-level roles (Billing Admin, Account Admin, Environment Admin, Environment User)
* Assign environment access to members
* Link and manage environments associated with the organization

<Info>
  **Access Flow**<br />While Organization Admin manages access centrally, they must assign themselves an Environment Admin or Environment User role to operationally enter a specific environment.
</Info>

#### **Account Admin**

Focused on access management for assigned environments.

**Responsibilities**

* Invite members to their assigned environments
* Assign environment roles (Environment Admin or Environment User)
* Suspend users in the environments they manage

#### **Billing Admin**

Role for financial governance and usage management.

**Responsibilities**

* View billing details and usage reports
* Manage payment information
* Visibility limited to the environments assigned to them

#### **Environment Admin (assigned from Console)**

An Organization Admin can assign a member to become Environment Admin for one or more environments.

This grants full access in those environments within Condense Core.

#### **Environment User (assigned from Console)**

A non-admin member of an environment.

Environment Users gain workspace-level access only through workspace-role assignments inside Condense Core.

## **Environment Layer *(Condense Core)***

An Environment represents an isolated execution space containing Workspaces, applications, connectors, Kafka resources, and monitoring.

Each user entering an environment receives one of two roles:

* Environment Admin
* Environment User

These roles control access to Workspaces and operational features.

### **Environment Admin**

The highest authority within an environment.

**Capabilities**

* Full visibility into every workspace in the environment
* Create and manage workspaces
* Manage workspace membership
* Configure pipelines, connectors, transforms, and utilities
* Create, modify, and delete applications
* Access Kafka operations (topics, consumer groups, schema registry)
* View environment metrics and dashboards

Environment Admins do **not** need workspace-role assignments.<br />They can operate across all workspaces automatically.

### **Environment User**

A non-administrative user who has access to the environment but **does not automatically see any workspace**.

Workspace visibility and workflow access depend entirely on the workspace roles assigned to them.

#### **Single-role assignment model**

Within an environment:

* An Environment User receives **one workspace role** (e.g., Developer, Maintainer)
* The role applies to **all workspaces selected** during assignment
* If more workspaces are added later, they must receive **the same role**
* Environment Users **cannot** hold mixed roles (e.g., Developer in W1 and Viewer in W2) within the same environment

> This simplifies governance and preserves consistent privilege levels.

## **Workspace Layer *(Condense Core)***

Workspaces are operational areas inside an environment, each hosting its own applications, connectors, pipelines, and Kafka-based resources.

<Check>
  Workspace roles determine operational capability.
</Check>

### **Workspace Roles**

#### **Kafka Admin**

Full Kafka management inside the assigned workspace(s).<br />Manages topics, consumer groups, schema registry entities, and compatibilities.

#### **Maintainer**

Responsible for deploying and managing connectors, transforms, and utilities.

#### **Developer**

Creates, updates, and publishes applications.<br />Can restore and delete applications in the assigned workspaces.

#### **Viewer**

Read-only access to applications, connectors, logs, and configurations.

## **How Access Works Together**

### **Access to Condense Core**

To enter an environment inside Condense Core, a user must have:

* Environment Admin, or
* Environment User

assigned at the organization layer.

<Check>
  Environment Admin → full environment visibility<br />Environment User → workspace visibility only after workspace-role assignment
</Check>

### **Workspace Access**

Environment Admin<br />→ Sees and manages all workspaces automatically

Environment User<br />→ Sees only the workspaces for which a workspace role was assigned<br />→ Workspace role must be the same across all selected workspaces

## **Member & Role Assignment Flow**

### **Creating an Organization and Becoming Organization Admin**

1. Sign up or create a new organization in Condense Console [https://console.condense.zeliot.in/signUp](https://console.condense.zeliot.in/signUp)
   <Frame>
     <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-53.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=43e759992e9f8199e3fb3d77f51fb915" alt="Image" width="2304" height="1299" data-path="images/image-53.png" />
   </Frame>
2. The creator automatically becomes the **Organization Admin**
   <Frame>
     <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-54.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=f77ce0b3a3b8e5fdbc0449c9b4baee35" alt="Image" width="1200" height="625" data-path="images/image-54.png" />
   </Frame>
3. Environment(s) can now be linked to the organization
   <Frame>
     <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-55.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=73cb96e82cff536ca8f7ceda52841ab7" alt="Image" width="1200" height="675" data-path="images/image-55.png" />
   </Frame>

### **Inviting Members**

As Organization Admin:

1. Go to **Members**
2. Select **Invite Member**
3. Enter user details
   <Frame>
     <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-56.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=bdca72920d3d817722f8213d558900c7" alt="Image" width="1520" height="791" data-path="images/image-56.png" />
   </Frame>
4. Send invite

Once accepted, the member appears under the organization.

<Frame>
  <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-57.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=6754f2e8771655d41a67d60ff85d213e" alt="Image" width="1200" height="625" data-path="images/image-57.png" />
</Frame>

1. Select the member and assign one of the Organization-level roles:

* Organization Admin
* Account Admin
* Billing Admin
* Environment Admin (for selected environments)
* Environment User (for selected environments)
  <img src="https://mintcdn.com/zeliot/QqEpQfxG-sR_1bgp/images/image-58.png?fit=max&auto=format&n=QqEpQfxG-sR_1bgp&q=85&s=6ecb7feb7ce1c65ac1a8d07dd4d2cc57" alt="Image" width="1200" height="625" data-path="images/image-58.png" />

<Warning>
  You cannot assign any role to member if there is no Environment is associated to organization
</Warning>

### **Assigning Organizational Roles**

Organization Admins can assign:

* Organization Admin
* Account Admin
* Billing Admin

These roles control access in Condense Console.

### **Assigning Environment Roles**

Organization Admin or Account Admin can:

1. Select a member
2. Choose **Add to Environment**
3. Select an environment
4. Assign either:
   * Environment Admin
   * Environment User

This determines the member’s access level inside Corrdese Core.

### **Assigning Workspace Roles (inside Condense Core)**

Only **Environment Admins** do this.

For an Environment User:

1. Navigate to **Members** in Condense Core
2. Select the Environment User
3. Choose **Assign Workspace Role**
4. Select role:
   * Kafka Admin
   * Maintainer
   * Developer
   * Viewer
5. Select one or more workspaces

> **Note**<br />The role selected applies to all selected workspaces. Later additions must use the same role.

## **Example Scenario**

#### **Setup**

**Environments**: Production, Testing<br />**Workspaces**: FleetTracking, ColdChain, Sandbox

#### **Team**

| **Name** | **Org Role**       | **Environment Role**   | **Workspace Role**                         |
| -------- | ------------------ | ---------------------- | ------------------------------------------ |
| Anita    | Organization Admin | Env Admin (Prod, Test) | —                                          |
| Bharat   | Account Admin      | Env User (Prod)        | Kafka Admin — FleetTracking                |
| Divya    | —                  | Env Admin (Test)       | Maintainer — Sandbox                       |
| Eshan    | —                  | Env User (Prod)        | Developer — FleetTracking, <br />ColdChain |
| Farah    | —                  | Env User (Prod)        | Viewer — Sandbox                           |

#### **User Experience**

* **Anita**<br />Full authority across both environments and all workspaces.
* **Bharat**<br />Sees Production only.<br />Sees only FleetTracking because of the Kafka Admin role.
* **Divya**<br />Sees all workspaces in Testing.<br />Can deploy and manage connectors in Sandbox.
* **Eshan**<br />Sees Production.<br />Sees FleetTracking and ColdChain as Developer.
* **Farah**<br />Sees Sandbox with read-only access.

#### **Behavior**

* Environment Admins see and operate across **all workspaces** of their environments
* Environment Users only see the workspaces they have a role for
* Workspace roles for an Environment User always remain uniform across all selected workspaces

## **Capability Overview**

| **Capability**                  | **Env Admin**  | **Env User (Workspace Role)** |
| ------------------------------- | -------------- | ----------------------------- |
| Access all Workspaces           | Yes            | No                            |
| Access only assigned Workspaces | Not applicable | Yes                           |
| Create / delete Workspaces      | Yes            | No                            |
| Manage Workspace members        | Yes            | No                            |
| Deploy connectors               | Yes            | Maintainer only               |
| Develop applications            | Yes            | Developer only                |
| Kafka operations                | Yes            | Kafka Admin only              |
| View everything                 | Yes            | Viewer only                   |

Condense RBAC provides a structured, predictable access model across three layers:

* **Organization Layer** : governs who administers the organization and who can assign access
* **Environment Layer** : determines seniority and visibility for operations
* **Workspace Layer** : controls fine-grained operational capabilities

Environment Admins manage the entire environment and all workspaces.<br />Environment Users gain workspace access only through explicit workspace-role assignments using a consistent role across selected workspaces.

This model keeps permissions clear, secure, and scalable, supporting diverse teams collaborating across multiple environments and workspaces.

## **Lifecycle Guide**

## **Frequently Asked Questions (FAQs)**<br />
