Skip to main content
All Cloosphere workspace resources are managed by a unified access control model (access_control). Grant read/write permissions to groups and organizational units to share resources safely.
Access permission settings UI

Access Control Model

Resource Access Permission (access_control)

Resource access is managed in 2 levels: read and write.
LevelDescription
Read (read)Can view and use the resource
Write (write)Can modify and manage the resource

Workspace Creation Permission

Per-group workspace feature creation permission has 4 levels. This controls whether you can create new resources, separately from individual resource access control.
LevelValueNumericDescription
Nonenone0Feature not available
Accessaccess1Basic access
Readread2View access
Writewrite3Create and modify
Permissions maintain backward compatibility. true is treated as write and false as none.

Permission Evaluation Order

Permissions are evaluated in this order.
OrderCheckDescription
1AdminIf admin role, allow all access
2OwnerIf resource.user_id == user.id, allow access
3GroupWhether the user’s groups are in access_control.{type}.group_ids
4Organizational UnitWhether the user’s organizations are in access_control.{type}.org_unit_ids

access_control Structure

All resource permissions are managed in the access_control JSON field.
When access_control is null, all authenticated users get read permission.
{
  "access_control": null
}

Resource Permissions

Where access_control Applies

The access_control model applies uniformly to:
ResourceRead PermissionWrite Permission
AgentUse agent (select in chat)Modify agent settings
Knowledge BaseView KB, browse documentsAdd/delete documents, change settings
DatabaseUse DB queriesChange DB connection settings
Agent FlowRun flowEdit flow
GuardrailApply guardrailModify guardrail rules
ToolUse toolChange tool settings
PromptUse promptModify prompt
GlossaryReference termsAdd/modify terms
ChannelRead/write messagesAdmin-only channel management
ProjectView project, chatAdd/delete files, change settings
ScheduleView schedule, historyModify schedule

UI Behavior by Read/Write

Write permission automatically includes Read — no need to add read separately. For read-only (no write) users, the UI behavior is:
UI ElementRead-onlyWrite
Save & Update buttonsDisabledActive
Add/delete item buttonsDisabledActive
Permission settings (lock) buttonHiddenVisible to owner/admin
Workspace list […] menuVisible to owner onlyVisible
Read-only users can view and use resource content but can’t modify or delete settings. For example, with read-only on an agent, you can chat with it but can’t modify its prompt or model.

How to Set Permissions

1

Open resource settings

Open the settings screen for the resource in the workspace.
2

Set Visibility

Find the Visibility section in settings. Pick scope from the Private / Public dropdown.
3

Choose permission type

TypeMethod
PublicPick Public in the Visibility dropdown (null)
PrivatePick Private and don’t add any group/organization
GroupIn Private state, add a group and click the Read/Write badge to switch
OrganizationIn Private state, add an OU and click the Read/Write badge to switch
4

Save

Save changes. Permissions apply immediately.
Adding a group or OU shows a Read badge by default. Click that badge to switch to Write.

Group-based Permissions

Groups are the basic unit for grouping users. Admins create groups and manage members in Admin > Users > Groups.

Group Permission Merging

When a user belongs to multiple groups, the highest permission applies (Most Permissive).
Group A: read permission
Group B: write permission
→ Final: write permission (highest level)
ScenarioGroup AGroup BFinal
Read + Writereadwritewrite
None + Readnonereadread
Access + Writeaccesswritewrite

Per-Group Workspace Permissions

Groups can also have workspace feature creation permissions. Admins control per-feature permissions in group settings.
Permission KeyTarget Feature
workspace.knowledgeKnowledge Base creation
workspace.agentsAgent creation
workspace.toolsTool creation
workspace.promptsPrompt creation
workspace.guardrailsGuardrail creation
workspace.glossariesGlossary creation
workspace.databasesDatabase creation
workspace.agent_flowsAgent Flow creation
features.scheduled_tasksSchedule creation

