> ## Documentation Index
> Fetch the complete documentation index at: https://speckle-assistant.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Roles and Seats

> Understand the key concepts for managing permissions

This guide explains Speckle's project roles, workspace roles, and seat types. The table below gives you a high-level overview of how these combine to determine what users can do.

<table>
  <thead>
    <tr>
      <th style={{ textAlign: 'left' }}>Workspace role</th>
      <th style={{ textAlign: 'left' }}>Seat</th>
      <th>View & comment</th>
      <th>Publish & load</th>
      <th>Create projects</th>
      <th>Manage workspace</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Admin</td>
      <td><code>Editor</code></td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>
    </tr>

    <tr>
      <td>Member</td>
      <td><code>Editor</code></td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>
    </tr>

    <tr>
      <td>Member</td>
      <td><code>Viewer</code></td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>
    </tr>

    <tr>
      <td>Guest</td>
      <td><code>Editor</code></td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>
    </tr>

    <tr>
      <td>Guest</td>
      <td><code>Viewer</code></td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="check" iconType="solid" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>

      <td style={{ textAlign: 'center' }}>
        <Icon icon="xmark" iconType="solid" color="#dc2626" />
      </td>
    </tr>
  </tbody>
</table>

<Info>Guests can only view, comment, publish and load in the specific projects they are invited to.</Info>

***

# Project Roles

Project roles determine what actions a user can perform within a specific project. `Admins` and `Project owners` can manage the roles from the Collaborators tab on the project page.

<Tabs>
  <Tab title="Project owner">
    * Has full ownership of the project, including inviting new project members, managing project roles, and all project settings.
    * The project creator is automatically the first `Project owner`.
    * Workspace admins have the `Project owner` role on all projects in a workspace, even private projects.
    * An `Editor seat` is required to have the `Project owner` role.
  </Tab>

  <Tab title="Can edit">
    * Can fully contribute to a project including creating new models and versions
    * Can load and publish models from AEC software using the Speckle connectors.
    * An `Editor seat` is required to have the `Can edit` role.
  </Tab>

  <Tab title="Can view">
    * Can view models in the 3D web viewer and add comments.
    * Cannot load models into host apps using the Speckle and publish models from the Speckle connectors.
  </Tab>
</Tabs>

***

# Workspace Roles

Workspace roles determine a user's default project access and workspace-level permissions, like inviting users and managing security settings. `Admins` can manage workspace roles from Workspace Settings -> People.

<Tabs>
  <Tab title="Admin">
    * Full ownership of the workspace, including management of members, projects, and settings.
    * Is automatically `Project owner` of all existing and new projects in the workspace.
    * Cannot be removed or have their role changed within a project.
    * Can create, manage, and oversee all Speckle Automate functions within the workspace.
  </Tab>

  <Tab title="Member">
    * Can access all projects in the workspace with the `Can view` project role, unless the project is set to `Private`.
    * Can create and own projects if assigned an `Editor seat`.
    * Cannot invite new users to the workspace, but can invite existing workspace members to projects.
    * Can access and use Speckle Automate to create private functions.
  </Tab>

  <Tab title="Guest">
    * Role meant for external collaborators who only need access to select projects in the workspace.
    * Can hold the `Can edit` project role if assigned an `Editor seat`.
    * Can never create new projects in the workspace.
    * Can never hold the `Project owner` project role.
    * Can join a workspace without adhering to any domain policies or authorizing through SSO.
    * Cannot access or create private Speckle Automate functions.
  </Tab>
</Tabs>

***

# Seats

The seat determines which project roles a user can be assigned. `Admins` can manage seats from Workspace Settings -> People.

<Tabs>
  <Tab title="Editor seat">
    * Gives `Members` and `Guests` permission to fully contribute to projects with the `Can edit` project role.
    * Gives `Members` permission to create new projects in the workspace and become `Project owner`.
    * Is a paid seat on the Starter and Business plans.
    * Is a required seat for `Admins`.
  </Tab>

  <Tab title="Viewer seat">
    * Gives `Members` and `Guests` permission to have the limited `Can view` project role.
    * Is always a free seat.
  </Tab>
</Tabs>

***

# FAQs

**Project roles**

<AccordionGroup>
  <Accordion title="Can non-workspace members have a project role?">
    You can add anyone to a project role if it is allowable by the workspace security settings.
    If a user is added to a project as member who **can edit** they will be added as an editor
    to the workspace. If they are not a member of the workspace they will be added as a guest.
  </Accordion>

  <Accordion title="Can I assign roles to teams?">
    No, roles are set on a member by member basis.
  </Accordion>
</AccordionGroup>

**Workspace roles**

<AccordionGroup>
  <Accordion title="What is a workspace role?">
    A workspace role is a role that determines what actions a user can perform within a workspace.
  </Accordion>

  <Accordion title="What are guest roles?">
    Guest roles are a type of workspace role that allows users to view and comment on models in a workspace.
  </Accordion>

  <Accordion title="How do I invite someone to my workspace?">
    You can invite someone to your workspace by clicking the **Invite** button in the top right corner of the workspace page.

    You can also set your workspace to allow self-signup by making your workspace **domain discoverable**.
    Users with an email domain matching what you have verified to the workspace will be notified your
    workspace exists and can request to join. You can also set it up to automatically add them to the workspace without admin approval.

    <Note>
      Only admins can invite users to a workspace.
    </Note>

    Learn more about [inviting users to a workspace](/workspaces/inviting).
  </Accordion>

  <Accordion title="How do I remove someone from my workspace?">
    You can remove someone from your workspace by clicking the **Remove** button in the top right corner of the workspace page.
  </Accordion>
</AccordionGroup>

**Seats**

<AccordionGroup>
  <Accordion title="How can I upgrade from a free plan?">
    New plans are coming in the new year. Contact us to purchase Speckle today.

    Contact us at [hello@speckle.systems](mailto:hello@speckle.systems) for more information.
  </Accordion>
</AccordionGroup>
