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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.prowler.com/feedback

```json
{
  "path": "/user-guide/tutorials/prowler-app-multi-tenant",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Managing Organizations (Multi-Tenant)

export const VersionBadge = ({version}) => {
  return <a href={`https://github.com/prowler-cloud/prowler/releases/tag/${version}`} target="_blank" rel="noopener noreferrer" className="version-badge-link">
            <span className="version-badge-container">
                <span className="version-badge">
                    <span className="version-badge-label">Added in:</span> 
                    <span className="version-badge-version">{version}</span>
                </span>
            </span>
        </a>;
};

<VersionBadge version="5.23.0" />

Prowler App supports multi-tenancy through **Organizations**, allowing users to belong to multiple isolated environments within a single account. Each organization maintains its own providers, scans, findings, and user memberships, ensuring complete data separation between teams or business units.

## Key Concepts

* **Organization (Tenant):** An isolated workspace containing its own providers, scans, findings, roles, and users. Every Prowler account operates within at least one organization.
* **Membership:** The association between a user and an organization, including the membership role (`owner` or `member`).
* **Active Organization:** The organization currently in use for the session. All actions (scans, findings, provider management) apply to the active organization.

<Note>
  When a new account is created without an invitation, a default organization is automatically provisioned. Accounts created through an invitation join the inviter's organization instead.
</Note>

## Viewing Organizations

To view all organizations associated with an account, navigate to the **Profile** page. The **Organizations** card displays every organization the user belongs to, including the role, name, join date, and whether it is the currently active organization.

<img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/organizations-card.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=361d60e64ad449d7317c2d8225c58afb" alt="Organizations card in profile page" width="700" data-path="images/prowler-app/multi-tenant/organizations-card.png" />

## Creating an Organization

To create a new organization:

1. Navigate to the **Profile** page.

2. In the **Organizations** card, click the **Create organization** button.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/create-organization-button.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=2afce22ad786bd8e0a2c52debd39d024" alt="Create organization button" width="700" data-path="images/prowler-app/multi-tenant/create-organization-button.png" />

3. Enter a name for the new organization (maximum 100 characters).

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/create-organization-modal.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=70ced00dc666713dae24e90c7156a19a" alt="Create organization modal" width="700" data-path="images/prowler-app/multi-tenant/create-organization-modal.png" />

4. Click **Create**. The session automatically switches to the newly created organization.

<Note>
  Creating an organization requires being authenticated. Any user can create a new organization regardless of their current role.
</Note>

## Switching Between Organizations

To switch the active organization:

1. Navigate to the **Profile** page.

2. In the **Organizations** card, locate the organization to switch to.

3. Click the **Switch** button next to the desired organization.

4. Confirm the switch in the dialog. The page reloads with the new organization's context, and all subsequent actions apply to it.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/switch-organization-modal.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=6f97d869561e2c1e6385576eb09b51cc" alt="Switch organization confirmation modal" width="700" data-path="images/prowler-app/multi-tenant/switch-organization-modal.png" />

<Note>
  The currently active organization is indicated by an **Active** badge. Switching updates the session tokens, so the page will reload automatically.
</Note>

## Editing an Organization Name

Organization owners with the **Manage Account** permission can rename an organization:

1. Navigate to the **Profile** page.

2. In the **Organizations** card, click the **Edit** button next to the organization.

3. Update the name and save the changes.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/edit-organization-modal.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=2ad44486b810f8812294de1bd5c78cae" alt="Edit organization name modal" width="700" data-path="images/prowler-app/multi-tenant/edit-organization-modal.png" />

## Deleting an Organization

Organization owners with the **Manage Account** permission can delete an organization, provided they belong to at least two organizations (the last remaining organization cannot be deleted).

### Deleting a Non-Active Organization

1. Navigate to the **Profile** page.

2. Click the **Delete** button next to the organization to remove.

3. Type the organization name to confirm deletion.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/delete-organization-modal.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=bc99337bc91504f2557c330a7a3f1731" alt="Delete organization confirmation modal" width="700" data-path="images/prowler-app/multi-tenant/delete-organization-modal.png" />

4. Click **Delete**. The organization and all its associated data (providers, scans, findings) are permanently removed.

### Deleting the Active Organization

When deleting the currently active organization, an additional step is required:

1. Navigate to the **Profile** page.

2. Click the **Delete** button next to the active organization.

