From 65d8a62e56425757a5446a4add8cf46c0dbff941 Mon Sep 17 00:00:00 2001 From: Abhijai Srivastava Date: Tue, 18 Aug 2026 11:29:23 +0530 Subject: [PATCH 1/2] docs(rbac): split Roles & Permissions into a folder of eight pages The single page had reached 7,400 words with sixteen top-level headings, so finding one fact meant scanning all of them. It splits along the seam it already had. Roles and permissions is a question about what one person can reach, and that is now a reference page carrying five grids. Organization and workspace segregation is a question about where a boundary sits, and that is now a concept page. The setup walkthrough, the people lifecycle and share links each become their own guide, and the FAQ becomes a troubleshooting page. The shape is copied from the billing/ folder on this branch rather than invented: index plus concepts, guides and reference, with the flat troubleshooting.mdx that annotations/ uses. /docs/roles-and-permissions still resolves, because the folder index serves the same URL. Also answers the review on #802: the blurred emails on users-list.png are redone as house masks, seat limits are gone from every page and from the diagram, the diagram names all three boxes as workspaces and shows traces in each, user management gains the reactivation answer, and every page now puts the keys page at Build > Keys rather than Settings. --- public/images/docs/rbac/access-levels.svg | 50 ++++++ public/images/docs/rbac/invite-modal.png | Bin 0 -> 124292 bytes public/images/docs/rbac/users-list.png | Bin 0 -> 231697 bytes src/lib/navigation.ts | 14 +- src/pages/docs/admin-settings/api-keys.mdx | 72 +++++--- .../docs/admin-settings/user-management.mdx | 111 ++++++++---- .../admin-settings/workspace-management.mdx | 96 +++++++---- src/pages/docs/roles-and-permissions.mdx | 158 ------------------ .../concepts/how-roles-combine.mdx | 136 +++++++++++++++ .../concepts/organizations-and-workspaces.mdx | 100 +++++++++++ .../guides/manage-people.mdx | 100 +++++++++++ .../guides/set-up-your-team.mdx | 97 +++++++++++ .../share-outside-your-organization.mdx | 49 ++++++ .../docs/roles-and-permissions/index.mdx | 61 +++++++ .../reference/permissions.mdx | 124 ++++++++++++++ .../roles-and-permissions/troubleshooting.mdx | 130 ++++++++++++++ 16 files changed, 1052 insertions(+), 246 deletions(-) create mode 100644 public/images/docs/rbac/access-levels.svg create mode 100644 public/images/docs/rbac/invite-modal.png create mode 100644 public/images/docs/rbac/users-list.png delete mode 100644 src/pages/docs/roles-and-permissions.mdx create mode 100644 src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx create mode 100644 src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx create mode 100644 src/pages/docs/roles-and-permissions/guides/manage-people.mdx create mode 100644 src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx create mode 100644 src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx create mode 100644 src/pages/docs/roles-and-permissions/index.mdx create mode 100644 src/pages/docs/roles-and-permissions/reference/permissions.mdx create mode 100644 src/pages/docs/roles-and-permissions/troubleshooting.mdx diff --git a/public/images/docs/rbac/access-levels.svg b/public/images/docs/rbac/access-levels.svg new file mode 100644 index 000000000..24c98a438 --- /dev/null +++ b/public/images/docs/rbac/access-levels.svg @@ -0,0 +1,50 @@ + + + + + + + + + + Organization + members and roles + plan and billing + organization settings + + + + + + + + Workspaces + + + + Default workspace + traces + datasets and evaluations + prompts and queues + knowledge bases + + + Team A workspace + traces + datasets and evaluations + prompts and queues + knowledge bases + + + Team B workspace + traces + datasets and evaluations + prompts and queues + knowledge bases + + Where access lives + the organization is the billing boundary, the workspace is the data boundary + diff --git a/public/images/docs/rbac/invite-modal.png b/public/images/docs/rbac/invite-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd15b338cdfb7a086d76404df4fcc2e86f8e547 GIT binary patch literal 124292 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 z

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 z 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 +**A key belongs to the workspace you have open when you create it.** Traces sent with it land there, and **Build > Keys** only ever lists the keys of your current workspace. The dialog says none of this and offers no workspace to pick, so switch to the workspace you want the key for before you create it. + +If the page says *No keys has been added yet* and you know you made one, you are standing in a different workspace. Switch and look again. + + +That binding holds for traces and nothing else. Other API and SDK calls made with the same key can name a different workspace on the request, and you get it as long as that workspace is in the same organization and you have access to it. If you are separating teams, the key's workspace is not what keeps them apart. + +## Create a key - - Navigate to **Settings > API Keys** at [https://app.futureagi.com/dashboard/settings/api_keys](https://app.futureagi.com/dashboard/settings/api_keys). + + In the left sidebar, find the **Build** section and click **Keys**, or go straight to [https://app.futureagi.com/dashboard/keys](https://app.futureagi.com/dashboard/keys). + + + The switcher at the top of the sidebar shows it. The key you are about to make belongs to whichever workspace that is. - Click **Add API Key**. Enter a name for the key. + Click **Add API Key**. The dialog asks for a name and nothing else. - Copy both the API Key and Secret Key. The Secret Key is only shown once at creation time. + You are shown an API Key and a Secret Key. Both stay masked on screen, so take each one with its copy button and store it before you close the dialog. This dialog does not come back, and there is no way to reveal a secret later. If you are creating the key for somebody else, send them both values now. Set them as environment variables. - ```python + + ```python Python import os os.environ["FI_API_KEY"] = "YOUR_API_KEY" os.environ["FI_SECRET_KEY"] = "YOUR_SECRET_KEY" ``` - ```typescript + ```typescript TypeScript process.env.FI_API_KEY = "YOUR_API_KEY"; process.env.FI_SECRET_KEY = "YOUR_SECRET_KEY"; ``` + -## Managing Keys +## Managing keys -| Action | How | -|--------|-----| -| View keys | API Key is visible in the table. Secret Key is masked. | -| Copy a key | Click the copy icon next to the key. | -| Delete a key | Click the delete icon. This is permanent and cannot be undone. | -| Rotate keys | Delete the old key and create a new one. Update your application with the new credentials. | +The table lists each key with its name, a masked API Key and Secret Key, who created it, and when. Every row carries a menu with two actions, and both ask you to confirm first. + +**Disable Key** turns off the API Key and the Secret Key together. The row gains a **Disabled** badge, the menu changes to **Re-enable key**, and Owners, Admins and Workspace Admins can all do it. + +**Delete Key** removes the API Key and the Secret Key permanently. It cannot be undone, and only an Owner can do it. -Deleting a key immediately revokes access for any application using it. Make sure to update your code before deleting. +**Delete Key** appears for everyone who can open this page, but only an Owner's goes through. An Admin or a Workspace Admin gets the confirmation and then **You are not authorized to access this resource**, and the key stays in the list. -Never commit API keys to version control. Use environment variables or a secret manager. +**To rotate a key:** create the replacement, update your application, then **disable** the old key rather than deleting it. If something you forgot about was still using it, re-enable takes one click, and disabling is the part you can do yourself without being an Owner. + +Both actions take effect at once, so nothing gets a grace period. And never commit a key to version control: use environment variables or a secret manager. -## Next Steps +## Gateway keys are separate + +The keys on this page are platform API keys. The Agent Command Center has its own keys under **Gateway > API Keys**, and those are reachable by anyone in the organization. + +## Dive deeper -- [SDK & API](/docs/sdk) -- [Roles & Permissions](/docs/roles-and-permissions) + + + Install the SDK and send your first call with these keys + + + Who can reach the Keys page, and what each role can do there + + diff --git a/src/pages/docs/admin-settings/user-management.mdx b/src/pages/docs/admin-settings/user-management.mdx index f2cdcea9e..060f33c79 100644 --- a/src/pages/docs/admin-settings/user-management.mdx +++ b/src/pages/docs/admin-settings/user-management.mdx @@ -1,57 +1,98 @@ --- -title: "User Management: Invite & Assign Roles" -description: "Invite team members, assign Owner, Admin, Member, or Viewer roles, manage workspace access, and deactivate users in Future AGI." +title: "User Management" +description: "Adding people to your organization and setting what they can reach" --- -## About +The Members page is where you add people to your organization, change what they can reach, and remove access. For what each role can do once they are in, see [Roles & Permissions](/docs/roles-and-permissions). -User Management lets you invite people to your organization, assign organization-level roles, manage workspace access, and deactivate or remove members. For details on what each role can do, see [Roles & Permissions](/docs/roles-and-permissions). +Open it from **Settings > Members**. Every person gets one row, showing their name, organization role, workspaces, email, status, and start date. -Access: **Owner** and **Admin** only. +Owners and Admins can open this page. A Workspace Admin cannot, but can still invite people, as described below. -## How to Invite Users +## Inviting people + +There are two ways in. + +**From the Members page.** Click **Invite User** at the top right. + +**From the workspace switcher.** Open the switcher at the top of the sidebar and choose **Invite members**. This is the path a Workspace Admin uses, since they cannot open the Members page. - - Go to **Settings > User Management**. + + One invite can cover several people at once, as a comma separated list. - - Click **Add User** or **Invite**. + + Owner, Admin, Member, or Viewer. The dialog describes each one above the field. - - Enter the user's email address. + + Choose one or more workspaces and a single workspace role that applies to all of them. At least one workspace is required. - - Select an organization role: Owner, Admin, Member, or Viewer. - - - Optionally assign them to one or more workspaces. - - - Click **Invite**. The user receives an email invitation. Their status shows as "Pending" until they accept. + + Click **Send Invite**. -## Managing Members +If you grant **Admin** or **Owner**, both workspace fields disappear and are replaced by *Owner and Admin roles have automatic access to all workspaces.* + + +You can only grant your own role or something below it. An Admin's Organization Role list contains Admin, Member, and Viewer, and no Owner. A Workspace Admin's invite has no Organization Role field at all, so they grant a workspace role only, one of Workspace Admin, Workspace Member, or Workspace Viewer. + + +The new row shows as **Pending** until the person accepts. If the email already belongs to a Future AGI account, they are added immediately and show as **Active**. + +A Pending row carries two actions: **Resend the invite** and **Cancel invite**. A cancelled invite comes off the list. + + +Invites expire. The invite itself is valid for 7 days, and the link inside the email stops working sooner than that. If someone says the link is dead, resend the invite from their row rather than waiting for it to lapse. + -| Action | How | -|--------|-----| -| Search | Use the search bar to find members by name. | -| Filter by status | Filter to show Active, Pending, or all members. | -| Filter by role | Filter by Owner, Admin, Member, or Viewer. | -| Change role | Click the edit action on a member's row. Select a new role. | -| Remove member | Click the delete action. This revokes all access immediately. | -| Reactivate | Deactivated users can be reactivated from the member list. | +## Editing someone's access -## Workspace Assignment +Every row carries two actions, **Edit user info** and **Remove from organization**. -When editing a user, you can assign or remove them from specific workspaces. Workspace-level roles (workspace_admin, workspace_member, workspace_viewer) are set separately from the organization role. +**Edit user info** holds an Organization Role and a Workspace Role. + +| What you can change | Options | +|---|---| +| Organization role | Owner, Admin, Member, or Viewer | +| Workspace role | Workspace Admin, Workspace Member, or Workspace Viewer | +| Workspaces | Which workspaces they belong to. Appears once you set someone to Member or Viewer | + +Setting someone to Member or Viewer adds a required **Workspaces** field, because *Members and Viewers need explicit workspace access.* Any workspace you leave unselected is removed from them. + +Promoting someone to **Admin** or **Owner** gives them Workspace Admin everywhere at once, and the workspace fields disappear. -For a detailed breakdown of what each role can access, see [Roles & Permissions](/docs/roles-and-permissions). +You can only act on someone whose role is below yours. Owners are the exception and can act on other Owners. Where you cannot, the row's menu is disabled and tells you why: *You can't edit your own role*, or *You cannot manage a user at or above your own level.* -## Next Steps +## Removing and reactivating someone + +Removing someone from the organization ends their access immediately. Nothing they produced is lost. + +A few things are blocked outright: + +- You cannot remove yourself +- You cannot remove or demote the last remaining Owner, so promote a second Owner first +- You cannot remove anyone from their last workspace +- You cannot remove an Owner or Admin from a workspace, since they reach every workspace anyway + +Reactivating is not something the dashboard offers. A removed person is marked Deactivated and there is no control anywhere that brings them back, so contact the Future AGI team if somebody has to be restored. + +## Finding people + +Above the table sit a **Search by name or email** box, an **All status** filter, and an **All Roles** filter. + +## Dive deeper -- [Roles & Permissions](/docs/roles-and-permissions) -- [Organization Settings](/docs/admin-settings/organization-settings) + + + What each organization and workspace role can reach + + + Create workspaces and manage who belongs to them + + + The organization name and its security policy + + diff --git a/src/pages/docs/admin-settings/workspace-management.mdx b/src/pages/docs/admin-settings/workspace-management.mdx index 071a5efda..238a1037b 100644 --- a/src/pages/docs/admin-settings/workspace-management.mdx +++ b/src/pages/docs/admin-settings/workspace-management.mdx @@ -1,45 +1,85 @@ --- -title: "Workspace Management: Projects & Teams" -description: "Create workspaces to isolate environments and teams, manage workspace members, AI providers, integrations, and usage per workspace." +title: "Workspace Management" +description: "Creating workspaces and controlling who can reach the work inside them" --- -## About +A workspace holds its own datasets, prompts, members, AI provider configurations, integrations, and usage tracking. None of it is visible from another workspace, so use workspaces to keep production apart from staging, or one team's work apart from another's. -Workspaces let you organize projects and control access within your organization. Each workspace has its own members, AI provider configurations, integrations, and usage tracking. Use workspaces to separate environments (production vs staging), teams (engineering vs data science), or projects. +Owners and Admins create workspaces. A Workspace Admin manages the workspaces they administer. See [Roles & Permissions](/docs/roles-and-permissions). -Access: Owner and Admin at the organization level. Workspace admins can manage their own workspace settings. +## Creating a workspace -## Creating a Workspace +There are two ways in. -1. Go to **Settings > Workspace** -2. Click **Create Workspace** -3. Enter a name for the workspace -4. Click **Create** +**From Settings.** Go to **Settings > Workspaces** and click **Create New Workspace**. -## Workspace Settings +**From the switcher.** Open the switcher at the top of the sidebar, hover the workspace name, and choose **Create Workspace**. -Each workspace has its own settings page with these sections: +Both open the same dialog. Enter a name and click **Create workspace**. You become the admin of the workspace you create. -| Section | What it controls | -|---|---| -| General | Workspace name | -| Members | Who has access and their workspace-level roles | -| Integrations | Workspace-specific integration connections | -| AI Providers | Workspace-specific AI provider configurations | -| Usage | Workspace-level usage metrics | + +Workspace names are unique inside an organization. Reusing one gives you **Workspace with this name already exists**. + + +If **Create Workspace** is not offered in your switcher, your role cannot create one. Ask an Owner or Admin. + +## The workspaces list + +**Settings > Workspaces** lists every workspace in the organization with its name, admins, start date, and last updated date, and has a search box above the table. + + +There is no way to delete a workspace from the dashboard. Neither this list nor a workspace's own General page offers one. If you need a workspace removed, contact the Future AGI team. + + +## Workspace settings + +Open a workspace from **Your Workspaces** in the Settings navigation, or from **Workspace settings** in the switcher. What you get depends on your role in that workspace. + +| Tab | What it controls | Workspace Admin | Workspace Member | Workspace Viewer | +|---|---|---|---|---| +| General | The workspace name, with a **Save Changes** button | Yes | Yes | Yes, but with no Save | +| Members | Who has access and their workspace role | Yes | No | No | +| Integrations | The workspace's own integration connections | Yes | Yes | No | +| AI Providers | The workspace's own AI provider configurations | Yes | Yes | No | + +Owners and Admins get all four in every workspace, since they are Workspace Admins everywhere. A Workspace Viewer gets General alone and cannot save it, so the page is read-only for them. + +## Managing workspace members + + + + From **Your Workspaces** in the Settings navigation, or **Workspace settings** in the switcher. + + + The grid lists each person with their name, organization role, workspace role, email, status, and start date. + + + Add or remove members, and set each one to Workspace Admin, Workspace Member, or Workspace Viewer. + + + +The actions on a row are **Edit user info** and **Remove from workspace**. -## Managing Workspace Members + +Managing workspace members still follows the organization role. A Workspace Admin whose organization role is Member can act on the people in their workspace whose organization role is Viewer, and every other row is disabled with *You cannot manage a user at or above your own level.* If you need to change someone at or above your own organization role, ask an Owner or Admin. + -1. Open the workspace settings (click on a workspace from the list) -2. Go to the **Members** tab -3. Add or remove members, and set their workspace-level role (`workspace_admin`, `workspace_member`, `workspace_viewer`) +A Workspace Admin can also invite straight into their workspace with **Invite members** in the switcher. That invite grants a workspace role only, never an organization role. -Organization-level roles and workspace-level roles are separate. A user can be a "Member" at the org level but a "workspace_admin" in a specific workspace. See [Roles & Permissions](/docs/roles-and-permissions) for how these interact. +Organization roles and workspace roles are separate. Someone can be an organization Member and a Workspace Admin in one workspace, and an organization Viewer added as a Workspace Member can create and edit there. -## Next Steps +## Dive deeper -- [User Management](/docs/admin-settings/user-management) - Add and manage organization members -- [AI Providers](/docs/admin-settings/ai-providers) - Configure LLM providers per workspace -- [Integrations](/docs/admin-settings/integrations) - Connect external tools per workspace + + + Add and manage the people in your organization + + + Configure LLM providers per workspace + + + Connect external tools per workspace + + diff --git a/src/pages/docs/roles-and-permissions.mdx b/src/pages/docs/roles-and-permissions.mdx deleted file mode 100644 index e9309d9e5..000000000 --- a/src/pages/docs/roles-and-permissions.mdx +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: "Future AGI Roles and Permissions: RBAC Access Control" -description: "Future AGI provides role-based access control (RBAC) with organization roles (Owner, Admin, Member, Viewer) and workspace roles for team access management." -icon: "user-shield" ---- - -Future AGI provides a role-based access control (RBAC) system with two levels: **organization roles** and **workspace roles**. This guide explains what each role can do and how access works across your team. - ---- - -## Organization Roles - -Every user in your organization has one of four roles. These control what the user can do across the entire organization. - -| Role | Description | -|------|-------------| -| **Owner** | Full control over the organization. Can manage billing, settings, members, and all workspaces. Every organization must have at least one owner | -| **Admin** | Same access as Owner, except cannot manage Owners or other Admins. Automatically gets admin access to all workspaces | -| **Member** | Can view, create, and edit resources in workspaces they belong to. Cannot manage members or organization settings | -| **Viewer** | Read-only access. Can view data but cannot create, edit, or delete anything | - - -**Owner and Admin users automatically get Workspace Admin access to every workspace** in the organization. You do not need to add them to individual workspaces. - - ---- - -## Workspace Roles - -Workspaces let you organize projects, datasets, traces, and queues into separate groups. Users who are not Org Admins or Owners need explicit workspace membership to access a workspace. - -| Role | Can View | Can Edit | Can Manage Members | -|------|----------|----------|--------------------| -| **Workspace Admin** | Yes | Yes | Yes | -| **Workspace Member** | Yes | Yes | No | -| **Workspace Viewer** | Yes | No | No | - -You can view workspace members and their roles from the workspace settings page. - -![Workspace members](/images/rbac/workspace-members.png) - - -### How workspace access is determined - -A user's effective workspace access is the **higher** of their organization role and their workspace role: - -- An **Org Admin** always has Workspace Admin access everywhere, even without explicit workspace membership -- An **Org Member** with **Workspace Admin** on a specific workspace gets admin access only in that workspace -- An **Org Member** with no workspace membership has **no access** to that workspace - ---- - -## Inviting Users - -Org Admins and Workspace Admins can invite new users to the organization. You can manage all members from the **Organization > Members** page. - -![Members page](/images/rbac/users-list.png) - - - - - Go to **Organization > Members** in the sidebar. - - - Click the invite button and enter the user's email address. - - - Choose the organization role: Owner, Admin, Member, or Viewer. - - - Select which workspaces the user should have access to and set their workspace role for each. - - - The user receives an email invitation. The invite is valid for 7 days. - - - -![Invite modal](/images/rbac/invite-modal.png) - - -### Invitation rules - -- You can only invite users at a role **equal to or below** your own role. An Admin cannot invite an Owner. -- **Workspace Admins** can invite users but only grant access to workspaces they manage. -- If an invite is not accepted within 7 days, it expires. You can resend it from the members list. - ---- - -## Managing Members - -### Changing a user's role - -Org Admins and Owners can change any member's organization role or workspace role from the **Users** page. - -![Role change](/images/rbac/role-change.png) - - -- You cannot manage a user **at or above your own role** (escalation prevention). Only Owners can manage other Owners. -- If you promote a user to Admin or Owner, they automatically get Workspace Admin access to all workspaces -- If you demote an Admin to Member, their workspace access reverts to their explicit workspace memberships - -### Removing a user - -- Removing a user from the **organization** also removes them from all workspaces -- Removing a user from a **workspace** only removes workspace access — they stay in the organization -- You cannot remove the **last Owner** of an organization -- You cannot remove **yourself** - -### Reactivating a user - -Previously removed users can be reactivated from the members list. Their original role is preserved. - ---- - -## Permission Summary - -| Action | Owner | Admin | Member | Viewer | -|--------|-------|-------|--------|--------| -| View traces, sessions, datasets | Yes | Yes | Yes | Yes | -| Create/edit traces, datasets, queues | Yes | Yes | Yes | No | -| Manage organization settings | Yes | Yes | No | No | -| Invite and manage members | Yes | Yes | No | No | -| Manage Owners and Admins | Yes | No | No | No | -| Access all workspaces automatically | Yes | Yes | No | No | -| Manage billing | Yes | Yes | No | No | -| Create/delete workspaces | Yes | Yes | No | No | - -| Workspace Action | Workspace Admin | Workspace Member | Workspace Viewer | -|------------------|-----------------|------------------|------------------| -| View workspace resources | Yes | Yes | Yes | -| Create/edit resources | Yes | Yes | No | -| Manage workspace members | Yes | No | No | -| Invite users to workspace | Yes | No | No | - ---- - -## FAQ - - - - Yes. A user can be a member of multiple workspaces with different roles in each. - - - Yes. A user can be a Workspace Admin in one workspace and a Workspace Viewer in another. - - - You still have full Workspace Admin access. Org Admins and Owners automatically get admin access to every workspace. - - - Yes, but they can only grant access to workspaces they manage. They cannot grant access to other workspaces. - - - No. Every organization must have at least one Owner. Transfer ownership to another user first. - - - They lose access to all workspaces and all organization resources immediately. Their data (annotations, scores, etc.) is preserved. - - diff --git a/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx b/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx new file mode 100644 index 000000000..52aa0212f --- /dev/null +++ b/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx @@ -0,0 +1,136 @@ +--- +title: "How the two roles combine" +description: "Which role applies when someone holds an organization role and a workspace role at once" +--- + +## Two roles, two jobs + +Everyone gets two roles, and they do different jobs. + +- Your **organization role** decides who you can manage, and whether you reach organization settings and billing +- Your **workspace role** decides what you can do with the work inside a workspace + +The two are independent, which is what makes the useful combinations possible. A team lead can run one workspace completely while holding a low organization role, and an engineer can build freely in their workspace without reaching anything organization-wide. + +## Organization roles + +Everyone in an organization holds one of four roles. They rank in this order, Owner highest and Viewer lowest. The ordering decides who can invite and manage whom. + +These are the descriptions the product itself shows you when you set someone's role. + + + + Full control. Can manage billing, members, and transfer ownership + + + Full control on manage settings, members, and permissions + + + Collaborate within the space, accessing tools and tasks shared with them + + + Read-only access to shared resources + + + +An organization keeps at least one Owner at all times, so ownership moves by promoting a second Owner and then demoting the first. An Admin reaches billing and the plan on the same terms as an Owner, but cannot change an Owner or another Admin. + + +Owners and Admins are **Workspace Admins** in every workspace, automatically. + +- They need no workspace membership of their own +- Promoting someone to Admin or Owner grants that access across every workspace at once +- Demoting them asks you to pick the workspaces they keep + + +## Workspace roles + +A Member or Viewer sees nothing in a workspace until they are added to it. Their role in that workspace is one of three. + +| Role | View | Create and edit | Manage workspace members | +|---|---|---|---| +| Workspace Admin | Yes | Yes | Yes, for people whose organization role is lower | +| Workspace Member | Yes | Yes | No | +| Workspace Viewer | Yes | No | No | + +The last column carries a second condition. A Workspace Admin manages the members of their workspace, and the organization role still applies on top, so they can change or remove only the people whose organization role is lower than their own. + +Every Member and Viewer needs at least one workspace, and the invite form will not send without one. Someone with no workspace sees an empty product on sign-in, so check their row on **Settings > Members** first. + +## When both apply + +You hold an organization role and, in each workspace you belong to, a workspace role. + +- Owner or Admin: Workspace Admin in every workspace, whether or not they were added to it +- Everyone else: the workspace role applies inside that workspace +- Member or Viewer with no membership: no access, and the workspace does not appear for them + +Inside a workspace, the workspace role is the one that applies, in both directions. An organization Viewer added as Workspace Member can create, edit and share there. An organization Member added as Workspace Viewer cannot: Add Dataset, Add Row, Add Column, Run Prompt, Evaluate, Share and Create prompt are all greyed out for them. + +One person can hold a different role in each workspace, and the difference is visible. In a workspace where you are a Workspace Member, a dataset gives you Add Row, Add Column, Run Prompt, Evaluate and Share. In a workspace where you are a Workspace Viewer, the same dataset greys all of those out and leaves you Compare and the read-only tabs. + +A Workspace Admin cannot open organization settings or create a workspace. Both need an organization Admin or Owner. The role does give **Invite members** in the workspace switcher, the Members tab inside that workspace's own settings, and the **Build > Keys** page. + +## What each role sees + +The left sidebar and Settings are where a role difference shows first, and they follow different roles. + +The **Settings** list follows your organization role, so it is identical in every workspace you switch to. Three things follow your role in the particular workspace instead, and appear and disappear as you switch: **Build > Keys** in the sidebar, **Invite members** in the switcher, and the tabs inside a workspace's own settings. + +Every role sees the same left sidebar, with one exception. **Build > Keys** appears for Owners, Admins and Workspace Admins, and for nobody else. + +The full grids are on the [permission reference](/docs/roles-and-permissions/reference/permissions). + +## Annotation queue roles + +[Annotation queues](/docs/annotations/concepts/queues-and-items) carry one more set of roles, granted per person per queue. They control what someone can do to the items in a queue. They do not control who can see the queue: anyone with access to the workspace can browse it. + +| Queue role | What it covers | +|---|---| +| Annotator | Annotates the items assigned to them | +| Reviewer | Reviews other people's annotations and sends work back for rework | +| Manager | Manages the queue itself, its settings and its people | + +Each person you add to a queue gets three independent checkboxes, one per role, so the roles combine freely. Someone needs both Annotator and Reviewer ticked to do both jobs. Whoever creates the queue is added with all three already ticked. The people you can add are the members of the workspace the queue is in. + + +Inside a queue, the queue role applies instead of the workspace role. Someone with the Annotator role can annotate in that queue even if they cannot create or edit anything else in the workspace. + + +Two settings on the queue change how the work is handed out: + +- **Auto-assign items to all annotators.** With this on, every annotator is assigned every item and anyone can annotate any item +- **Submissions per item.** How many annotators must label each item, at most the number you have added + +## Mental model + + ORG["Their organization role"] + ORG -->|"Owner or Admin"| ALL["Workspace Admin in every workspace"] + ORG -->|"Member or Viewer"| ADDED["Added to this workspace?"] + ADDED -->|"no"| NONE["No access, workspace not listed"] + ADDED -->|"yes"| WS["Their workspace role decides"] + ALL --> WORK["What they can do with the work"] + WS --> WORK + WORK --> QUEUE["Inside a queue, the queue role applies instead"] + ORG --> RANK["Who they can manage, and billing and organization settings"]`} /> + +## Why it matters + +The combination people get wrong is a team lead who cannot manage their own team. Making the lead an organization Member and a Workspace Admin looks right, and it fails the moment the people they lead are also organization Members, because a Workspace Admin can only act on people whose organization role is lower than their own. Put the people they lead in as organization Viewers and the same setup works. That one decision is the difference between a lead who runs their workspace and a lead who has to ask you for every removal. + +## Keep exploring + + + + Every action against every role, in one place + + + Pick the combination that fits, from an empty organization + + + Invites, role changes, and a clean offboarding + + diff --git a/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx b/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx new file mode 100644 index 000000000..76529560d --- /dev/null +++ b/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx @@ -0,0 +1,100 @@ +--- +title: "Organizations & workspaces" +description: "Where the boundary between two teams actually sits, and the four places it does not hold" +--- + +## The two levels + +Every Future AGI account has an **organization**. Inside it sit one or more **workspaces**, and every workspace holds the same kinds of thing. + +Access has two levels. The organization holds members and roles, the plan and billing, and organization settings. Under it sit workspaces, and every workspace holds the same kinds of thing: traces, datasets, evaluations, prompts, annotation queues and knowledge bases. + +*The organization is the billing boundary. The workspace is the data boundary* + +The organization is where billing lives. The workspace is where the data lives. Each has its own set of roles, so you hold one role in the organization and one in each workspace you belong to. + +Every organization is created with one workspace, called **Default Workspace**. Workspace names are unique inside an organization, and reusing one gives you **Workspace with this name already exists**. + +## What is scoped where + +This boundary decides what a teammate in another workspace can see. + + + + Datasets, traces and Observe projects, the evaluations and evaluation templates you create, prompts and prompt folders, annotations and annotation queues, knowledge bases, custom models, agent playground graphs, optimization runs, and integration and AI Provider connections + + + Members, roles and invites, the plan, billing, invoices and wallet balance, resource and rate limits, gateway API keys and gateway request logs, organization settings, MCP server settings, and the Settings pages for AI Providers, Integrations and Falcon AI Connectors + + + +Integrations and AI Providers appear on both sides because there are two of each: an organization Settings page, and a tab inside every workspace holding that workspace's own connections. Reaching one does not give you the other. + +Switching workspace changes the work. Datasets and prompts are completely separate lists per workspace. Your Settings list stays the same, and the only sidebar entry that moves is **Build > Keys**, which appears where your workspace role allows it. + +Future AGI's built-in evaluations are available in every workspace of every organization. An evaluation template you build yourself belongs to the workspace you built it in, so rebuild it in the second workspace, or keep shared evaluations in a workspace everyone belongs to. + +## What the boundary does not cover + +Separating teams into workspaces separates their work. Four things stay shared across the whole organization. + +| Not separated | What that means | +|---|---| +| The gateway | Every role opens every page under **Gateway**, and the request logs are stamped with the organization rather than a workspace | +| Where a key can send | A key always writes to its own organization, whichever one you have open in the dashboard | +| What a key can be aimed at | Traces are fixed to the key's workspace, but other SDK and API calls can name any workspace you have access to in the same organization | +| Usage and billing | One plan, one balance, one invoice. **Usage Summary** is open to every role and breaks consumption down by workspace | + +Three consequences follow: + +- Anyone who can sign in sees every team's gateway traffic, so keep a team's traffic off the gateway if it has to stay private +- Every role can see what every team is using on **Usage Summary** +- A key is scoped by who holds it, not by where it was made + + +**Gateway** is in the sidebar for everyone, including a Viewer, and every page under it opens: Providers, API Keys, Guardrails, Fallbacks, the request logs, budgets and webhooks. Treat gateway configuration as visible to your whole organization. + +Only reading is open to everyone. Writing is still checked, just later than elsewhere. The gateway leaves its create buttons live instead of greying them out, then refuses on submit with **Write access denied to this workspace**. If you cannot create in a workspace, you cannot create here either. + + +## Where a key lands + +A [platform API key](/docs/admin-settings/api-keys) belongs to one organization for good, and inside it to one workspace. The key takes whichever workspace you had open when you created it. Nothing in the **Add API Key** dialog says so and there is no field to change it, so switch into the workspace before you create the key. + +Traces always land in the workspace the key was created in. The one exception is the starter `system_org_key`, which was never created in a workspace and lands in the organization's default one. A workspace header on a trace export is ignored, so a trace cannot be redirected afterwards. + +Other SDK and API calls can override the key, in this order: + +1. An `X-Workspace-Id` header or a `workspace_id` query parameter takes precedence, provided that workspace is in the same organization and you have access to it +2. Otherwise the workspace the key was created in +3. Otherwise the workspace you last used in that organization, then the first workspace you belong to, and if you belong to none, the organization's default workspace + + +Data in the wrong place is almost always the key. Make one key per workspace, name it after the workspace, and create each one while you are inside it. + + +## One person, many organizations + +One person can belong to several organizations, with a different role in each. Owner in one, Member in another, Viewer in a third. + +Organizations share nothing: separate workspaces, separate members, separate plan, separate billing, separate keys. Two teams that genuinely need separate gateway logs or separate invoices need separate organizations, because neither splits by workspace. + +Move between them from the switcher at the top of the sidebar. Hover **Organization** to see the list. Future AGI remembers where you were, so the organization and workspace you last used are where you land next time, on any device. + +## Why it matters + +The workspace is the thing you reach for when one group must not see another group's work, and it does that job completely for datasets, traces, prompts and evaluations. What it does not do is contain a credential, a gateway log or a bill, and those three are exactly where an isolation promise tends to be made. Read the four rows above before you promise a customer that two teams are separated. + +## Keep exploring + + + + Which role applies when someone holds an organization role and a workspace role + + + Every action against every role + + + Turn this boundary into a working setup + + diff --git a/src/pages/docs/roles-and-permissions/guides/manage-people.mdx b/src/pages/docs/roles-and-permissions/guides/manage-people.mdx new file mode 100644 index 000000000..4f127c498 --- /dev/null +++ b/src/pages/docs/roles-and-permissions/guides/manage-people.mdx @@ -0,0 +1,100 @@ +--- +title: "Add, change and remove people" +description: "Invite someone, change what they reach, and take their access away without leaving a live credential behind." +--- + +Adding someone is the easy half. The half that goes wrong is taking access away, because removing a person from the organization ends their sign-in and leaves every API key they created working. This guide covers the whole lifecycle on **Settings > Members**, and what an offboarding has to include to actually close. + +## Before you start + +- You are an Owner or an Admin, the two roles that can open **Settings > Members**. A Workspace Admin manages their own workspace's members instead, from **Workspace settings** in the switcher +- You can act on anyone whose organization role is lower than yours. Owners are the exception and can act on other Owners +- Every Member and Viewer needs at least one workspace, so decide which before you start + +## Invite someone + +There are two ways in, and which one you get depends on your role. + +**From the Members page.** Click **Invite User** at the top right. This is the Owner and Admin path, and it is the only one that carries an Organization Role field. + +**From the workspace switcher.** Choose **Invite members**. This is the Workspace Admin path, and it appears only while they are standing in a workspace they administer. Once the dialog is open the workspaces picker offers every workspace they belong to, so someone who is Workspace Admin of one workspace and a Workspace Member of another can still invite into both, as long as they start from the one they administer. + +Either way, one invite can cover several addresses as a comma separated list, and every address in it gets the same organization role, the same workspace role and the same set of workspaces. Granting Admin or Owner removes both workspace fields and replaces them with *Owner and Admin roles have automatic access to all workspaces.* + +The invite dialog, showing the emails field, the organization role selector, one workspace role, and the workspaces to apply it to. + +*Granting Admin or Owner removes the workspace fields, because those roles reach every workspace already* + +The new row shows as **Pending** until the person accepts, or **Active** immediately if the address already has a Future AGI account. A Pending row carries exactly two actions, **Resend the invite** and **Cancel invite**. + + +A Workspace Admin's invite has no Organization Role field, so they cannot set anyone's organization role and only an Owner or Admin can change it afterwards. If your team leads onboard their own people, check **Settings > Members** afterwards and set the organization role yourself. + + +An invite is valid for 7 days, after which it shows as Expired. The link inside the email expires sooner than the invite itself, so resend rather than waiting if the link stops working. Resending issues a fresh link and restarts the window. + +Inviting someone who is already an active member does not create a second invite. It adds that person to the workspaces you selected. To change an existing member's organization role, use **Edit user info** on their row. + +## Change someone's access + +The Members page, with one row per person showing their organization role, their workspaces, their status, and their start date. + +*Every person carries one organization role and the workspaces they belong to* + +**Settings > Members** lists everyone with their name, organization role, workspaces, email, status, and start date, and filters for status and role. Each row carries **Edit user info** and **Remove from organization**. + +Where you cannot act on someone, the menu is disabled and says why: *You can't edit your own role*, or *You cannot manage a user at or above your own level.* + +**Edit user info** holds an Organization Role and a Workspace Role. Setting someone to Member or Viewer adds a required **Workspaces** field, because *Members and Viewers need explicit workspace access.* Any workspace you leave unselected is removed from them in the same step, so read that field before you save it. + +- Promoting someone to Admin or Owner makes them a Workspace Admin in every workspace at once +- Demoting an Admin to Member or Viewer asks you to pick the workspaces they keep +- The last remaining Owner can neither be demoted nor removed. Promote a second Owner first + +## Remove or reactivate someone + +Removing someone from the organization asks you to confirm, then ends their sign-in and marks them Deactivated. Removing them from a single workspace leaves their organization membership intact. + +A few things are blocked outright: + +- You cannot remove yourself, from the organization or from a workspace. Ask another Owner or Admin +- You cannot remove anyone from their last workspace +- You cannot remove an Owner or Admin from a workspace, since they reach every workspace regardless +- You cannot remove the last remaining Owner + +Removal does not delete anything a person produced. Annotations, scores and other output stay in place. + +Reactivating is not something the dashboard offers. A removed person is marked Deactivated and no control anywhere brings them back, so contact the Future AGI team if somebody has to be restored. + +## Require two-factor authentication + +Owners and Admins reach [**Settings > Org Settings**](/docs/admin-settings/organization-settings), titled Organization Settings, which holds the organization name and the security policy. + +Under **Organization Security** there is one toggle, **Require 2FA for all members**. With it on, all organization members must set up two-factor authentication. + + +You must enable two-factor authentication on your own account before requiring it for the organization. The page links straight to Profile Settings so you can. + + +Members and Viewers cannot open Org Settings, so they cannot change the policy. + +## Close out an offboarding + + +**A platform API key belongs to the organization, not to the person who created it.** Removing someone does not disable any key they made, and anything still using that key keeps working. + +Go through **Build > Keys** in **every workspace they belonged to**, because that page only ever shows the keys of the workspace you have open. Check the **Created By** column and disable theirs. Deleting needs an Owner, so if you are an Admin, disable it now and hand the deletion to an Owner. + + +Two more things survive a removal and are worth a look on the way out. Any [share link](/docs/roles-and-permissions/guides/share-outside-your-organization) they created still works, and a dataset link cannot be withdrawn from the dashboard at all. And there is no activity log anywhere in the product, so if you need a record of what they changed, it has to come from Future AGI rather than from a screen. + +## Dive deeper + + + + What each role can grant, and who can act on whom + + + What to check when a role change did not do what you expected + + diff --git a/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx b/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx new file mode 100644 index 000000000..fac5238b0 --- /dev/null +++ b/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx @@ -0,0 +1,97 @@ +--- +title: "Set up your team" +description: "Decide your workspaces, pick a role for each person, invite them, and hand out keys that land in the right place." +--- + +An organization arrives with one workspace and one person in it, and the shape you give it in the first hour is the shape it keeps, because a workspace cannot be deleted from the dashboard and a key cannot be moved between workspaces. This guide covers the five decisions that are awkward to undo, in the order they come up. + +## Before you start + +- You are the Owner, or an Admin, the two roles that can create workspaces and open **Settings > Members** +- You know which groups of people must not see each other's work, since that is the only question a workspace answers +- You have the email address of everyone you are inviting + +## Decide how many workspaces you need + +A workspace is the data boundary. Your datasets, traces, evaluations, prompts, annotations and knowledge bases live inside one workspace and cannot be seen from another. [What is scoped where](/docs/roles-and-permissions/concepts/organizations-and-workspaces#what-is-scoped-where) has the full list, along with the four things the boundary does not cover. + +One workspace is enough if everyone is allowed to see everything. Add a second when one group must not see another group's work, or when you want production and staging kept apart. + +Your organization already has one, called **Default Workspace**. Nothing in the dashboard deletes a workspace, this one included, so use it for one of your teams, leave it empty, or ask the Future AGI team to remove it. + +There are two ways to add one, and both open the same dialog. Either open the **workspace switcher** at the top of the left sidebar, hover the workspace name and choose **Create Workspace**, or go to **Settings > Workspaces** and click **Create New Workspace**. Name it and click **Create workspace**. You become its admin. Names must be unique in the organization, and reusing one gives you **Workspace with this name already exists**. + + +The switcher does more than switch. It creates workspaces, moves you between workspaces and organizations, opens Settings, and is where a Workspace Admin invites people. You will be back in it throughout this guide. + + +## Pick a role for each person + +Everyone gets two roles. The organization role decides who they can manage and whether they reach organization settings and billing; the workspace role decides what they can do with the work. [How the two roles combine](/docs/roles-and-permissions/concepts/how-roles-combine) covers the interaction; this is the shortlist. + +| What they need to do | Organization role | Workspace role | +|---|---|---| +| Set the organization up | Owner | Every workspace, automatically | +| Share the account, the people and the billing with you | Admin | Every workspace, automatically | +| Run one workspace and manage the people in it | Member | Workspace Admin | +| Build and edit inside one workspace | Viewer | Workspace Member | +| Read one workspace without changing it | Viewer | Workspace Viewer | + + +**Owners and Admins reach every workspace, automatically and permanently.** You cannot make someone an Admin and keep one workspace out of their reach. If a boundary matters, make them a Member or Viewer and add them only to the workspaces they should see. + + +To give someone control of one workspace and nothing else, make them an organization **Member** and a **Workspace Admin** in that workspace. They can then invite into it and manage its members, without reaching billing, organization settings, or anyone else's workspace. + + +**Why the Workspace Members above are organization Viewers, not Members.** A team lead can only manage people whose organization role is lower than their own. If the people they lead are also organization Members, the lead's row menu is disabled with *You cannot manage a user at or above your own level.* + +Organization Viewer takes almost nothing away here. The **Workspace Member** role still creates, edits and shares everything in that workspace, and still opens the workspace's own Integrations and AI Providers tabs. What it drops is the organization-level **AI Providers** page in Settings. + +If that page is needed, use Member instead, and the team lead will not be able to remove them. + + +## Invite them + +Go to **Settings > Members** and click **Invite User**. Enter the addresses in **Emails**, comma separated, so one invite can cover several people. Pick the **Organization Role**, then the **Workspace Role**, then the **Workspaces** it applies to, and click **Send Invite**. + +One invite carries one organization role, one workspace role and one set of workspaces, and every address in it gets all three. People who need different roles or different workspaces need separate invites, so send one per group rather than one for the whole team. + +Choosing Admin or Owner removes both workspace fields and says *Owner and Admin roles have automatic access to all workspaces.* + +Each person appears as **Pending** until they accept, or immediately as **Active** if they already have a Future AGI account. An invite lasts 7 days, and a Pending row carries **Resend the invite** and **Cancel invite**. + +## Hand out the API keys + +Your SDK and your traces authenticate with a platform API key. + + +**Switch into the right workspace first.** A key belongs to whichever workspace you have open when you create it. Traces sent with it land there, and the Keys page only ever lists the keys of the workspace you are currently in. The dialog says none of this and gives you no workspace to pick, so the switcher is your only control over it. + +Make the key for `research` while you are inside `research`. A key made in the wrong workspace does not appear on the Keys page until you switch back to it. + + +Open **Build > Keys** in the left sidebar and click **Add API Key**. It asks for a name and nothing else. You are then shown an API Key and a Secret Key, both masked, so take each with its copy button. If you are making this key for somebody else, send them both values now, before you close the dialog. It does not come back, and there is no way to reveal a secret later. + +Only Owners, Admins and Workspace Admins can open this page, so decide who issues keys. [API Keys](/docs/admin-settings/api-keys) covers rotation and the difference between a platform key and a gateway key. + +## Check it worked + +Three read-only checks close the setup out. + +- **Settings > Members** lists everyone with their role, their workspaces, and Active or Pending +- **Settings > Workspaces** lists every workspace with its admins +- Ask one teammate to sign in. They should see their own workspaces in the switcher and nothing else + +The setup is done when every person is on the Members page with the role you intended, and a Member or Viewer signing in sees only the workspaces you put them in. + +## Dive deeper + + + + Role changes, removals, and what an offboarding has to cover + + + Every action against every role, once the team is in + + diff --git a/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx b/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx new file mode 100644 index 000000000..122d0f7c8 --- /dev/null +++ b/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx @@ -0,0 +1,49 @@ +--- +title: "Share outside your organization" +description: "Give somebody one dataset or one Observe project without giving them a role, and know which of the two you can take back." +--- + +A share link grants access to a single resource without granting a role, which makes it the fastest way to show a customer or an auditor one thing. It is also the one access path that ignores workspaces entirely, and only one of the two kinds can be withdrawn afterwards. This guide covers both, and which is which. + +## Before you start + +- You can create or edit in the workspace the resource lives in. For a Workspace Viewer the **Share** button is greyed out +- You have decided whether the person should be named, because a dataset link cannot be restricted to named people and an Observe project link can +- You accept that a link you send is effectively permanent, since nothing in the dashboard sets an expiry or issues a fresh URL + +## Share a dataset + +Open the dataset and click **Share**. The dialog gives you the dataset's own address, a copy button, **Cancel** and **Done**, and it says *Share this link to give others access to the selected dataset. Anyone with the link will be able to view the data.* + +That is the whole feature. There is no restricted option, no expiry and no revoke, and once you click **Done** there is nothing in the dialog to undo it. Whoever holds the URL can open the dataset with no account and no sign-in. + + +**A dataset link cannot be taken back from the dashboard.** Contact the Future AGI team if one has to be withdrawn. Send one only where public access to that data is acceptable. + + +## Share an Observe project + +Open the project and click **Share**. An Observe project behaves differently in three ways that matter. + +It hands out a separate `app.futureagi.com/shared/...` address rather than the project's normal one. Its dialog reopens at any time with the link and the current setting. And under **Who can access** it carries two modes. + +**Restricted** is the default, and only the people you add can open it. **Anyone with the link** drops the sign-in entirely. + +A restricted share also has an **Invite people** field, so you can name the email addresses directly. Those people sign in, but they do not have to join your organization, which is what makes this the safer of the two paths for a customer who already has a Future AGI account. + +## Narrow a share you already sent + +Reopen **Share** on the project and set **Who can access** back to **Restricted**. Anyone not on its list stops being able to open it. + +That is the only control the dashboard gives you over a link that is already out, and it exists for Observe projects only. Nothing anywhere issues a fresh URL or sets an expiry, so treat every link you send as permanent and share it deliberately. + +## Dive deeper + + + + Why a share link sits outside the workspace boundary + + + What the dashboard cannot do, and who to ask instead + + diff --git a/src/pages/docs/roles-and-permissions/index.mdx b/src/pages/docs/roles-and-permissions/index.mdx new file mode 100644 index 000000000..c9f269d40 --- /dev/null +++ b/src/pages/docs/roles-and-permissions/index.mdx @@ -0,0 +1,61 @@ +--- +title: "Roles & Permissions Overview" +description: "Two levels of access, four organization roles and three workspace roles, and what each one can reach" +--- + +Access on Future AGI is decided in two places, not one. Where the plan and the people live is one boundary; where the work lives is another. Almost every access question that reaches support turns out to be someone holding the right role at the wrong level. + +## What is access control on Future AGI? + +Every account has an **organization**, and inside it one or more **workspaces**. You hold a role in each: + +- Your **organization role** is one of Owner, Admin, Member or Viewer. It decides who you can manage, and whether you reach organization settings and billing +- Your **workspace role** is one of Workspace Admin, Workspace Member or Workspace Viewer. It decides what you can do with the work inside that workspace + +The two are independent. An organization Viewer added to a workspace as a Workspace Member can create, edit and share everything in it. + +Owners and Admins are Workspace Admins in every workspace automatically. Everyone else sees only the workspaces they were added to. + +## Before you start + +Access control is available on every deployment. Only an Owner or an Admin can change organization roles, create workspaces, or open the Members page. + +A Workspace Admin can invite into their own workspace and manage its members, without reaching billing or anyone else's workspace. + +## Where it shows up + +Access lives in **Settings**, across three surfaces. + +- **Members:** everyone in the organization with their role, their workspaces, and whether they are Active or Pending +- **Workspaces:** every workspace with its admins, start date and last update +- **Your Workspaces:** each workspace you belong to, and the tabs inside it that your workspace role allows + +The workspace switcher at the top of the left sidebar is the fourth surface, and the busiest one. It creates workspaces, moves you between workspaces and organizations, opens Settings, and carries **Invite members** for a Workspace Admin. + +## What you can use it for + +- **Keep one team's work out of another's**, for example "the research workspace must not see the customer workspace's traces" +- **Give someone control of one team and nothing else**, for example "a lead who runs their own workspace but never touches billing" +- **Let someone read without changing anything**, for example "a stakeholder who reviews evaluation results and cannot edit them" +- **Show one thing to somebody outside the organization**, for example "a dataset a customer needs to see without an account" + +## Roles vs share links + +Roles decide what someone with an account can reach. A [share link](/docs/roles-and-permissions/guides/share-outside-your-organization) grants access to one resource without granting a role at all, and a dataset link works with no account and no sign-in. The two are separate systems, and a workspace boundary does not constrain a link somebody has already sent, so anyone auditing access has to look at both. + +## Start here + + + + The two levels, what is scoped where, and the four things the boundary does not cover + + + Which role applies when someone holds both, and what a Workspace Admin can really do + + + Workspaces, roles, invites and keys, from an empty organization + + + Every action against every role, in one place + + diff --git a/src/pages/docs/roles-and-permissions/reference/permissions.mdx b/src/pages/docs/roles-and-permissions/reference/permissions.mdx new file mode 100644 index 000000000..bc67acb7f --- /dev/null +++ b/src/pages/docs/roles-and-permissions/reference/permissions.mdx @@ -0,0 +1,124 @@ +--- +title: "Permission reference" +description: "Every action against every organization role and every workspace role, in one place" +--- + +## By organization role + +| Action | Owner | Admin | Member | Viewer | +|---|---|---|---|---| +| See the workspaces they belong to | Yes | Yes | Yes | Yes | +| Reach every workspace automatically | Yes | Yes | No | No | +| Create a workspace | Yes | Yes | No | No | +| Invite and manage members | Yes | Yes | No | No | +| Manage Owners and other Admins | Yes | No | No | No | +| Open organization settings | Yes | Yes | No | No | +| Open billing and pricing | Yes | Yes | No | No | +| Open AI Providers in Settings | Yes | Yes | Yes | No | +| Open the Keys page | Yes | Yes | No | No | +| Open Usage Summary | Yes | Yes | Yes | Yes | +| Reach the gateway | Yes | Yes | Yes | Yes | + +What a Member or Viewer can do inside a workspace comes from their workspace role, below. A Member or Viewer who is a Workspace Admin somewhere can also invite into that workspace and open the Keys page. + +## By workspace role + +| Workspace action | Workspace Admin | Workspace Member | Workspace Viewer | +|---|---|---|---| +| View the work in the workspace | Yes | Yes | Yes | +| Create and edit | Yes | Yes | No | +| Create a share link | Yes | Yes | No | +| Create anything in the gateway | Yes | Yes | No | +| Manage workspace members | Yes, for people whose organization role is lower | No | No | +| Invite into that workspace | Yes | No | No | +| Open that workspace's Integrations and AI Providers | Yes | Yes | No | +| Open that workspace's Members tab | Yes | No | No | +| Open the Keys page | Yes | No | No | + + +Managing workspace members still follows the organization role. A Workspace Admin whose organization role is Member can act on the people in their workspace whose organization role is Viewer, and the rest of the rows are disabled with *You cannot manage a user at or above your own level.* The two actions on a row you can act on are **Edit user info** and **Remove from workspace**. + + +## Settings pages by role + +Open Settings from the workspace switcher at the top of the sidebar. It is a grouped tree, not a flat list, and this list follows your **organization** role only, so it is identical in every workspace you switch to. + +| Settings page | Owner | Admin | Member | Viewer | +|---|---|---|---|---| +| Profile | Yes | Yes | Yes | Yes | +| Usage Summary | Yes | Yes | Yes | Yes | +| AI Providers | Yes | Yes | Yes | No | +| Members | Yes | Yes | No | No | +| Integrations | Yes | Yes | No | No | +| Falcon AI Connectors | Yes | Yes | No | No | +| Plans & Pricing | Yes | Yes | No | No | +| Billing | Yes | Yes | No | No | +| MCP Server | Yes | Yes | No | No | +| Org Settings | Yes | Yes | No | No | +| Workspaces | Yes | Yes | No | No | + +Below those sits **Your Workspaces**, which lists every workspace you belong to and opens that workspace's own settings. Owners and Admins see every workspace in the organization there. + +The workspace role adds nothing to this list. A Workspace Admin has no organization **Members** entry, and reaches their own workspace's member list through **Your Workspaces** or through **Workspace settings** in the switcher. + + +**Integrations** and **AI Providers** each name two different screens. The ones in the table above are organization settings. Each workspace also has its own Integrations and AI Providers tabs, holding that workspace's own connections. Reaching one does not give you the other. + + +## Workspace settings tabs by role + +What the workspace role changes is the tabs you get once you are inside a workspace's own settings. + +| Your workspace role | Tabs you get | +|---|---| +| Workspace Admin | General, Members, Integrations, AI Providers | +| Workspace Member | General, Integrations, AI Providers | +| Workspace Viewer | General, and it has no Save button | + +**General** holds the workspace name and a **Save Changes** button, so a workspace can be renamed at any time even though it cannot be deleted. + +## Billing pages by role + +[Billing](/docs/billing) is handled at the organization. There is one plan, one balance and one set of limits, and every workspace draws on them, so adding a member or a workspace does not change the plan. + +**Plans & Pricing** and **Billing** are open to Owners and Admins, both with the same controls: the plan, the invoices, **Add Budget** and **Add Card**. **Usage Summary** is open to every role and breaks consumption down by workspace, which shows where it came from without creating a per-workspace budget or a separate bill. + +Billing, Plans & Pricing and Usage Summary are Future AGI Cloud only. Self-hosted deployments get a **License** page instead. + +## Who can grant what + +| Who is inviting | What they can grant | Which workspaces | +|---|---|---| +| Owner | Any organization role, up to Owner | Any | +| Admin | Admin, Member, or Viewer. Owner is not offered | Any | +| Workspace Admin | A workspace role only | Any workspace they belong to, but only from one they administer | + +You can grant your own role or anything below it, never above. An Owner can invite another Owner and an Admin can invite another Admin. An Admin cannot create an Owner: the Organization Role list simply does not contain it. + +## Key actions + +Each row on **Build > Keys** carries two actions. + +| Action | What it does | Who | +|---|---|---| +| Disable Key | Turns off the key and its secret together. The row gains a **Disabled** badge and the menu changes to **Re-enable key** | Owner, Admin, Workspace Admin | +| Delete Key | Removes the key and its secret permanently, and cannot be undone | Owner only | +| Add API Key | Creates a key bound to the workspace you have open | Owner, Admin, Workspace Admin | + + +**Delete Key** is offered to everyone who can open the page, but only an Owner's goes through. An Admin or a Workspace Admin gets as far as the confirmation and then **You are not authorized to access this resource**, and the key stays. If a key has to go and you are not an Owner, disable it and ask an Owner to delete it. + + +## Keep exploring + + + + Which role applies when someone holds both + + + Put a role change into effect + + + What to check when someone cannot see something + + diff --git a/src/pages/docs/roles-and-permissions/troubleshooting.mdx b/src/pages/docs/roles-and-permissions/troubleshooting.mdx new file mode 100644 index 000000000..1386b6f9c --- /dev/null +++ b/src/pages/docs/roles-and-permissions/troubleshooting.mdx @@ -0,0 +1,130 @@ +--- +title: "Roles & permissions FAQ & fixes" +description: "What to check when somebody cannot see something, and the four things the dashboard cannot do" +--- + +## In this page + +Most access reports are one of three things: the person was never added to the workspace, their workspace role is read-only, or the page they want is not in their role's navigation. Work down the first table before raising anything. The second table covers the four cases where the dashboard genuinely cannot help and the Future AGI team has to. + +## When someone cannot see something + +| What they say | What to check | +|---|---| +| "I cannot see the workspace at all" | They were never added to it. Add them from **Settings > Members** | +| "I can see it but I cannot create anything" | They are a Workspace Viewer there. Change their workspace role | +| "I cannot see your dataset or your evaluation" | Those live in the workspace they were made in. Add the person to that workspace | +| "That Settings page is missing for me" | The page is not in their role's navigation, and typing the address does not get them in | +| "I clicked it and nothing happened" | Usually a permission rather than a fault. Compare their role against the [permission reference](/docs/roles-and-permissions/reference/permissions) | + + +Go by your navigation. If a Settings page is not listed there, your role cannot reach it, and the address does not say so. Depending on the page you get a 404, a silent return to Datasets, or the page itself with buttons that do nothing. None of those mean the feature is missing. Ask an Owner or Admin. + + +The gateway is the one place that breaks this pattern. Its buttons stay live for everyone and refuse on submit with **Write access denied to this workspace**, so somebody who cannot create in a workspace finds out one click later there than anywhere else. + +## What the dashboard cannot do + +| What you need | Why the dashboard cannot do it | +|---|---| +| A workspace deleted | There is no delete action anywhere in the dashboard | +| A dataset share link withdrawn | Its dialog has no revoke, no expiry and no regenerate. An Observe project can at least be set back to Restricted | +| Someone you removed brought back | Removal marks them Deactivated and the dashboard offers no way to undo it | + +Ask the Future AGI team through [support](https://futureagi.com/contact-us) for all three. + +A fourth needs settling before you promise anything to a compliance reviewer. The dashboard has no activity or audit log, so you cannot pull a record of who changed whose role. Ask Future AGI whether one exists behind the product before you commit to producing it. + +For everything else, an Owner or Admin in your own organization can already do it themselves. + + +**What these pages cover.** They answer who can reach what in the dashboard, and what happens when they try. They do not cover how long a sign-in or token stays valid, what happens to data after an account closes, or what is retained where. Take those to Future AGI rather than reading anything into their absence here. + + +## FAQ + + + + Yes, with a different role in each. The organizations share nothing, and you move between them from the switcher at the top of the sidebar. + + + Yes. Workspace Admin in one workspace and Workspace Viewer in another is a valid combination, and the difference is visible: the actions on a dataset are live in one and greyed out in the other. + + + Owners and Admins are Workspace Admins everywhere. For everyone else the workspace role decides, in both directions. An organization Viewer added as Workspace Member can create, edit and share. An organization Member added as Workspace Viewer cannot. + + + Only an Owner can delete a platform API key. Everyone else who can open the page sees the button, gets the confirmation, and is then told **You are not authorized to access this resource**. Disable the key instead, and ask an Owner to delete it. + + + Only the ones you selected during the demotion. Setting someone to Member or Viewer adds a required Workspaces field, and access to every unselected workspace is removed in the same step. + + + Yes. Owners and Admins are Workspace Admins in every workspace. They appear in your workspace switcher without being added. + + + Evaluations you create belong to the workspace they were created in. Either add your colleague to that workspace, or rebuild the evaluation in one you both belong to. Future AGI's built-in evaluations are always available everywhere. + + + No. If a page is not listed in your Settings navigation, your role cannot reach it. + + Typing the address gets you one of three things and none of them says why: a 404, a silent return to Datasets, or the page itself with buttons that will not work for you. The third gives no sign at all until you click something. Go by your navigation, and ask an Owner or Admin for anything that is not in it. + + + Yes, and which kind of link you get depends on what you are sharing. An **Observe project** can be set to **Restricted**, so only the people you name can open it, and they sign in without joining your organization. A **dataset** has no restricted option: its link is always open to whoever holds the URL, with no account and no sign-in. See [Share outside your organization](/docs/roles-and-permissions/guides/share-outside-your-organization). + + + Yes. SAML, along with Google and GitHub sign in, and passkeys. Talk to the Future AGI team before setting SAML up. Once it is configured, password resets are turned off and new sign ups have to come through SAML. Existing password and social logins keep working. + + + Not inside one organization. Gateway keys and gateway request logs are held at the organization, so gateway traffic is not partitioned by workspace, and every role can open the gateway pages and read those logs. + + If two teams genuinely need separate gateway logs, put them in separate organizations. Organizations share nothing, gateway keys and logs included. + + + It is the key. Which half to check depends on what is wrong. + + **Wrong organization:** a key belongs to one organization for good. Selecting a different organization in the dashboard does not change where that key writes, so you need a key made in the other organization. + + **Wrong workspace:** traces land in the workspace the key was created in, and there is no way to redirect them afterwards. Make a new key while you are inside the workspace you want. Other API and SDK calls can name a workspace on the request instead. + + If you never made the key yourself, check whether you are using the starter `system_org_key`. It was never created in a workspace, so its traces go to the organization's default one no matter what you have open. + + + No. Their invite carries no Organization Role field, so they grant a workspace role only. Granting an organization role needs an Admin or an Owner. + + + Not inside one organization. The plan, the balance, the limits, and the invoice all belong to the organization, and usage is reported per workspace but billed as one. Separate bills mean separate organizations, which also means separate members, workspaces and keys. See [Billing](/docs/billing). + + + No. Promote a second Owner first, then the original can be demoted or removed. + + + You cannot, from the dashboard. There is no delete action on the workspace list or inside a workspace's own settings. Contact the Future AGI team. + + + It is preserved. Annotations, scores, and other output remain in place, and their sign-in stops immediately. + + Their API keys are the exception and do not stop. A key belongs to the organization rather than the person, so anything still calling with it keeps working until somebody disables it on **Build > Keys**. + + + Resend it from their row on the Members page. Resending issues a fresh link and restarts the window. Do the same if the invite still shows as Pending but the person says the link is dead. + + + Not one you can reach. There is no activity or audit log anywhere in the dashboard. Ask the Future AGI team before you commit to producing one for a reviewer. + + + +## Keep exploring + + + + Every action against every role + + + What the workspace boundary does and does not cover + + + Put the fix into effect on the Members page + + From f7361387bf47cfc9af690db49f3dfc79f1f440a0 Mon Sep 17 00:00:00 2001 From: Abhijai Srivastava Date: Tue, 18 Aug 2026 11:46:09 +0530 Subject: [PATCH 2/2] docs(rbac): fold the split down to three pages Eight pages was a finer cut than the content needs. Three match the seams Khushal named: organization and workspace segregation is the Overview, what one person can and cannot reach is the reference, and doing any of it is the guide. About 1,900 words each. Also lands the style pass against his billing pages: one owner per fact with links instead of restatement, the FAQ in his troubleshooting shape, company-side voice out of the openers, and 'act on' replaced with what the reader actually does. --- src/lib/navigation.ts | 7 +- src/pages/docs/admin-settings/api-keys.mdx | 4 +- .../docs/admin-settings/user-management.mdx | 8 +- .../admin-settings/workspace-management.mdx | 8 +- .../concepts/how-roles-combine.mdx | 136 --------------- .../concepts/organizations-and-workspaces.mdx | 100 ----------- .../guides/manage-access.mdx | 151 ++++++++++++++++ .../guides/manage-people.mdx | 100 ----------- .../guides/set-up-your-team.mdx | 97 ----------- .../share-outside-your-organization.mdx | 49 ------ .../docs/roles-and-permissions/index.mdx | 163 +++++++++++++++--- .../reference/permissions.mdx | 105 ++++++++--- .../roles-and-permissions/troubleshooting.mdx | 130 -------------- 13 files changed, 379 insertions(+), 679 deletions(-) delete mode 100644 src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx delete mode 100644 src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx create mode 100644 src/pages/docs/roles-and-permissions/guides/manage-access.mdx delete mode 100644 src/pages/docs/roles-and-permissions/guides/manage-people.mdx delete mode 100644 src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx delete mode 100644 src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx delete mode 100644 src/pages/docs/roles-and-permissions/troubleshooting.mdx diff --git a/src/lib/navigation.ts b/src/lib/navigation.ts index 63b060074..9f6bdd7ea 100644 --- a/src/lib/navigation.ts +++ b/src/lib/navigation.ts @@ -794,13 +794,8 @@ export const tabNavigation: NavTab[] = [ title: 'Roles & Permissions', items: [ { title: 'Overview', href: '/docs/roles-and-permissions' }, - { title: 'Organizations & workspaces', href: '/docs/roles-and-permissions/concepts/organizations-and-workspaces' }, - { title: 'How the two roles combine', href: '/docs/roles-and-permissions/concepts/how-roles-combine' }, + { title: 'Manage access', href: '/docs/roles-and-permissions/guides/manage-access' }, { title: 'Permission reference', href: '/docs/roles-and-permissions/reference/permissions' }, - { title: 'Set up your team', href: '/docs/roles-and-permissions/guides/set-up-your-team' }, - { title: 'Add, change and remove people', href: '/docs/roles-and-permissions/guides/manage-people' }, - { title: 'Share outside your organization', href: '/docs/roles-and-permissions/guides/share-outside-your-organization' }, - { title: 'FAQ & fixes', href: '/docs/roles-and-permissions/troubleshooting' }, ] }, { diff --git a/src/pages/docs/admin-settings/api-keys.mdx b/src/pages/docs/admin-settings/api-keys.mdx index e536b3985..25e389a95 100644 --- a/src/pages/docs/admin-settings/api-keys.mdx +++ b/src/pages/docs/admin-settings/api-keys.mdx @@ -75,10 +75,10 @@ The keys on this page are platform API keys. The Agent Command Center has its ow ## Dive deeper - + Install the SDK and send your first call with these keys - + Who can reach the Keys page, and what each role can do there diff --git a/src/pages/docs/admin-settings/user-management.mdx b/src/pages/docs/admin-settings/user-management.mdx index 060f33c79..24ae38329 100644 --- a/src/pages/docs/admin-settings/user-management.mdx +++ b/src/pages/docs/admin-settings/user-management.mdx @@ -63,7 +63,7 @@ Setting someone to Member or Viewer adds a required **Workspaces** field, becaus Promoting someone to **Admin** or **Owner** gives them Workspace Admin everywhere at once, and the workspace fields disappear. -You can only act on someone whose role is below yours. Owners are the exception and can act on other Owners. Where you cannot, the row's menu is disabled and tells you why: *You can't edit your own role*, or *You cannot manage a user at or above your own level.* +You can change or remove anyone whose organization role is lower than yours, and an Owner can also change another Owner. Where you cannot, the row's menu is disabled and says why. [Manage access](/docs/roles-and-permissions/guides/manage-access#change-someones-access) covers the rest. ## Removing and reactivating someone @@ -86,13 +86,13 @@ Above the table sit a **Search by name or email** box, an **All status** filter, ## Dive deeper - + What each organization and workspace role can reach - + Create workspaces and manage who belongs to them - + The organization name and its security policy diff --git a/src/pages/docs/admin-settings/workspace-management.mdx b/src/pages/docs/admin-settings/workspace-management.mdx index 238a1037b..0111f12d2 100644 --- a/src/pages/docs/admin-settings/workspace-management.mdx +++ b/src/pages/docs/admin-settings/workspace-management.mdx @@ -61,7 +61,7 @@ Owners and Admins get all four in every workspace, since they are Workspace Admi The actions on a row are **Edit user info** and **Remove from workspace**. -Managing workspace members still follows the organization role. A Workspace Admin whose organization role is Member can act on the people in their workspace whose organization role is Viewer, and every other row is disabled with *You cannot manage a user at or above your own level.* If you need to change someone at or above your own organization role, ask an Owner or Admin. +Managing workspace members still follows the organization role, so a Workspace Admin can change or remove only the people whose organization role is lower than their own. [By workspace role](/docs/roles-and-permissions/reference/permissions#by-workspace-role) carries the full grid. A Workspace Admin can also invite straight into their workspace with **Invite members** in the switcher. That invite grants a workspace role only, never an organization role. @@ -73,13 +73,13 @@ Organization roles and workspace roles are separate. Someone can be an organizat ## Dive deeper - + Add and manage the people in your organization - + Configure LLM providers per workspace - + Connect external tools per workspace diff --git a/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx b/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx deleted file mode 100644 index 52aa0212f..000000000 --- a/src/pages/docs/roles-and-permissions/concepts/how-roles-combine.mdx +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: "How the two roles combine" -description: "Which role applies when someone holds an organization role and a workspace role at once" ---- - -## Two roles, two jobs - -Everyone gets two roles, and they do different jobs. - -- Your **organization role** decides who you can manage, and whether you reach organization settings and billing -- Your **workspace role** decides what you can do with the work inside a workspace - -The two are independent, which is what makes the useful combinations possible. A team lead can run one workspace completely while holding a low organization role, and an engineer can build freely in their workspace without reaching anything organization-wide. - -## Organization roles - -Everyone in an organization holds one of four roles. They rank in this order, Owner highest and Viewer lowest. The ordering decides who can invite and manage whom. - -These are the descriptions the product itself shows you when you set someone's role. - - - - Full control. Can manage billing, members, and transfer ownership - - - Full control on manage settings, members, and permissions - - - Collaborate within the space, accessing tools and tasks shared with them - - - Read-only access to shared resources - - - -An organization keeps at least one Owner at all times, so ownership moves by promoting a second Owner and then demoting the first. An Admin reaches billing and the plan on the same terms as an Owner, but cannot change an Owner or another Admin. - - -Owners and Admins are **Workspace Admins** in every workspace, automatically. - -- They need no workspace membership of their own -- Promoting someone to Admin or Owner grants that access across every workspace at once -- Demoting them asks you to pick the workspaces they keep - - -## Workspace roles - -A Member or Viewer sees nothing in a workspace until they are added to it. Their role in that workspace is one of three. - -| Role | View | Create and edit | Manage workspace members | -|---|---|---|---| -| Workspace Admin | Yes | Yes | Yes, for people whose organization role is lower | -| Workspace Member | Yes | Yes | No | -| Workspace Viewer | Yes | No | No | - -The last column carries a second condition. A Workspace Admin manages the members of their workspace, and the organization role still applies on top, so they can change or remove only the people whose organization role is lower than their own. - -Every Member and Viewer needs at least one workspace, and the invite form will not send without one. Someone with no workspace sees an empty product on sign-in, so check their row on **Settings > Members** first. - -## When both apply - -You hold an organization role and, in each workspace you belong to, a workspace role. - -- Owner or Admin: Workspace Admin in every workspace, whether or not they were added to it -- Everyone else: the workspace role applies inside that workspace -- Member or Viewer with no membership: no access, and the workspace does not appear for them - -Inside a workspace, the workspace role is the one that applies, in both directions. An organization Viewer added as Workspace Member can create, edit and share there. An organization Member added as Workspace Viewer cannot: Add Dataset, Add Row, Add Column, Run Prompt, Evaluate, Share and Create prompt are all greyed out for them. - -One person can hold a different role in each workspace, and the difference is visible. In a workspace where you are a Workspace Member, a dataset gives you Add Row, Add Column, Run Prompt, Evaluate and Share. In a workspace where you are a Workspace Viewer, the same dataset greys all of those out and leaves you Compare and the read-only tabs. - -A Workspace Admin cannot open organization settings or create a workspace. Both need an organization Admin or Owner. The role does give **Invite members** in the workspace switcher, the Members tab inside that workspace's own settings, and the **Build > Keys** page. - -## What each role sees - -The left sidebar and Settings are where a role difference shows first, and they follow different roles. - -The **Settings** list follows your organization role, so it is identical in every workspace you switch to. Three things follow your role in the particular workspace instead, and appear and disappear as you switch: **Build > Keys** in the sidebar, **Invite members** in the switcher, and the tabs inside a workspace's own settings. - -Every role sees the same left sidebar, with one exception. **Build > Keys** appears for Owners, Admins and Workspace Admins, and for nobody else. - -The full grids are on the [permission reference](/docs/roles-and-permissions/reference/permissions). - -## Annotation queue roles - -[Annotation queues](/docs/annotations/concepts/queues-and-items) carry one more set of roles, granted per person per queue. They control what someone can do to the items in a queue. They do not control who can see the queue: anyone with access to the workspace can browse it. - -| Queue role | What it covers | -|---|---| -| Annotator | Annotates the items assigned to them | -| Reviewer | Reviews other people's annotations and sends work back for rework | -| Manager | Manages the queue itself, its settings and its people | - -Each person you add to a queue gets three independent checkboxes, one per role, so the roles combine freely. Someone needs both Annotator and Reviewer ticked to do both jobs. Whoever creates the queue is added with all three already ticked. The people you can add are the members of the workspace the queue is in. - - -Inside a queue, the queue role applies instead of the workspace role. Someone with the Annotator role can annotate in that queue even if they cannot create or edit anything else in the workspace. - - -Two settings on the queue change how the work is handed out: - -- **Auto-assign items to all annotators.** With this on, every annotator is assigned every item and anyone can annotate any item -- **Submissions per item.** How many annotators must label each item, at most the number you have added - -## Mental model - - ORG["Their organization role"] - ORG -->|"Owner or Admin"| ALL["Workspace Admin in every workspace"] - ORG -->|"Member or Viewer"| ADDED["Added to this workspace?"] - ADDED -->|"no"| NONE["No access, workspace not listed"] - ADDED -->|"yes"| WS["Their workspace role decides"] - ALL --> WORK["What they can do with the work"] - WS --> WORK - WORK --> QUEUE["Inside a queue, the queue role applies instead"] - ORG --> RANK["Who they can manage, and billing and organization settings"]`} /> - -## Why it matters - -The combination people get wrong is a team lead who cannot manage their own team. Making the lead an organization Member and a Workspace Admin looks right, and it fails the moment the people they lead are also organization Members, because a Workspace Admin can only act on people whose organization role is lower than their own. Put the people they lead in as organization Viewers and the same setup works. That one decision is the difference between a lead who runs their workspace and a lead who has to ask you for every removal. - -## Keep exploring - - - - Every action against every role, in one place - - - Pick the combination that fits, from an empty organization - - - Invites, role changes, and a clean offboarding - - diff --git a/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx b/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx deleted file mode 100644 index 76529560d..000000000 --- a/src/pages/docs/roles-and-permissions/concepts/organizations-and-workspaces.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Organizations & workspaces" -description: "Where the boundary between two teams actually sits, and the four places it does not hold" ---- - -## The two levels - -Every Future AGI account has an **organization**. Inside it sit one or more **workspaces**, and every workspace holds the same kinds of thing. - -Access has two levels. The organization holds members and roles, the plan and billing, and organization settings. Under it sit workspaces, and every workspace holds the same kinds of thing: traces, datasets, evaluations, prompts, annotation queues and knowledge bases. - -*The organization is the billing boundary. The workspace is the data boundary* - -The organization is where billing lives. The workspace is where the data lives. Each has its own set of roles, so you hold one role in the organization and one in each workspace you belong to. - -Every organization is created with one workspace, called **Default Workspace**. Workspace names are unique inside an organization, and reusing one gives you **Workspace with this name already exists**. - -## What is scoped where - -This boundary decides what a teammate in another workspace can see. - - - - Datasets, traces and Observe projects, the evaluations and evaluation templates you create, prompts and prompt folders, annotations and annotation queues, knowledge bases, custom models, agent playground graphs, optimization runs, and integration and AI Provider connections - - - Members, roles and invites, the plan, billing, invoices and wallet balance, resource and rate limits, gateway API keys and gateway request logs, organization settings, MCP server settings, and the Settings pages for AI Providers, Integrations and Falcon AI Connectors - - - -Integrations and AI Providers appear on both sides because there are two of each: an organization Settings page, and a tab inside every workspace holding that workspace's own connections. Reaching one does not give you the other. - -Switching workspace changes the work. Datasets and prompts are completely separate lists per workspace. Your Settings list stays the same, and the only sidebar entry that moves is **Build > Keys**, which appears where your workspace role allows it. - -Future AGI's built-in evaluations are available in every workspace of every organization. An evaluation template you build yourself belongs to the workspace you built it in, so rebuild it in the second workspace, or keep shared evaluations in a workspace everyone belongs to. - -## What the boundary does not cover - -Separating teams into workspaces separates their work. Four things stay shared across the whole organization. - -| Not separated | What that means | -|---|---| -| The gateway | Every role opens every page under **Gateway**, and the request logs are stamped with the organization rather than a workspace | -| Where a key can send | A key always writes to its own organization, whichever one you have open in the dashboard | -| What a key can be aimed at | Traces are fixed to the key's workspace, but other SDK and API calls can name any workspace you have access to in the same organization | -| Usage and billing | One plan, one balance, one invoice. **Usage Summary** is open to every role and breaks consumption down by workspace | - -Three consequences follow: - -- Anyone who can sign in sees every team's gateway traffic, so keep a team's traffic off the gateway if it has to stay private -- Every role can see what every team is using on **Usage Summary** -- A key is scoped by who holds it, not by where it was made - - -**Gateway** is in the sidebar for everyone, including a Viewer, and every page under it opens: Providers, API Keys, Guardrails, Fallbacks, the request logs, budgets and webhooks. Treat gateway configuration as visible to your whole organization. - -Only reading is open to everyone. Writing is still checked, just later than elsewhere. The gateway leaves its create buttons live instead of greying them out, then refuses on submit with **Write access denied to this workspace**. If you cannot create in a workspace, you cannot create here either. - - -## Where a key lands - -A [platform API key](/docs/admin-settings/api-keys) belongs to one organization for good, and inside it to one workspace. The key takes whichever workspace you had open when you created it. Nothing in the **Add API Key** dialog says so and there is no field to change it, so switch into the workspace before you create the key. - -Traces always land in the workspace the key was created in. The one exception is the starter `system_org_key`, which was never created in a workspace and lands in the organization's default one. A workspace header on a trace export is ignored, so a trace cannot be redirected afterwards. - -Other SDK and API calls can override the key, in this order: - -1. An `X-Workspace-Id` header or a `workspace_id` query parameter takes precedence, provided that workspace is in the same organization and you have access to it -2. Otherwise the workspace the key was created in -3. Otherwise the workspace you last used in that organization, then the first workspace you belong to, and if you belong to none, the organization's default workspace - - -Data in the wrong place is almost always the key. Make one key per workspace, name it after the workspace, and create each one while you are inside it. - - -## One person, many organizations - -One person can belong to several organizations, with a different role in each. Owner in one, Member in another, Viewer in a third. - -Organizations share nothing: separate workspaces, separate members, separate plan, separate billing, separate keys. Two teams that genuinely need separate gateway logs or separate invoices need separate organizations, because neither splits by workspace. - -Move between them from the switcher at the top of the sidebar. Hover **Organization** to see the list. Future AGI remembers where you were, so the organization and workspace you last used are where you land next time, on any device. - -## Why it matters - -The workspace is the thing you reach for when one group must not see another group's work, and it does that job completely for datasets, traces, prompts and evaluations. What it does not do is contain a credential, a gateway log or a bill, and those three are exactly where an isolation promise tends to be made. Read the four rows above before you promise a customer that two teams are separated. - -## Keep exploring - - - - Which role applies when someone holds an organization role and a workspace role - - - Every action against every role - - - Turn this boundary into a working setup - - diff --git a/src/pages/docs/roles-and-permissions/guides/manage-access.mdx b/src/pages/docs/roles-and-permissions/guides/manage-access.mdx new file mode 100644 index 000000000..c62e3eacc --- /dev/null +++ b/src/pages/docs/roles-and-permissions/guides/manage-access.mdx @@ -0,0 +1,151 @@ +--- +title: "Manage access" +description: "Set a team up from scratch, invite people, change what they reach, remove them cleanly, and share one thing outside the organization." +--- + +An organization arrives with one workspace and one person in it, and the shape you give it in the first hour is the shape it keeps, because a workspace cannot be deleted from the dashboard and a key cannot be moved between workspaces. Taking access away is the half that goes wrong, since removing somebody ends their sign-in and leaves every API key they created working. This guide covers both ends and everything between. + +## Before you start + +- You are an Owner or an Admin, the two roles that can create workspaces and open **Settings > Members**. A Workspace Admin manages their own workspace instead, from the switcher +- You know which groups of people must not see each other's work, since that is the only question a workspace answers +- You have the email address of everyone you are inviting, since an invite will not send without one + +## Decide how many workspaces you need + +One workspace is enough if everyone is allowed to see everything. Add a second when one group must not see another group's work, or when you want production and staging kept apart. [What is scoped where](/docs/roles-and-permissions#what-is-scoped-where) lists what moves with the boundary and what does not. + +Your organization already has **Default Workspace**. Nothing in the dashboard deletes a workspace, this one included, so use it for one of your teams, leave it empty, or ask the Future AGI team to remove it. + +There are two ways to add one, and both open the same dialog. Either open the **workspace switcher** at the top of the left sidebar, hover the workspace name and choose **Create Workspace**, or go to **Settings > Workspaces** and click **Create New Workspace**. Name it and click **Create workspace**. You become its admin, and reusing a name gives you **Workspace with this name already exists**. + + +The switcher does more than switch. It creates workspaces, moves you between workspaces and organizations, opens Settings, and is where a Workspace Admin invites people. You will be back in it throughout this guide. + + +## Pick a role for each person + +Everyone gets two roles. The organization role decides who they can manage and whether they reach organization settings and billing; the workspace role decides what they can do with the work. + +| What they need to do | Organization role | Workspace role | +|---|---|---| +| Set the organization up | Owner | Every workspace, automatically | +| Share the account, the people and the billing with you | Admin | Every workspace, automatically | +| Run one workspace and manage the people in it | Member | Workspace Admin | +| Build and edit inside one workspace | Viewer | Workspace Member | +| Read one workspace without changing it | Viewer | Workspace Viewer | + + +**Owners and Admins reach every workspace, automatically and permanently.** You cannot make someone an Admin and keep one workspace out of their reach. If a boundary matters, make them a Member or Viewer and add them only to the workspaces they should see. + + +To give someone control of one workspace and nothing else, make them an organization **Member** and a **Workspace Admin** there. They can then invite into it and manage its members, without reaching billing, organization settings, or anyone else's workspace. + + +**Why the Workspace Members above are organization Viewers, not Members.** A team lead can only manage people whose organization role is lower than their own. If the people they lead are also organization Members, the lead's row menu is disabled with *You cannot manage a user at or above your own level.* + +Organization Viewer takes almost nothing away here. The **Workspace Member** role still creates, edits and shares everything in that workspace, and still opens the workspace's own Integrations and AI Providers tabs. What it drops is the organization-level **AI Providers** page in Settings. + + +## Invite people + +There are two ways in, and which one you get depends on your role. + +**From the Members page.** Go to **Settings > Members** and click **Invite User**. This is the Owner and Admin path, and the only one that carries an Organization Role field. + +**From the workspace switcher.** Choose **Invite members**. This is the Workspace Admin path, and it appears only while they are standing in a workspace they administer. The workspaces picker then offers every workspace they belong to, so someone who administers one and is a plain member of another can still invite into both. + +Enter the addresses in **Emails**, comma separated, then pick the **Organization Role**, the **Workspace Role**, and the **Workspaces** it applies to. One invite carries one of each and every address on it gets all three, so send one invite per group rather than one for the whole team. Granting Admin or Owner removes both workspace fields and replaces them with *Owner and Admin roles have automatic access to all workspaces.* + +The invite dialog, showing the emails field, the organization role selector, one workspace role, and the workspaces to apply it to. + +*Granting Admin or Owner removes the workspace fields, because those roles reach every workspace already* + +The new row shows as **Pending** until the person accepts, or **Active** immediately if the address already has a Future AGI account. A Pending row carries exactly two actions, **Resend the invite** and **Cancel invite**. + +An invite is valid for 7 days, after which it shows as Expired. The link inside the email expires sooner than the invite itself, so resend rather than waiting if the link stops working. Resending issues a fresh link and restarts the window. + + +A Workspace Admin's invite has no Organization Role field, so they cannot set anyone's organization role and only an Owner or Admin can change it afterwards. If your team leads onboard their own people, check **Settings > Members** afterwards and set the organization role yourself. + + +## Hand out the API keys + +Your SDK and your traces authenticate with a platform API key. + + +**Switch into the right workspace first.** A key belongs to whichever workspace you have open when you create it, and it cannot be moved afterwards. Make the key for `research` while you are inside `research`. + + +Open **Build > Keys** in the left sidebar and click **Add API Key**. Only Owners, Admins and Workspace Admins can open that page, so decide who issues keys before you start. [API Keys](/docs/admin-settings/api-keys) walks the dialog, the copy step and rotation. + +## Change someone's access + +**Settings > Members** lists everyone with their name, organization role, workspaces, email, status and start date, and filters for status and role. Each row carries **Edit user info** and **Remove from organization**. + +The Members page, with one row per person showing their organization role, their workspaces, their status, and their start date. + +*Every person carries one organization role and the workspaces they belong to* + +You can change or remove anyone whose organization role is lower than yours, and an Owner can also change another Owner. Where you cannot, the row's menu is disabled and says why: *You can't edit your own role*, or *You cannot manage a user at or above your own level.* + +**Edit user info** holds an Organization Role and a Workspace Role. Setting someone to Member or Viewer adds a required **Workspaces** field, because *Members and Viewers need explicit workspace access.* Any workspace you leave unselected is removed from them in the same step, so read that field before you save it. + +- Promoting someone to Admin or Owner makes them a Workspace Admin in every workspace at once +- Demoting an Admin to Member or Viewer asks you to pick the workspaces they keep +- The last remaining Owner can neither be demoted nor removed. Promote a second Owner first + +## Remove someone + +Removing someone from the organization asks you to confirm, then ends their sign-in and marks them Deactivated. Removing them from a single workspace leaves their organization membership intact. A few things are blocked outright: you cannot remove yourself, anyone from their last workspace, an Owner or Admin from a workspace, or the last remaining Owner. + +Removal does not delete anything a person produced. Annotations, scores and other output stay in place. + +Reactivating is not something the dashboard offers. A removed person is marked Deactivated and no control anywhere brings them back, so contact the Future AGI team if somebody has to be restored. + + +**A platform API key belongs to the organization, not to the person who created it.** Removing someone does not disable any key they made, and anything still using that key keeps working. + +Go through **Build > Keys** in **every workspace they belonged to**, because that page only ever shows the keys of the workspace you have open. Check the **Created By** column and disable theirs. Deleting needs an Owner, so if you are an Admin, disable it now and hand the deletion to an Owner. + + +Two more things survive a removal. Any share link they created still works, and a dataset link cannot be withdrawn from the dashboard at all. And there is no activity log anywhere in the product, so a record of what they changed has to come from Future AGI rather than from a screen. + +## Require two-factor authentication + +Owners and Admins reach [**Settings > Org Settings**](/docs/admin-settings/organization-settings), which holds the organization name and the security policy. Under **Organization Security** there is one toggle, **Require 2FA for all members**, and turning it on makes every member of the organization set up two-factor authentication. You have to enable it on your own account first, and the page links straight to Profile Settings so you can. + +## Share outside your organization + +A share link grants access to a single resource without granting a role, which makes it the fastest way to show a customer or an auditor one thing. It is also the one access path that ignores workspaces entirely. Anyone who can create or edit in a workspace can make one; for a Workspace Viewer the **Share** button is greyed out. + +**A dataset** shares its own address. The dialog gives you the link, a copy button, **Cancel** and **Done**, and says *Anyone with the link will be able to view the data.* There is no restricted option, no expiry and no revoke. + +**An Observe project** shares a separate `app.futureagi.com/shared/...` address, and its dialog reopens at any time with the current setting under **Who can access**. **Restricted** is the default and only the people you add can open it; **Anyone with the link** drops the sign-in entirely. A restricted share also takes email addresses directly, and those people sign in without joining your organization. + + +**A dataset link cannot be taken back from the dashboard.** Contact the Future AGI team if one has to be withdrawn, and send one only where public access to that data is acceptable. + +An Observe project can be set back to **Restricted**, which is the only control the dashboard gives you over a link already sent. Nothing anywhere issues a fresh URL or sets an expiry. + + +## Check it worked + +Three read-only checks close the setup out. + +- **Settings > Members** lists everyone with their role, their workspaces, and Active or Pending +- **Settings > Workspaces** lists every workspace with its admins +- Ask one teammate to sign in. They should see their own workspaces in the switcher and nothing else + +The setup is done when every person is on the Members page with the role you intended, and a Member or Viewer signing in sees only the workspaces you put them in. + +## Dive deeper + + + + Every action against every role, and what to check when someone cannot see something + + + Create, disable and rotate the keys the SDK uses + + diff --git a/src/pages/docs/roles-and-permissions/guides/manage-people.mdx b/src/pages/docs/roles-and-permissions/guides/manage-people.mdx deleted file mode 100644 index 4f127c498..000000000 --- a/src/pages/docs/roles-and-permissions/guides/manage-people.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Add, change and remove people" -description: "Invite someone, change what they reach, and take their access away without leaving a live credential behind." ---- - -Adding someone is the easy half. The half that goes wrong is taking access away, because removing a person from the organization ends their sign-in and leaves every API key they created working. This guide covers the whole lifecycle on **Settings > Members**, and what an offboarding has to include to actually close. - -## Before you start - -- You are an Owner or an Admin, the two roles that can open **Settings > Members**. A Workspace Admin manages their own workspace's members instead, from **Workspace settings** in the switcher -- You can act on anyone whose organization role is lower than yours. Owners are the exception and can act on other Owners -- Every Member and Viewer needs at least one workspace, so decide which before you start - -## Invite someone - -There are two ways in, and which one you get depends on your role. - -**From the Members page.** Click **Invite User** at the top right. This is the Owner and Admin path, and it is the only one that carries an Organization Role field. - -**From the workspace switcher.** Choose **Invite members**. This is the Workspace Admin path, and it appears only while they are standing in a workspace they administer. Once the dialog is open the workspaces picker offers every workspace they belong to, so someone who is Workspace Admin of one workspace and a Workspace Member of another can still invite into both, as long as they start from the one they administer. - -Either way, one invite can cover several addresses as a comma separated list, and every address in it gets the same organization role, the same workspace role and the same set of workspaces. Granting Admin or Owner removes both workspace fields and replaces them with *Owner and Admin roles have automatic access to all workspaces.* - -The invite dialog, showing the emails field, the organization role selector, one workspace role, and the workspaces to apply it to. - -*Granting Admin or Owner removes the workspace fields, because those roles reach every workspace already* - -The new row shows as **Pending** until the person accepts, or **Active** immediately if the address already has a Future AGI account. A Pending row carries exactly two actions, **Resend the invite** and **Cancel invite**. - - -A Workspace Admin's invite has no Organization Role field, so they cannot set anyone's organization role and only an Owner or Admin can change it afterwards. If your team leads onboard their own people, check **Settings > Members** afterwards and set the organization role yourself. - - -An invite is valid for 7 days, after which it shows as Expired. The link inside the email expires sooner than the invite itself, so resend rather than waiting if the link stops working. Resending issues a fresh link and restarts the window. - -Inviting someone who is already an active member does not create a second invite. It adds that person to the workspaces you selected. To change an existing member's organization role, use **Edit user info** on their row. - -## Change someone's access - -The Members page, with one row per person showing their organization role, their workspaces, their status, and their start date. - -*Every person carries one organization role and the workspaces they belong to* - -**Settings > Members** lists everyone with their name, organization role, workspaces, email, status, and start date, and filters for status and role. Each row carries **Edit user info** and **Remove from organization**. - -Where you cannot act on someone, the menu is disabled and says why: *You can't edit your own role*, or *You cannot manage a user at or above your own level.* - -**Edit user info** holds an Organization Role and a Workspace Role. Setting someone to Member or Viewer adds a required **Workspaces** field, because *Members and Viewers need explicit workspace access.* Any workspace you leave unselected is removed from them in the same step, so read that field before you save it. - -- Promoting someone to Admin or Owner makes them a Workspace Admin in every workspace at once -- Demoting an Admin to Member or Viewer asks you to pick the workspaces they keep -- The last remaining Owner can neither be demoted nor removed. Promote a second Owner first - -## Remove or reactivate someone - -Removing someone from the organization asks you to confirm, then ends their sign-in and marks them Deactivated. Removing them from a single workspace leaves their organization membership intact. - -A few things are blocked outright: - -- You cannot remove yourself, from the organization or from a workspace. Ask another Owner or Admin -- You cannot remove anyone from their last workspace -- You cannot remove an Owner or Admin from a workspace, since they reach every workspace regardless -- You cannot remove the last remaining Owner - -Removal does not delete anything a person produced. Annotations, scores and other output stay in place. - -Reactivating is not something the dashboard offers. A removed person is marked Deactivated and no control anywhere brings them back, so contact the Future AGI team if somebody has to be restored. - -## Require two-factor authentication - -Owners and Admins reach [**Settings > Org Settings**](/docs/admin-settings/organization-settings), titled Organization Settings, which holds the organization name and the security policy. - -Under **Organization Security** there is one toggle, **Require 2FA for all members**. With it on, all organization members must set up two-factor authentication. - - -You must enable two-factor authentication on your own account before requiring it for the organization. The page links straight to Profile Settings so you can. - - -Members and Viewers cannot open Org Settings, so they cannot change the policy. - -## Close out an offboarding - - -**A platform API key belongs to the organization, not to the person who created it.** Removing someone does not disable any key they made, and anything still using that key keeps working. - -Go through **Build > Keys** in **every workspace they belonged to**, because that page only ever shows the keys of the workspace you have open. Check the **Created By** column and disable theirs. Deleting needs an Owner, so if you are an Admin, disable it now and hand the deletion to an Owner. - - -Two more things survive a removal and are worth a look on the way out. Any [share link](/docs/roles-and-permissions/guides/share-outside-your-organization) they created still works, and a dataset link cannot be withdrawn from the dashboard at all. And there is no activity log anywhere in the product, so if you need a record of what they changed, it has to come from Future AGI rather than from a screen. - -## Dive deeper - - - - What each role can grant, and who can act on whom - - - What to check when a role change did not do what you expected - - diff --git a/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx b/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx deleted file mode 100644 index fac5238b0..000000000 --- a/src/pages/docs/roles-and-permissions/guides/set-up-your-team.mdx +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: "Set up your team" -description: "Decide your workspaces, pick a role for each person, invite them, and hand out keys that land in the right place." ---- - -An organization arrives with one workspace and one person in it, and the shape you give it in the first hour is the shape it keeps, because a workspace cannot be deleted from the dashboard and a key cannot be moved between workspaces. This guide covers the five decisions that are awkward to undo, in the order they come up. - -## Before you start - -- You are the Owner, or an Admin, the two roles that can create workspaces and open **Settings > Members** -- You know which groups of people must not see each other's work, since that is the only question a workspace answers -- You have the email address of everyone you are inviting - -## Decide how many workspaces you need - -A workspace is the data boundary. Your datasets, traces, evaluations, prompts, annotations and knowledge bases live inside one workspace and cannot be seen from another. [What is scoped where](/docs/roles-and-permissions/concepts/organizations-and-workspaces#what-is-scoped-where) has the full list, along with the four things the boundary does not cover. - -One workspace is enough if everyone is allowed to see everything. Add a second when one group must not see another group's work, or when you want production and staging kept apart. - -Your organization already has one, called **Default Workspace**. Nothing in the dashboard deletes a workspace, this one included, so use it for one of your teams, leave it empty, or ask the Future AGI team to remove it. - -There are two ways to add one, and both open the same dialog. Either open the **workspace switcher** at the top of the left sidebar, hover the workspace name and choose **Create Workspace**, or go to **Settings > Workspaces** and click **Create New Workspace**. Name it and click **Create workspace**. You become its admin. Names must be unique in the organization, and reusing one gives you **Workspace with this name already exists**. - - -The switcher does more than switch. It creates workspaces, moves you between workspaces and organizations, opens Settings, and is where a Workspace Admin invites people. You will be back in it throughout this guide. - - -## Pick a role for each person - -Everyone gets two roles. The organization role decides who they can manage and whether they reach organization settings and billing; the workspace role decides what they can do with the work. [How the two roles combine](/docs/roles-and-permissions/concepts/how-roles-combine) covers the interaction; this is the shortlist. - -| What they need to do | Organization role | Workspace role | -|---|---|---| -| Set the organization up | Owner | Every workspace, automatically | -| Share the account, the people and the billing with you | Admin | Every workspace, automatically | -| Run one workspace and manage the people in it | Member | Workspace Admin | -| Build and edit inside one workspace | Viewer | Workspace Member | -| Read one workspace without changing it | Viewer | Workspace Viewer | - - -**Owners and Admins reach every workspace, automatically and permanently.** You cannot make someone an Admin and keep one workspace out of their reach. If a boundary matters, make them a Member or Viewer and add them only to the workspaces they should see. - - -To give someone control of one workspace and nothing else, make them an organization **Member** and a **Workspace Admin** in that workspace. They can then invite into it and manage its members, without reaching billing, organization settings, or anyone else's workspace. - - -**Why the Workspace Members above are organization Viewers, not Members.** A team lead can only manage people whose organization role is lower than their own. If the people they lead are also organization Members, the lead's row menu is disabled with *You cannot manage a user at or above your own level.* - -Organization Viewer takes almost nothing away here. The **Workspace Member** role still creates, edits and shares everything in that workspace, and still opens the workspace's own Integrations and AI Providers tabs. What it drops is the organization-level **AI Providers** page in Settings. - -If that page is needed, use Member instead, and the team lead will not be able to remove them. - - -## Invite them - -Go to **Settings > Members** and click **Invite User**. Enter the addresses in **Emails**, comma separated, so one invite can cover several people. Pick the **Organization Role**, then the **Workspace Role**, then the **Workspaces** it applies to, and click **Send Invite**. - -One invite carries one organization role, one workspace role and one set of workspaces, and every address in it gets all three. People who need different roles or different workspaces need separate invites, so send one per group rather than one for the whole team. - -Choosing Admin or Owner removes both workspace fields and says *Owner and Admin roles have automatic access to all workspaces.* - -Each person appears as **Pending** until they accept, or immediately as **Active** if they already have a Future AGI account. An invite lasts 7 days, and a Pending row carries **Resend the invite** and **Cancel invite**. - -## Hand out the API keys - -Your SDK and your traces authenticate with a platform API key. - - -**Switch into the right workspace first.** A key belongs to whichever workspace you have open when you create it. Traces sent with it land there, and the Keys page only ever lists the keys of the workspace you are currently in. The dialog says none of this and gives you no workspace to pick, so the switcher is your only control over it. - -Make the key for `research` while you are inside `research`. A key made in the wrong workspace does not appear on the Keys page until you switch back to it. - - -Open **Build > Keys** in the left sidebar and click **Add API Key**. It asks for a name and nothing else. You are then shown an API Key and a Secret Key, both masked, so take each with its copy button. If you are making this key for somebody else, send them both values now, before you close the dialog. It does not come back, and there is no way to reveal a secret later. - -Only Owners, Admins and Workspace Admins can open this page, so decide who issues keys. [API Keys](/docs/admin-settings/api-keys) covers rotation and the difference between a platform key and a gateway key. - -## Check it worked - -Three read-only checks close the setup out. - -- **Settings > Members** lists everyone with their role, their workspaces, and Active or Pending -- **Settings > Workspaces** lists every workspace with its admins -- Ask one teammate to sign in. They should see their own workspaces in the switcher and nothing else - -The setup is done when every person is on the Members page with the role you intended, and a Member or Viewer signing in sees only the workspaces you put them in. - -## Dive deeper - - - - Role changes, removals, and what an offboarding has to cover - - - Every action against every role, once the team is in - - diff --git a/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx b/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx deleted file mode 100644 index 122d0f7c8..000000000 --- a/src/pages/docs/roles-and-permissions/guides/share-outside-your-organization.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Share outside your organization" -description: "Give somebody one dataset or one Observe project without giving them a role, and know which of the two you can take back." ---- - -A share link grants access to a single resource without granting a role, which makes it the fastest way to show a customer or an auditor one thing. It is also the one access path that ignores workspaces entirely, and only one of the two kinds can be withdrawn afterwards. This guide covers both, and which is which. - -## Before you start - -- You can create or edit in the workspace the resource lives in. For a Workspace Viewer the **Share** button is greyed out -- You have decided whether the person should be named, because a dataset link cannot be restricted to named people and an Observe project link can -- You accept that a link you send is effectively permanent, since nothing in the dashboard sets an expiry or issues a fresh URL - -## Share a dataset - -Open the dataset and click **Share**. The dialog gives you the dataset's own address, a copy button, **Cancel** and **Done**, and it says *Share this link to give others access to the selected dataset. Anyone with the link will be able to view the data.* - -That is the whole feature. There is no restricted option, no expiry and no revoke, and once you click **Done** there is nothing in the dialog to undo it. Whoever holds the URL can open the dataset with no account and no sign-in. - - -**A dataset link cannot be taken back from the dashboard.** Contact the Future AGI team if one has to be withdrawn. Send one only where public access to that data is acceptable. - - -## Share an Observe project - -Open the project and click **Share**. An Observe project behaves differently in three ways that matter. - -It hands out a separate `app.futureagi.com/shared/...` address rather than the project's normal one. Its dialog reopens at any time with the link and the current setting. And under **Who can access** it carries two modes. - -**Restricted** is the default, and only the people you add can open it. **Anyone with the link** drops the sign-in entirely. - -A restricted share also has an **Invite people** field, so you can name the email addresses directly. Those people sign in, but they do not have to join your organization, which is what makes this the safer of the two paths for a customer who already has a Future AGI account. - -## Narrow a share you already sent - -Reopen **Share** on the project and set **Who can access** back to **Restricted**. Anyone not on its list stops being able to open it. - -That is the only control the dashboard gives you over a link that is already out, and it exists for Observe projects only. Nothing anywhere issues a fresh URL or sets an expiry, so treat every link you send as permanent and share it deliberately. - -## Dive deeper - - - - Why a share link sits outside the workspace boundary - - - What the dashboard cannot do, and who to ask instead - - diff --git a/src/pages/docs/roles-and-permissions/index.mdx b/src/pages/docs/roles-and-permissions/index.mdx index c9f269d40..539f03117 100644 --- a/src/pages/docs/roles-and-permissions/index.mdx +++ b/src/pages/docs/roles-and-permissions/index.mdx @@ -1,9 +1,9 @@ --- title: "Roles & Permissions Overview" -description: "Two levels of access, four organization roles and three workspace roles, and what each one can reach" +description: "Two levels of access, the roles that live on each, and where the boundary between two teams actually sits" --- -Access on Future AGI is decided in two places, not one. Where the plan and the people live is one boundary; where the work lives is another. Almost every access question that reaches support turns out to be someone holding the right role at the wrong level. +Access on Future AGI is decided in two places, not one. Where the plan and the people live is one boundary; where the work lives is another. Almost every access problem is the same shape: the right role, held at the wrong level. ## What is access control on Future AGI? @@ -12,50 +12,157 @@ Every account has an **organization**, and inside it one or more **workspaces**. - Your **organization role** is one of Owner, Admin, Member or Viewer. It decides who you can manage, and whether you reach organization settings and billing - Your **workspace role** is one of Workspace Admin, Workspace Member or Workspace Viewer. It decides what you can do with the work inside that workspace -The two are independent. An organization Viewer added to a workspace as a Workspace Member can create, edit and share everything in it. +Access has two levels. The organization holds members and roles, the plan and billing, and organization settings. Under it sit workspaces, and every workspace holds the same kinds of thing: traces, datasets, evaluations, prompts, annotation queues and knowledge bases. -Owners and Admins are Workspace Admins in every workspace automatically. Everyone else sees only the workspaces they were added to. +The organization is the billing boundary. The workspace is the data boundary. Every organization is created with one workspace, called **Default Workspace**, and workspace names are unique inside an organization. -## Before you start +## Organization roles -Access control is available on every deployment. Only an Owner or an Admin can change organization roles, create workspaces, or open the Members page. +Everyone holds one of four. They rank in this order, Owner highest and Viewer lowest, and the ordering decides who can invite and manage whom. These are the descriptions the product itself shows you. -A Workspace Admin can invite into their own workspace and manage its members, without reaching billing or anyone else's workspace. + + + Full control. Can manage billing, members, and transfer ownership + + + Full control on manage settings, members, and permissions + + + Collaborate within the space, accessing tools and tasks shared with them + + + Read-only access to shared resources + + -## Where it shows up +An organization keeps at least one Owner at all times, so ownership moves by promoting a second Owner and then demoting the first. An Admin reaches billing and the plan on the same terms as an Owner, but cannot change an Owner or another Admin. -Access lives in **Settings**, across three surfaces. + +Owners and Admins are **Workspace Admins** in every workspace, automatically. They need no workspace membership of their own, promoting someone grants that access everywhere at once, and demoting them asks you to pick the workspaces they keep. + -- **Members:** everyone in the organization with their role, their workspaces, and whether they are Active or Pending -- **Workspaces:** every workspace with its admins, start date and last update -- **Your Workspaces:** each workspace you belong to, and the tabs inside it that your workspace role allows +## Workspace roles -The workspace switcher at the top of the left sidebar is the fourth surface, and the busiest one. It creates workspaces, moves you between workspaces and organizations, opens Settings, and carries **Invite members** for a Workspace Admin. +A Member or Viewer sees nothing in a workspace until they are added to it. Their role in that workspace is one of three. -## What you can use it for +| Role | View | Create and edit | Manage workspace members | +|---|---|---|---| +| Workspace Admin | Yes | Yes | Yes, for people whose organization role is lower | +| Workspace Member | Yes | Yes | No | +| Workspace Viewer | Yes | No | No | -- **Keep one team's work out of another's**, for example "the research workspace must not see the customer workspace's traces" -- **Give someone control of one team and nothing else**, for example "a lead who runs their own workspace but never touches billing" -- **Let someone read without changing anything**, for example "a stakeholder who reviews evaluation results and cannot edit them" -- **Show one thing to somebody outside the organization**, for example "a dataset a customer needs to see without an account" +The last column carries a second condition. A Workspace Admin manages the members of their workspace, and the organization role still applies on top, so they can change or remove only the people whose organization role is lower than their own. -## Roles vs share links +Every Member and Viewer needs at least one workspace, and the invite form will not send without one. Someone with no workspace sees an empty product on sign-in. -Roles decide what someone with an account can reach. A [share link](/docs/roles-and-permissions/guides/share-outside-your-organization) grants access to one resource without granting a role at all, and a dataset link works with no account and no sign-in. The two are separate systems, and a workspace boundary does not constrain a link somebody has already sent, so anyone auditing access has to look at both. +## When both roles apply -## Start here +Inside a workspace, the workspace role is the one that applies, in both directions. An organization Viewer added as Workspace Member can create, edit and share there. An organization Member added as Workspace Viewer cannot: Add Dataset, Add Row, Add Column, Run Prompt, Evaluate, Share and Create prompt are all greyed out for them. + +One person can hold a different role in each workspace, and the difference is visible on the same screen. A dataset gives you Add Row, Add Column, Run Prompt, Evaluate and Share where you are a Workspace Member, and greys all of those out where you are a Workspace Viewer. + +A Workspace Admin cannot open organization settings or create a workspace. Both need an organization Admin or Owner. The role does give **Invite members** in the workspace switcher, the Members tab inside that workspace's own settings, and the **Build > Keys** page. + + ORG["Their organization role"] + ORG --> RANK["Who they can manage, and billing and organization settings"] + ORG -->|"Owner or Admin"| ALL["Workspace Admin in every workspace"] + ORG -->|"Member or Viewer"| ADDED["Added to this workspace?"] + ADDED -->|"no"| NONE["No access, workspace not listed"] + ADDED -->|"yes"| WS["Their workspace role decides"] + ALL --> WORK["What they can do with the work"] + WS --> WORK + WORK --> QUEUE["Inside a queue, the queue role applies instead"]`} /> + +## What is scoped where + +This boundary decides what a teammate in another workspace can see. - - The two levels, what is scoped where, and the four things the boundary does not cover + + Datasets, traces, prompts, evaluations and annotation queues, plus knowledge bases, custom models, playground graphs, optimization runs and that workspace's own connections - - Which role applies when someone holds both, and what a Workspace Admin can really do + + Members, roles and invites, the plan and everything on the bill, resource and rate limits, gateway keys and gateway request logs, and the organization Settings pages - - Workspaces, roles, invites and keys, from an empty organization + + +Integrations and AI Providers appear on both sides because there are two of each: an organization Settings page, and a tab inside every workspace. Reaching one does not give you the other. + +Future AGI's built-in evaluations are available in every workspace of every organization. An evaluation template you build yourself belongs to the workspace you built it in, so rebuild it where it is needed, or keep shared evaluations in a workspace everyone belongs to. + +## What the boundary does not cover + +Separating teams into workspaces separates their work. Four things stay shared across the whole organization. + +| Not separated | What that means | +|---|---| +| The gateway | Every role opens every page under **Gateway**, and the request logs are stamped with the organization rather than a workspace | +| Where a key can send | A key always writes to its own organization, whichever one you have open in the dashboard | +| What a key can be aimed at | Traces are fixed to the key's workspace, but other SDK and API calls can name any workspace you have access to in the same organization | +| Usage and billing | One plan, one balance, one invoice. **Usage Summary** is open to every role and breaks consumption down by workspace | + +Three consequences follow: + +- Anyone who can sign in sees every team's gateway traffic, so keep a team's traffic off the gateway if it has to stay private +- Every role can see what every team is using on **Usage Summary** +- A key is scoped by who holds it, not by where it was made + + +**Gateway** is in the sidebar for everyone, including a Viewer, and every page under it opens: Providers, API Keys, Guardrails, Fallbacks, the request logs, budgets and webhooks. Treat gateway configuration as visible to your whole organization. + +Only reading is open to everyone. Writing is still checked, just later than elsewhere. The gateway leaves its create buttons live instead of greying them out, then refuses on submit with **Write access denied to this workspace**. + + +## Where a key lands + +A [platform API key](/docs/admin-settings/api-keys) belongs to one organization for good, and inside it to the workspace you had open when you created it. Nothing in the **Add API Key** dialog says so and there is no field to change it, so switch into the workspace before you create the key. + +Traces always land in the workspace the key was created in, and a workspace header on a trace export is ignored. The one exception is the starter `system_org_key`, which was never created in a workspace and lands in the organization's default one. Other SDK and API calls can name a different workspace on the request, and they resolve in this order: + +1. An `X-Workspace-Id` header or a `workspace_id` query parameter takes precedence, provided that workspace is in the same organization and you have access to it +2. Otherwise the workspace the key was created in +3. Otherwise the workspace you last used, then the first workspace you belong to, and if you belong to none, the organization's default workspace + + +Data in the wrong place is almost always the key. Make one key per workspace, name it after the workspace, and create each one while you are inside it. + + +## One person, many organizations + +One person can belong to several organizations, with a different role in each. Organizations share nothing: separate workspaces, separate members, separate plan, separate billing, separate keys. Two teams that need separate gateway logs or separate invoices need separate organizations, because neither splits by workspace. + +Move between them from the switcher at the top of the sidebar. Future AGI remembers where you were, so the organization and workspace you last used are where you land next time, on any device. + +## Annotation queue roles + +[Annotation queues](/docs/annotations/concepts/queues-and-items) carry one more set of roles, granted per person per queue. They control what someone can do to the items in a queue, not who can see it: anyone with access to the workspace can browse it. + +| Queue role | What it covers | +|---|---| +| Annotator | Annotates the items assigned to them | +| Reviewer | Reviews other people's annotations and sends work back for rework | +| Manager | Manages the queue itself, its settings and its people | + +Each person gets three independent checkboxes, one per role, so they combine freely, and whoever creates the queue is added with all three ticked. Inside a queue the queue role applies instead of the workspace role, so an Annotator can annotate there even if they cannot create or edit anything else in the workspace. + +Two settings on the queue change how the work is handed out. **Auto-assign items to all annotators** gives every annotator every item, and **Submissions per item** sets how many annotators must label each one, at most the number you have added. + +## Why it matters + +The combination people get wrong is a team lead who cannot manage their own team. Making the lead an organization Member and a Workspace Admin looks right, and it fails the moment the people they lead are also organization Members, because a Workspace Admin can only change or remove people whose organization role is lower than their own. Put the people they lead in as organization Viewers and the same setup works. + +The other one is an isolation promise. The workspace does its job completely for datasets, traces, prompts and evaluations, and it does not contain a credential, a gateway log or a bill. Read the four rows above before you tell a customer two teams are separated. + +## Start here + + + + Set the team up, invite people, change what they reach, and share outside the organization - Every action against every role, in one place + Every action against every role, plus what to check when someone cannot see something diff --git a/src/pages/docs/roles-and-permissions/reference/permissions.mdx b/src/pages/docs/roles-and-permissions/reference/permissions.mdx index bc67acb7f..5c42a6264 100644 --- a/src/pages/docs/roles-and-permissions/reference/permissions.mdx +++ b/src/pages/docs/roles-and-permissions/reference/permissions.mdx @@ -1,6 +1,6 @@ --- title: "Permission reference" -description: "Every action against every organization role and every workspace role, in one place" +description: "Every action against every role, what each role sees in Settings, and what to check when someone cannot see something" --- ## By organization role @@ -36,12 +36,12 @@ What a Member or Viewer can do inside a workspace comes from their workspace rol | Open the Keys page | Yes | No | No | -Managing workspace members still follows the organization role. A Workspace Admin whose organization role is Member can act on the people in their workspace whose organization role is Viewer, and the rest of the rows are disabled with *You cannot manage a user at or above your own level.* The two actions on a row you can act on are **Edit user info** and **Remove from workspace**. +Managing workspace members still follows the organization role. A Workspace Admin whose organization role is Member can change or remove the people in their workspace whose organization role is Viewer, and the rest of the rows are disabled. The two actions on a row are **Edit user info** and **Remove from workspace**. ## Settings pages by role -Open Settings from the workspace switcher at the top of the sidebar. It is a grouped tree, not a flat list, and this list follows your **organization** role only, so it is identical in every workspace you switch to. +Open Settings from the workspace switcher at the top of the sidebar. It is a grouped tree, and this list follows your **organization** role only, so it is the same in every workspace you switch to. | Settings page | Owner | Admin | Member | Viewer | |---|---|---|---|---| @@ -59,16 +59,12 @@ Open Settings from the workspace switcher at the top of the sidebar. It is a gro Below those sits **Your Workspaces**, which lists every workspace you belong to and opens that workspace's own settings. Owners and Admins see every workspace in the organization there. -The workspace role adds nothing to this list. A Workspace Admin has no organization **Members** entry, and reaches their own workspace's member list through **Your Workspaces** or through **Workspace settings** in the switcher. - -**Integrations** and **AI Providers** each name two different screens. The ones in the table above are organization settings. Each workspace also has its own Integrations and AI Providers tabs, holding that workspace's own connections. Reaching one does not give you the other. +**Integrations** and **AI Providers** each name two different screens. The ones above are organization settings. Each workspace also has its own Integrations and AI Providers tabs, holding that workspace's own connections. Reaching one does not give you the other. ## Workspace settings tabs by role -What the workspace role changes is the tabs you get once you are inside a workspace's own settings. - | Your workspace role | Tabs you get | |---|---| | Workspace Admin | General, Members, Integrations, AI Providers | @@ -81,9 +77,7 @@ What the workspace role changes is the tabs you get once you are inside a worksp [Billing](/docs/billing) is handled at the organization. There is one plan, one balance and one set of limits, and every workspace draws on them, so adding a member or a workspace does not change the plan. -**Plans & Pricing** and **Billing** are open to Owners and Admins, both with the same controls: the plan, the invoices, **Add Budget** and **Add Card**. **Usage Summary** is open to every role and breaks consumption down by workspace, which shows where it came from without creating a per-workspace budget or a separate bill. - -Billing, Plans & Pricing and Usage Summary are Future AGI Cloud only. Self-hosted deployments get a **License** page instead. +**Plans & Pricing** and **Billing** are open to Owners and Admins, both with the same controls: the plan, the invoices, **Add Budget** and **Add Card**. **Usage Summary** is open to every role and breaks consumption down by workspace. All three are Future AGI Cloud only, and self-hosted deployments get a **License** page instead. ## Who can grant what @@ -93,32 +87,97 @@ Billing, Plans & Pricing and Usage Summary are Future AGI Cloud only. Self-hoste | Admin | Admin, Member, or Viewer. Owner is not offered | Any | | Workspace Admin | A workspace role only | Any workspace they belong to, but only from one they administer | -You can grant your own role or anything below it, never above. An Owner can invite another Owner and an Admin can invite another Admin. An Admin cannot create an Owner: the Organization Role list simply does not contain it. +You can grant your own role or anything below it, never above. An Admin cannot create an Owner: the Organization Role list simply does not contain it. ## Key actions -Each row on **Build > Keys** carries two actions. +**Build > Keys** carries three actions. | Action | What it does | Who | |---|---|---| +| Add API Key | Creates a key bound to the workspace you have open | Owner, Admin, Workspace Admin | | Disable Key | Turns off the key and its secret together. The row gains a **Disabled** badge and the menu changes to **Re-enable key** | Owner, Admin, Workspace Admin | | Delete Key | Removes the key and its secret permanently, and cannot be undone | Owner only | -| Add API Key | Creates a key bound to the workspace you have open | Owner, Admin, Workspace Admin | -**Delete Key** is offered to everyone who can open the page, but only an Owner's goes through. An Admin or a Workspace Admin gets as far as the confirmation and then **You are not authorized to access this resource**, and the key stays. If a key has to go and you are not an Owner, disable it and ask an Owner to delete it. +**Delete Key** is offered to everyone who can open the page, but only an Owner's goes through. [API Keys](/docs/admin-settings/api-keys#managing-keys) covers what everyone else gets instead. + + +## When someone cannot see something + +Somebody cannot see something, and it is nearly always one of three things: they were never added to the workspace, their workspace role is read-only, or the page they want is not in their role's navigation. + +| What they say | What to check | +|---|---| +| "I cannot see the workspace at all" | They were never added to it. Add them from **Settings > Members** | +| "I can see it but I cannot create anything" | They are a Workspace Viewer there. Change their workspace role | +| "I cannot see your dataset or your evaluation" | Those live in the workspace they were made in. Add the person to that workspace | +| "That Settings page is missing for me" | The page is not in their role's navigation, and typing the address does not get them in | +| "I clicked it and nothing happened" | Usually a permission rather than a fault. Compare their role against the grids above | + + +Go by your navigation. If a Settings page is not listed there, your role cannot reach it, and the address does not say so. Depending on the page you get a 404, a silent return to Datasets, or the page itself with buttons that do nothing. None of those mean the feature is missing. +The gateway is the one place that breaks this pattern. Its buttons stay live for everyone and refuse on submit with **Write access denied to this workspace**, so somebody who cannot create in a workspace finds out one click later there than anywhere else. + +## What the dashboard cannot do + +| What you need | Why the dashboard cannot do it | +|---|---| +| A workspace deleted | There is no delete action anywhere in the dashboard | +| A dataset share link withdrawn | Its dialog has no revoke, no expiry and no regenerate. An Observe project can at least be set back to Restricted | +| Someone you removed brought back | Removal marks them Deactivated and the dashboard offers no way to undo it | + +Ask the Future AGI team through [support](https://futureagi.com/contact-us) for all three. + +A fourth needs settling before you promise anything to a compliance reviewer. The dashboard has no activity or audit log, so you cannot pull a record of who changed whose role. Ask Future AGI whether one exists behind the product before you commit to producing it. + + +**What these pages cover.** They answer who can reach what in the dashboard, and what happens when they try. They do not cover how long a sign-in or token stays valid, what happens to data after an account closes, or what is retained where. + + +## Common questions + +**Can the same person be in more than one organization?** + +Yes, with a different role in each. The organizations share nothing, and you move between them from the switcher at the top of the sidebar. + +**I have an organization role and a workspace role. Which one applies?** + +Owners and Admins are Workspace Admins everywhere. For everyone else the workspace role decides, in both directions. + +**I demoted an Admin to Member. Do they still see every workspace?** + +Only the ones you selected during the demotion. Setting someone to Member or Viewer adds a required Workspaces field, and access to every unselected workspace is removed in the same step. + +**Can a Workspace Admin invite an Admin?** + +No. Their invite carries no Organization Role field, so they grant a workspace role only. + +**My SDK data is going to the wrong place. What should I check?** + +It is the key. A key belongs to one organization for good, so the wrong organization means you need a key made in the other one. The wrong workspace means traces are landing where the key was created and cannot be redirected, so make a new key inside the workspace you want. If you never made the key yourself, check whether you are using the starter `system_org_key`, which lands in the organization's default workspace. + +**Can I give one team its own gateway logs, or its own bill?** + +Not inside one organization. Gateway keys, gateway request logs, the plan and the invoice all belong to the organization. Separate logs or separate bills mean separate organizations. + +**What happens to someone's work after they are removed?** + +It is preserved, and their sign-in stops immediately. Their API keys are the exception and keep working, because a key belongs to the organization rather than the person. + +**Do you support SSO?** + +Yes. SAML, along with Google and GitHub sign in, and passkeys. Talk to the Future AGI team before setting SAML up. Once it is configured, password resets are turned off and new sign ups have to come through SAML, though existing password and social logins keep working. + ## Keep exploring - - - Which role applies when someone holds both - - - Put a role change into effect + + + The two levels, the roles on each, and where the boundary sits - - What to check when someone cannot see something + + Put a role change or a removal into effect diff --git a/src/pages/docs/roles-and-permissions/troubleshooting.mdx b/src/pages/docs/roles-and-permissions/troubleshooting.mdx deleted file mode 100644 index 1386b6f9c..000000000 --- a/src/pages/docs/roles-and-permissions/troubleshooting.mdx +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "Roles & permissions FAQ & fixes" -description: "What to check when somebody cannot see something, and the four things the dashboard cannot do" ---- - -## In this page - -Most access reports are one of three things: the person was never added to the workspace, their workspace role is read-only, or the page they want is not in their role's navigation. Work down the first table before raising anything. The second table covers the four cases where the dashboard genuinely cannot help and the Future AGI team has to. - -## When someone cannot see something - -| What they say | What to check | -|---|---| -| "I cannot see the workspace at all" | They were never added to it. Add them from **Settings > Members** | -| "I can see it but I cannot create anything" | They are a Workspace Viewer there. Change their workspace role | -| "I cannot see your dataset or your evaluation" | Those live in the workspace they were made in. Add the person to that workspace | -| "That Settings page is missing for me" | The page is not in their role's navigation, and typing the address does not get them in | -| "I clicked it and nothing happened" | Usually a permission rather than a fault. Compare their role against the [permission reference](/docs/roles-and-permissions/reference/permissions) | - - -Go by your navigation. If a Settings page is not listed there, your role cannot reach it, and the address does not say so. Depending on the page you get a 404, a silent return to Datasets, or the page itself with buttons that do nothing. None of those mean the feature is missing. Ask an Owner or Admin. - - -The gateway is the one place that breaks this pattern. Its buttons stay live for everyone and refuse on submit with **Write access denied to this workspace**, so somebody who cannot create in a workspace finds out one click later there than anywhere else. - -## What the dashboard cannot do - -| What you need | Why the dashboard cannot do it | -|---|---| -| A workspace deleted | There is no delete action anywhere in the dashboard | -| A dataset share link withdrawn | Its dialog has no revoke, no expiry and no regenerate. An Observe project can at least be set back to Restricted | -| Someone you removed brought back | Removal marks them Deactivated and the dashboard offers no way to undo it | - -Ask the Future AGI team through [support](https://futureagi.com/contact-us) for all three. - -A fourth needs settling before you promise anything to a compliance reviewer. The dashboard has no activity or audit log, so you cannot pull a record of who changed whose role. Ask Future AGI whether one exists behind the product before you commit to producing it. - -For everything else, an Owner or Admin in your own organization can already do it themselves. - - -**What these pages cover.** They answer who can reach what in the dashboard, and what happens when they try. They do not cover how long a sign-in or token stays valid, what happens to data after an account closes, or what is retained where. Take those to Future AGI rather than reading anything into their absence here. - - -## FAQ - - - - Yes, with a different role in each. The organizations share nothing, and you move between them from the switcher at the top of the sidebar. - - - Yes. Workspace Admin in one workspace and Workspace Viewer in another is a valid combination, and the difference is visible: the actions on a dataset are live in one and greyed out in the other. - - - Owners and Admins are Workspace Admins everywhere. For everyone else the workspace role decides, in both directions. An organization Viewer added as Workspace Member can create, edit and share. An organization Member added as Workspace Viewer cannot. - - - Only an Owner can delete a platform API key. Everyone else who can open the page sees the button, gets the confirmation, and is then told **You are not authorized to access this resource**. Disable the key instead, and ask an Owner to delete it. - - - Only the ones you selected during the demotion. Setting someone to Member or Viewer adds a required Workspaces field, and access to every unselected workspace is removed in the same step. - - - Yes. Owners and Admins are Workspace Admins in every workspace. They appear in your workspace switcher without being added. - - - Evaluations you create belong to the workspace they were created in. Either add your colleague to that workspace, or rebuild the evaluation in one you both belong to. Future AGI's built-in evaluations are always available everywhere. - - - No. If a page is not listed in your Settings navigation, your role cannot reach it. - - Typing the address gets you one of three things and none of them says why: a 404, a silent return to Datasets, or the page itself with buttons that will not work for you. The third gives no sign at all until you click something. Go by your navigation, and ask an Owner or Admin for anything that is not in it. - - - Yes, and which kind of link you get depends on what you are sharing. An **Observe project** can be set to **Restricted**, so only the people you name can open it, and they sign in without joining your organization. A **dataset** has no restricted option: its link is always open to whoever holds the URL, with no account and no sign-in. See [Share outside your organization](/docs/roles-and-permissions/guides/share-outside-your-organization). - - - Yes. SAML, along with Google and GitHub sign in, and passkeys. Talk to the Future AGI team before setting SAML up. Once it is configured, password resets are turned off and new sign ups have to come through SAML. Existing password and social logins keep working. - - - Not inside one organization. Gateway keys and gateway request logs are held at the organization, so gateway traffic is not partitioned by workspace, and every role can open the gateway pages and read those logs. - - If two teams genuinely need separate gateway logs, put them in separate organizations. Organizations share nothing, gateway keys and logs included. - - - It is the key. Which half to check depends on what is wrong. - - **Wrong organization:** a key belongs to one organization for good. Selecting a different organization in the dashboard does not change where that key writes, so you need a key made in the other organization. - - **Wrong workspace:** traces land in the workspace the key was created in, and there is no way to redirect them afterwards. Make a new key while you are inside the workspace you want. Other API and SDK calls can name a workspace on the request instead. - - If you never made the key yourself, check whether you are using the starter `system_org_key`. It was never created in a workspace, so its traces go to the organization's default one no matter what you have open. - - - No. Their invite carries no Organization Role field, so they grant a workspace role only. Granting an organization role needs an Admin or an Owner. - - - Not inside one organization. The plan, the balance, the limits, and the invoice all belong to the organization, and usage is reported per workspace but billed as one. Separate bills mean separate organizations, which also means separate members, workspaces and keys. See [Billing](/docs/billing). - - - No. Promote a second Owner first, then the original can be demoted or removed. - - - You cannot, from the dashboard. There is no delete action on the workspace list or inside a workspace's own settings. Contact the Future AGI team. - - - It is preserved. Annotations, scores, and other output remain in place, and their sign-in stops immediately. - - Their API keys are the exception and do not stop. A key belongs to the organization rather than the person, so anything still calling with it keeps working until somebody disables it on **Build > Keys**. - - - Resend it from their row on the Members page. Resending issues a fresh link and restarts the window. Do the same if the invite still shows as Pending but the person says the link is dead. - - - Not one you can reach. There is no activity or audit log anywhere in the dashboard. Ask the Future AGI team before you commit to producing one for a reviewer. - - - -## Keep exploring - - - - Every action against every role - - - What the workspace boundary does and does not cover - - - Put the fix into effect on the Members page - -