Public Sharing Permissions (sharing.public_*)

Per-group, control whether users can set resources to Public (publicly accessible). When disabled, users in that group can’t change a resource’s Visibility to Public.
Permission KeyTarget Feature
sharing.public_agentsAgent public sharing
sharing.public_knowledgeKnowledge Base public sharing
sharing.public_promptsPrompt public sharing
sharing.public_toolsTool public sharing
sharing.public_databasesDatabase public sharing
sharing.public_glossariesGlossary public sharing
Agent Flow Public sharing is admin-only. Regular users can’t change a flow’s Visibility to Public regardless of group sharing.public_* permissions.
When admins set default user permissions in Admin > Settings > General, those defaults apply to users without explicit group permissions.

Organization-based Permissions

Organizational Units reflect organizational hierarchy like departments and teams. Integrate with Azure AD (Entra ID) to auto-manage organization members.

Organizational Hierarchy Inheritance

OUs have hierarchy — users in sub-organizations inherit permissions from parent organizations. For example, granting “Engineering” OU permission on a resource also lets backend and frontend team members access it.

Organization Member Matching

MethodDescription
OAuth Subject IDMatch member_ids field with Azure AD sub value
EmailMatch by email in OU meta.members
OUs are configured by admins in Admin > Organizations. With Azure AD integration, organizational structure auto-syncs.

Sharing Model Comparison

Cloosphere offers two sharing models per resource type.
ModelApplies toCharacteristics
Access-permission-basedAgents, Knowledge Bases, channels, tools, projects, schedules, etc.Share original by group/org. Real-time sync
Copy-basedProjects, SchedulesIndependent copy created. Each can edit freely
Projects and Schedules support both models. Set access_control for access permissions, and additionally use copy-based sharing to create independent copies.

Access-permission-based Sharing

Add groups/organizational units to the original resource. Edits to the original are reflected immediately to all sharees.

Copy-based Sharing

Projects and schedules also support copy-based sharing. An independent copy is created for each user.
ItemAccess-permissionCopy-based
SyncReal-timeIndependent after share
Edit impactOriginal changes propagateEach edits independently
StorageSingle originalStorage grows with each copy
Use caseShared resourcesResources requiring personalization

Real-world Setup Examples

Per-Department Agent Access Control

AgentRead PermissionWrite Permission
Shared AssistantPublic (null)AI Team group
HR AssistantHR Team groupHR Team admin
Sales AnalyticsExecutive group, Sales groupData Team group
Dev HelperEngineering OUBackend Team group

Multi-level Permissions

In complex organizational structures, combine groups and OUs for fine-grained permissions.
{
  "access_control": {
    "read": {
      "group_ids": ["all-staff"],
      "org_unit_ids": ["partner-org-id"]
    },
    "write": {
      "group_ids": ["finance-team"],
      "org_unit_ids": []
    }
  }
}
  • Read: All-staff group + partner organization
  • Write: Only Finance Team group can change settings

Admin Permission Management

Default User Permissions

Admins set default permissions for new users / users without group assignment in Admin > Settings > General.

Permission Check Flow

1. Group permission check → Apply if explicit permission exists
2. Default permission check → Apply admin default if no group permission
3. Apply the maximum from the two paths

FAQ

When access_control is null, all authenticated users get read permission. Write is restricted to owner and admin. To make it private, set an empty access_control object.
Groups are units managed inside Cloosphere — admins create them and add members freely. Organizational Units reflect Azure AD (Entra ID) department/team structure and support hierarchical permission inheritance.
The highest permission applies (Most Permissive). For example, with read in group A and write in group B, the user gets write permission.
No — the direction is reversed. When you set “Engineering” permission on a resource, members of child organizations (Backend Team, Frontend Team) of Engineering can access it. The match is from the user’s organization upward.
There’s no UI to specify individual users directly. Create a group containing only those users, then grant permission to that group.
Yes — access permission changes apply on save. No deployment or restart needed.