Workspaces

Most modern products eventually need to support collaboration.

Whether it's a small team, a company, or an organization, multiple people need to work together while sharing data and permissions.

Vuesion solves this by organizing application data into workspaces.

Every resource belongs to a workspace, making collaboration and access control predictable from the beginning.

Every user has a personal workspace

Whenever a new user is created, Vuesion automatically creates a personal workspace.

Text
   User
    │
    ▼
Personal Workspace

The user becomes the owner of that workspace and can start using the application immediately.

This guarantees that every user always belongs to at least one workspace.

Creating additional workspaces

Users are not limited to their personal workspace.

They can create additional workspaces whenever collaboration is required.

For example:

Text
Personal Workspace

Marketing Team

Engineering

Acme Inc.

A single user may belong to any number of workspaces.

Switching between workspaces changes the active collaboration context without requiring another account.

Members and invitations

Collaboration is managed through workspace members and workspace invitations.

Text
Workspace
├── Members
└── Invitations

Members already belong to the workspace and can access its resources.

Invitations allow new users to join the workspace while keeping the onboarding process separate from membership management.

Roles

Every workspace member has a role.

Vuesion currently provides three built-in roles:

  • Owner
  • Admin
  • Member

These roles determine which actions a member is allowed to perform inside the workspace.

The exact permissions are enforced on the server through access control.

The frontend may hide unavailable actions for usability, but the server always remains the source of truth.

Workspace isolation

Every application resource belongs to exactly one workspace.

Text
Workspace
├── Files
├── Members
├── Invitations
└── Product Data

This prevents data from leaking between teams and makes permission checks straightforward.

Instead of asking whether a user owns a resource directly, the application verifies whether the user has access to the workspace that owns the resource.

Why workspaces?

Many applications start as single-user products and introduce collaboration later.

Adding multi-tenancy after a product has already grown usually requires significant architectural changes.

Vuesion takes the opposite approach.

By organizing data around workspaces from the beginning, collaboration becomes a natural extension of the application rather than a later redesign.

Even if a product initially targets individual users, the architecture is already prepared for future collaboration.

Why this architecture?

Workspaces are more than a way to group users.

They establish a consistent boundary for:

  • Collaboration
  • Permissions
  • Data ownership
  • Future scalability

Every user starts with a personal workspace, making the first experience simple while providing a clear path toward team-based collaboration as the product grows.

Next steps

Continue with Authorization to learn how Vuesion protects workspace resources through roles and server-side access control.