Organization Structure
The following diagram shows the structure of an organization in Logfire:
classDiagram
  Organization <-- OrganizationMember
  User <-- OrganizationMember
  User <-- ProjectMember
  Organization <-- Project
  Project <-- ProjectMember
  class Organization {
    UUID id
    string name
  }
  class User {
    UUID id
    string name
  }
  class OrganizationMember {
    UUID user_id
    UUID organization_id
    string role ['admin', 'member', 'guest']
  }
  class Project {
    UUID id
    UUID organization_id
    string name
  }
  class ProjectMember {
    UUID user_id
    UUID project_id
    string role ['admin', 'member']
  }
As a user, you can be a member of multiple organizations. On each organization, you can either be:
- An admin: who can manage the organization and its projects.
 - A member: who can only view the organization and the projects that are shared with them.
 - A guest: who can only view the projects that are shared with them.
 
An admin can invite other users to join the organization. When a user accepts the invitation, they become a member of the organization.
Each organization can have multiple projects. On each project, you can either be:
- An admin: who can manage the project.
 - A member: who can only view the project.
 
If a user is invited to join a project, they become a member of the project, but they are a guest in the organization.