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

# Roles & Permissions

> Give each person exactly the access they need with three simple roles.

export const DemoVideo = ({src, poster, caption, aspectRatio = "16 / 10", className = ""}) => {
  return <figure className={`not-prose my-6 w-full ${className}`}>
      <div className="overflow-hidden rounded-2xl border border-gray-950/10 bg-gray-100 dark:border-white/10 dark:bg-white/5" style={{
    aspectRatio
  }}>
        <video src={src} poster={poster} loop autoPlay muted playsInline className="h-full w-full object-cover" />
      </div>
      {caption && <figcaption className="mt-2 text-center text-sm text-gray-500 dark:text-gray-400">
          {caption}
        </figcaption>}
    </figure>;
};

Flowy uses three roles everywhere — **Owner**, **Editor**, and **Viewer**. The same three names apply at the workspace level (your whole team) and at the project level (a single canvas).

<DemoVideo src="/videos/collab/roles.mp4" poster="/images/posters/collab/roles.jpg" caption="Browsing the members roster, filtering by role, and the seat-limit prompt on Invite" />

## What each role can do on a project

| Capability                            | Owner            | Editor                   | Viewer              |
| ------------------------------------- | ---------------- | ------------------------ | ------------------- |
| View the canvas and its media         | Yes              | Yes                      | Yes                 |
| Edit nodes and run generations        | Yes              | Yes                      | —                   |
| Invite collaborators                  | Yes, at any role | Yes, as Editor or Viewer | Yes, as Viewer only |
| Change roles and remove collaborators | Yes              | —                        | —                   |
| Turn link sharing on or off           | Yes              | —                        | —                   |
| Approve access requests               | Yes              | —                        | —                   |
| Delete the project                    | Yes              | —                        | —                   |
| Leave a project shared with them      | —                | Yes                      | Yes                 |

Two rules worth calling out:

* **You can only grant roles up to your own.** An Editor can share a project as Editor or Viewer; a Viewer can only share view access. Owners can grant anything.
* **Owners can't leave their own project.** Transfer ownership or delete the project instead.

## Workspace roles

Workspace membership uses the same three roles. Workspace Owners manage [workspace settings](/settings/workspace), the member roster, and billing; workspace Editors and Viewers get that level of access across the workspace's projects.

Your workspace role acts as a **floor** for every project in the workspace — the most permissive role wins. If a project shares you as a Viewer but you're a workspace Editor, you can still edit, and the share dialog shows it as "Viewer · inherits Editor from workspace" so the owner isn't misled.

<Note>
  A workspace always keeps at least one Owner — you can't demote or remove the last one.
</Note>

## Inviting members

There are two places to bring people in:

* **Workspace members** — a workspace Owner invites from [Settings → Members](/settings/workspace) by email, picking a role for each invite. New members see every project the workspace role gives them access to. Pending invites can be revoked before they're accepted.
* **Project collaborators** — anyone with access can invite from the project's Share dialog, capped at their own role. Each project supports up to 5 direct collaborators on top of workspace access. See [Sharing projects](/collaboration/sharing).

## Seats & plan limits

The number of member seats in a workspace comes from the workspace Owner's plan. When the workspace is at its seat cap, the **Invite** button takes you to the plan picker instead of the invite form — upgrade to add more seats.

See [Plans](/billing/plans) for seat counts on each plan.
