Group Mapping
Claustrum maps IdP groups to workspace/project roles using stable group_id values.
Mapping Record
Each mapping has:
provider_idclaim_name(example:groups)group_id(stable ID)group_display_name(UI label only)target_type:workspaceorprojecttarget_key: workspace key or project keyrolepriorityenabled
Role Targets
Workspace roles
OWNERADMINMEMBER
Project roles
OWNERMAINTAINERWRITERREADER
Sync Modes
Configured per workspace (workspace_settings.oidc_sync_mode):
add_only(default): add/update mapped access, keep unmatched accessadd_and_remove: remove unmatched memberships (owner protection applies)
Owner protection:
- Existing
OWNERroles are not automatically downgraded/removed.
Example Mappings
- Workspace admin mapping
group_id = 00gk9abc123xyztarget_type = workspacetarget_key = personalrole = ADMIN
- Project writer mapping
group_id = 00gk9devs123xyztarget_type = projecttarget_key = github:org/repo#apps/admin-uirole = WRITER
Operational Advice
- Prefer one stable
group_idsource from IdP. - Use lower priority numbers for stronger/default mappings.
- Keep a small set of high-confidence mappings first, then expand.