Skip to content

Users & access

Everyone in a workspace is a member with a role:

  • Owner: one per workspace, with every right, including over admins.
  • Admin: manages the workspace: members, nodes, domains, integrations and every project, and sees everything running on the machines (Discovery).
  • Member: sees and changes only what they are granted. They also see the nodes and domains they deploy onto, without changing them.

People join by invitation, which an admin sends from this page. Someone new creates their account from the invitation’s link; someone who already has an account here, such as a person who was removed and is invited back, signs in from the link and joins with it.

A member’s access is granted per project or per resource (a service, a stack, a job), each at a level: view, deploy, create, update or delete. A grant on a project covers its environment levels too. A member sees only the projects they were given; the overview and activity feed show nothing else. A member given only a service, a stack or a job sees its project too, and it opens showing just what they were given. On their page, an action granted on some of a project’s resources and not the whole project shows as an outlined pill; clicking it grants the whole project. A grant can also come from somewhere other than this page, shown as via its source with a lock: it is given and removed there.

A machine joined to the mesh belongs to the person who made its token, its owner, and acts as them. Once an admin enforces the mesh policy on the Access page, each machine reaches only what its owner may use:

  • An owner’s or admin’s machine reaches every machine of the workspace.
  • A member’s machine reaches the ports of what they were granted, and the internal routes that lead to it. Any other internal route answers it with “Not shared with you”.
  • A database is not reached from a member’s machine until someone switches From their machines on for that database; switching on its project or stack does not. Anything else is reached unless switched off.
  • The cluster’s own machines always reach each other, and a machine with no owner reaches only what a network rule opens to it.

Until the policy is enforced, every machine reaches every other, and the Access page shows what each one would reach.

The Access page’s Sessions tab lists everything signed in as the workspace’s people: browsers signed in to the console, CLIs, and AI assistants connected to act as them or as an agent. An admin can disconnect an assistant, and sign out a browser or a CLI, unless its person also belongs to another workspace, where it works for them too: then only they can.

Each person sees where they are signed in on their Account page, and can sign out any browser there, or every one but the current. Changing a password, or turning two-factor sign-in off, signs out every other browser. Its rules say what each grant opens, the ports where it answers on the mesh and its internal routes, and an internal route’s page lists who can open it.

An agent, such as an AI assistant or a CI job, is a member that signs in with a token instead of a password, and is granted access the same way. See Agents & MCP.

  • Admin: Manages the workspace and every project in it. More
  • Member: Sees and changes only what they were granted. More
  • Machine owner: The person a machine on the mesh acts as, who decides what it reaches. More
  • Enforced: The mesh lets each machine reach only what its owner may use, internal routes included. More
  • Grant: Access to a project or a resource at a level: view, deploy, create, update or delete. More