3. Select which organization to switch to after deletion.

4. Type the organization name to confirm.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/delete-active-organization-modal.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=2d03bc0daa39c0ee6165cf46743fb4d5" alt="Delete active organization modal with target selection" width="700" data-path="images/prowler-app/multi-tenant/delete-active-organization-modal.png" />

5. Click **Delete**. The session switches to the selected organization, and the deleted organization's data is permanently removed.

<Warning>
  Deleting an organization is irreversible. All providers, scans, findings, and configuration data within the organization are permanently deleted. Users who belong only to the deleted organization will lose access to Prowler.
</Warning>

## Accepting an Invitation to an Organization

When invited to join an organization, the invited user receives a link to accept the invitation. The flow adapts depending on whether the user already has a Prowler account:

### Existing Users

1. Open the invitation link.

2. If already authenticated, the invitation is accepted automatically and the user is redirected to Prowler App.

3. If not authenticated, choose **I have an account -- Sign in**, authenticate with existing credentials, and the invitation is accepted upon sign-in.

   <img src="https://mintcdn.com/prowler/YaThDnpjTUxtDtKO/images/prowler-app/multi-tenant/sign-in-invitation.png?fit=max&auto=format&n=YaThDnpjTUxtDtKO&q=85&s=e091e9fc4744da60b918c80b4a0b70f4" alt="Sign in screen after choosing I have an account from invitation" width="700" data-path="images/prowler-app/multi-tenant/sign-in-invitation.png" />

### New Users

1. Open the invitation link.

2. Choose **I'm new -- Create an account**.

3. Complete the sign-up process. Upon account creation, the invitation is accepted and the user joins the inviter's organization.

<Note>
  Invitations expire after 7 days. If an invitation has expired, contact the organization administrator to send a new one. For more details on invitation management, see [Managing Users and Role-Based Access Control (RBAC)](/user-guide/tutorials/prowler-app-rbac#invitations).
</Note>

## Expelling a User From an Organization

Organization owners can expel a member from the organization. Expelling removes the membership immediately, revoking access to all providers, scans, and findings scoped to that organization. Owners expelling themselves are blocked if they are the last remaining owner of the organization.

To expel a user:

1. Navigate to the **Users** page.

2. Locate the user to remove and open the row actions menu.

3. Select **Expel user**.

   <img src="https://mintcdn.com/prowler/pXJUxOrUmKiUeLPt/images/prowler-app/multi-tenant/expel-user-organization.png?fit=max&auto=format&n=pXJUxOrUmKiUeLPt&q=85&s=629c486b3e34ab61c9cf2b4a6ec6def6" alt="Users table row action menu showing the 'Expel user' destructive option" width="700" data-path="images/prowler-app/multi-tenant/expel-user-organization.png" />

4. Confirm the action in the dialog. The membership is removed immediately and the expelled user loses access to the organization.

   <img src="https://mintcdn.com/prowler/pXJUxOrUmKiUeLPt/images/prowler-app/multi-tenant/expel-user-organization-modal.png?fit=max&auto=format&n=pXJUxOrUmKiUeLPt&q=85&s=bdae62399c2673a8dcc8e05136acc34f" alt="Confirmation dialog asking to expel the selected user from the current organization" width="700" data-path="images/prowler-app/multi-tenant/expel-user-organization-modal.png" />

<Warning>
  Expelling a user revokes any refresh tokens the account holds, but access tokens already issued remain valid until they expire. The default access token lifetime is 30 minutes, so an expelled user may retain access to the organization for up to that window before being fully locked out.
</Warning>

<Warning>
  If the expelled organization was the user's **only** organization, the account is permanently deleted along with the membership. All personal profile data associated with that account is removed and cannot be recovered. To preserve the account, confirm that the user belongs to another organization before expelling.
</Warning>

## Permissions Reference

| Action                            | Required Conditions                                                                                  |
| --------------------------------- | ---------------------------------------------------------------------------------------------------- |
| View organizations                | Any authenticated user                                                                               |
| Create an organization            | Any authenticated user                                                                               |
| Switch organizations              | Any authenticated user                                                                               |
| Edit organization name            | Organization owner with **Manage Account** permission                                                |
| Delete an organization            | Organization owner with **Manage Account** permission; must belong to more than one organization     |
| Expel a user from an organization | Organization owner (no additional permission required); last remaining owner cannot expel themselves |
