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

# Permissions

> How access resolves, and the three things that are not the same thing.

## Three orthogonal things

Confusing these causes most permission surprises, so they are worth separating.

|                | What it governs                                       | Values                |
| -------------- | ----------------------------------------------------- | --------------------- |
| **Role**       | Workspace administration                              | `admin`, `member`     |
| **Seat**       | Whether you can author, and how much compute you have | builder, viewer       |
| **Permission** | Access to one dashboard, chat or skill                | owner, editor, viewer |

A paid seat confers no access to anything, since somebody still has to share it with you. But the
reverse is not true either: **a viewer seat cannot author, whatever permission it holds**. See below.

## How access to an object resolves

In order.

1. **Workspace admin?** Owner-level access, on dashboards and skills.
2. **An explicit grant for you?** That grant.
3. **A guest?** Nothing further. A guest holds only explicit grants.
4. **Otherwise**, the object's workspace baseline.

Then a cap is applied. If you are a guest or a read-only member, whatever resolved is lowered to
**viewer**. Admins are never capped, except on chats, which have no admin branch at all.

<Note>
  The cap lowers the *capability*, not the record. A read-only member still owns the dashboards they
  own, because attribution and ownership transfer both depend on that staying true.
</Note>

## Defaults differ by object kind

|                | Workspace baseline                                    | Admin override |
| -------------- | ----------------------------------------------------- | -------------- |
| **Dashboards** | Viewer, so every full member can read a new dashboard | Yes            |
| **Skills**     | Editor, so every full member can read and edit        | Yes            |
| **Chats**      | None                                                  | **No**         |

Chats are the exception that matters. A conversation is private, and workspace admins do not get into
yours. Grants on a chat are viewer-only, because there is only ever one writer.

Dashboards defaulting to workspace-readable is an admin setting, under **Settings → General → Details**.
An admin can make new dashboards private by default instead.

## Viewer seats cannot author

This is the part people get wrong, because it looks like a budget limit and is not.

A viewer seat is a *licence* fact, a free licence inside a shared workspace. In that workspace, authoring
is refused **before** any money question is asked. Granting budget does not unlock it, and neither does
holding Editor permission on a dashboard.

| A viewer seat can                | A viewer seat cannot       |
| -------------------------------- | -------------------------- |
| Read dashboards, and filter them | Build or edit a widget     |
| Read skills                      | Edit a skill               |
| Use chat to ask questions        | Refresh data               |
| Upload and extract files         | Have its agent load skills |

Granted budget buys metered *consumption* — asking questions, applying filters, extracting an upload —
never authoring. Seats sell capability; credits buy consumption.

In a **personal** workspace none of this applies, because you are not on a viewer seat there.

## Guests

A guest is somebody invited by email who is not a member of your workspace.

* They hold **only** explicit grants. The workspace baseline never applies to them.
* They are **always read-only**, whatever a grant says.
* They can see the workspace roster, so they know who they are working with.
* They see only their own account settings, not the workspace's.
* They get no request-access button, since their access is exactly what was shared with them.

To let a guest edit, make them a member: **Settings → Members → Make member**.

## Editing is per object

There is no workspace-wide editor flag. Edit access is granted per dashboard, per skill, per chat.

What an admin *can* set workspace-wide is the baseline for newly created dashboards, and whether external
share links are allowed at all.
