Configure Custom Roles and Permissions in Pharen Hub
Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.
Pharen Hub gives workspace administrators precise control over who can see and do what across your entire workspace. Instead of relying on broad access levels, you can define custom roles tailored to your team’s structure — from read-only reviewers to full workspace managers — and assign those roles per team, project area, or responsibility. Every access change is logged automatically, so you’re always audit-ready without extra work.
Roles in Pharen Hub are collections of permissions. Each member of your workspace is assigned one or more roles, and those roles determine what they can access and modify. Pharen Hub ships with a set of built-in roles to get you started, and you can create unlimited custom roles to match your organization’s needs.
Built-in Roles
Pharen Hub includes Owner, Admin, Member, and Viewer roles out of the box. These cover common access patterns and cannot be deleted, though Admins can restrict what built-in roles can do in custom policy sets.
Custom Roles
Create roles like Billing Manager, AI Reviewer, or Team Lead with exactly the permissions each responsibility requires. Custom roles can be scoped globally or to specific workspace areas.
Navigate to Workspace Settings → Security & Admin → Roles & Permissions. You’ll see a list of all existing roles — both built-in and any custom roles already created.
2
Create a new role
Click Create Role in the top-right corner. Give your role a clear, descriptive name (for example, Billing Manager or Content Reviewer) and add an optional description so other admins understand its purpose.
3
Select permissions
Work through the permissions checklist, organized by workspace area:
AI & Models — configure model policies, view usage
Content & Projects — create, edit, view, delete
Reports & Exports — access analytics and audit logs
Toggle each permission on or off. Permissions are additive — a member with multiple roles gets the union of all permissions those roles grant.
4
Set the role scope
Choose whether this role applies globally (across the entire workspace) or is scoped to specific teams or areas. A scoped role only takes effect within the teams or workspace areas you select.
5
Save and assign
Click Save Role. The role is now available to assign to workspace members. You can assign it immediately or do so later from the Members page.
Navigate to Workspace Settings → Members. You’ll see every member currently in your workspace along with their current roles.
2
Select a member
Click the member’s name or the Manage button next to their row to open their member profile.
3
Assign or change roles
Under Roles, click Add Role and select from the list. You can assign multiple roles to a single member. To remove a role, click the × next to the role name.
4
Apply team-scoped roles
If the member belongs to specific teams, you can assign roles that apply only within those teams. Switch to the Team Memberships tab in their profile, select a team, and set their role within it.
When onboarding a new team at once, use Bulk Assign from the Members list. Select multiple members using the checkboxes, then choose Assign Role from the bulk actions menu to apply a role to all of them in one step.
Beyond role-level permissions, you can lock down individual workspace areas for more granular control. This is useful when certain projects or channels should be restricted to a specific team regardless of a member’s global role.
1
Navigate to the workspace area
Open the team, project, or channel you want to restrict. Click the Settings icon (⚙️) next to its name in the sidebar.
2
Open Access Controls
Select Access Controls from the settings menu. By default, access inherits from the member’s workspace role.
3
Override access for this area
Toggle Custom Access on to override inherited permissions. You can then:
Specify which roles can access this area
Grant access to individual members directly
Set a minimum role requirement (for example, require at least Member to view)
4
Save changes
Click Save. Members who no longer meet the access requirements will be redirected away from the area immediately.
Pharen Hub automatically logs every access-related event in your workspace. You don’t need to configure anything — the audit log is always on.
1
Open the Audit Log
Go to Workspace Settings → Security & Admin → Audit Log.
2
Filter the log
Use the filters at the top of the page to narrow down events by:
Date range — select a preset (last 7 days, last 30 days) or a custom range
Event type — role changes, member invitations, permission updates, sign-in events
Member — filter by a specific user’s activity
Workspace area — see all changes within a particular team or project
3
Export for compliance
Click Export to download the filtered log as a CSV file. Exported logs include the timestamp, actor (who made the change), target (who or what was affected), and the full details of the change.
Audit logs are retained for 12 months on all paid plans. If your organization requires longer retention, contact Pharen Hub support to discuss extended log archiving options.
Separating billing access from workspace administration
By default, only Owners and Admins can view billing. If you want your finance team to manage invoices without giving them full Admin access, create a Billing Manager custom role with only the Workspace Administration → Billing permission enabled. Assign it to finance team members alongside their regular Member role.
Read-only access for external stakeholders
When sharing progress with clients or external reviewers, create a Stakeholder role with Viewer-level permissions scoped to specific project areas. This prevents them from seeing other teams’ work or modifying anything.
Elevated access for team leads
Team leads often need to invite members and manage their team’s settings without being full workspace Admins. Create a Team Lead role with permissions for team management (invite members, edit team settings) scoped to the specific teams they own.
Temporary elevated access
If a member needs temporary elevated permissions — for example, during an audit or a project handover — assign the additional role, note the end date in the role description field of their member profile, and remove the role when the period ends. Pharen Hub logs both the assignment and the removal in the audit log.
Removing a role from a member takes effect immediately. If you’re removing access from someone who is currently active in the workspace, their session will reflect the new permissions on their next page load without requiring them to sign out.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Pharen","description":"Documentation for Pharen Hub — the AI workspace that unifies docs, lists, channels, mail, and agents so your team can automate workflows and move faster.","colors":{"primary":"#18181B","light":"#18181B","dark":"#E4E4E7"},"logo":{"light":"https://media.brand.dev/70fa3769-6705-48e9-8340-cef95a902e88.svg","dark":"https://media.brand.dev/de991512-f9de-434e-866d-6c978fec7b16.svg","href":"/hub/overview"},"favicon":"https://mintcdn.com/pharen/PKzZr2ECPjV_fC4g/favicon.ico?fit=max\u0026auto=format\u0026n=PKzZr2ECPjV_fC4g\u0026q=85\u0026s=760d9aee368f829557b6f7c22f1ef9e3","api":{"openapi":"openapi.json","playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","javascript","python"],"prefill":true},"url":"full"},"navbar":{"links":[],"primary":{"type":"button","label":"Open Hub","href":"https://pharen.app"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/pharen"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","assistant","mcp","add-mcp"],"display":"header"},"navigation":{"languages":[{"language":"en","default":true,"href":"ui/overview"},{"language":"de","footer":{"socials":{"linkedin":"https://linkedin.com/company/pharen"}},"navbar":{"primary":{"type":"button","label":"Zum Hub","href":"https://pharen.app"}},"href":"de/ui/overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pharen","hasAudioNarration":false,"actualSubdomain":"pharen","customDomains":["docs.pharen.app"],"gitSource":{"type":"github","owner":"pharenit","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"2fd0ec38-d5ac-4b6e-9545-f5f78fe5ca8f","liveDeploymentHistoryId":"6a78f310648a4c135001ce0e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a78f310648a4c135001ce0e"},"feedback":{"thumbs":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a78f310648a4c135001ce0e:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"en","tag":"Pharen UI","count":109},{"language":"de","tag":"Pharen UI","count":109},{"language":"en","tag":"Pharen Hub","count":42},{"language":"de","tag":"Pharen Hub","count":36},{"language":"en","tag":"Forms and input","count":32},{"language":"de","tag":"Formulare und Eingaben","count":32},{"language":"en","tag":"Data display","count":23},{"language":"de","tag":"Datenanzeige","count":23},{"language":"en","tag":"AI Components","count":14},{"language":"de","tag":"AI Components","count":14},{"language":"en","tag":"Overlays and feedback","count":13},{"language":"de","tag":"Overlays und Feedback","count":13},{"language":"en","tag":"Actions and navigation","count":12},{"language":"de","tag":"Aktionen und Navigation","count":12},{"language":"en","tag":"API Reference","count":11},{"language":"de","tag":"API Referenz","count":11},{"language":"en","tag":"Documentation","count":10},{"language":"de","tag":"Dokumentation","count":10},{"language":"de","tag":"Start","count":8},{"language":"en","tag":"Hub","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"info@pharen.de","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--default-border-color:var(--gray-200);--pharen-primary:#18181b;--pharen-primary-hover:#27272a;--pharen-toggle-active:#18181b;--pharen-toggle-active-foreground:#ffffff;--pharen-toggle-surface:rgb(24 24 27 / 0.05)}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;letter-spacing:0}.font-serif,.mint-font-serif{font-family:inherit!important}.dark{--default-border-color:var(--gray-800);--pharen-toggle-active:#f4f4f5;--pharen-toggle-active-foreground:#18181b;--pharen-toggle-surface:rgb(255 255 255 / 0.08)}@media (min-width:1024px){body{overflow-x:clip!important;overflow-y:visible!important}:has(>#navbar){overflow:visible!important}#navbar{position:sticky!important;top:0!important;z-index:50!important}#navbar :has(>#localization-select-trigger){display:contents!important}#localization-select-trigger{position:absolute!important;right:9.75rem!important;top:50%!important;transform:translateY(-50%);display:inline-flex!important;align-items:center;gap:0!important;height:2rem!important;padding:.1875rem!important;border:1px solid var(--default-border-color);border-radius:.625rem!important;background:var(--pharen-toggle-surface)!important}#localization-select-trigger>span,#localization-select-trigger>svg{display:none!important}#localization-select-trigger::after,#localization-select-trigger::before{display:inline-grid;place-items:center;min-width:2rem;height:1.5rem;padding-inline:.375rem;border-radius:.4375rem;color:var(--gray-500);font-size:.6875rem;font-weight:650;line-height:1;letter-spacing:.04em}#localization-select-trigger::before{content:\"EN\"}#localization-select-trigger::after{content:\"DE\"}html[lang=de] #localization-select-trigger::after,html[lang=en] #localization-select-trigger::before{color:var(--pharen-toggle-active-foreground);background:var(--pharen-toggle-active);box-shadow:0 1px 2px rgb(0 0 0/.12)}}#navbar>div:last-child{padding-bottom:.125rem}#navbar .nav-tabs-item>div.absolute{bottom:-.125rem!important}#topbar-cta-button>a>span.absolute{background:var(--pharen-primary)!important;border:1px solid rgb(255 255 255/.14)!important;border-radius:.75rem!important;opacity:1!important;box-shadow:0 8px 22px rgb(24 24 27/.18)!important}#topbar-cta-button>a:hover>span.absolute,.dark #topbar-cta-button>a:hover>span.absolute{background:var(--pharen-primary-hover)!important;border-color:rgb(255 255 255/.2)!important}#topbar-cta-button>a,#topbar-cta-button>a span.z-10,#topbar-cta-button>a svg,.dark #topbar-cta-button>a{color:#fff!important}.dark #topbar-cta-button>a>span.absolute{background:var(--pharen-primary)!important;border-color:rgb(255 255 255/.16)!important}.dark #topbar-cta-button>a:hover>span.absolute{border-color:rgb(255 255 255/.24)!important}.dark #topbar-cta-button>a span.z-10,.dark #topbar-cta-button>a svg{color:rgb(249 250 251)!important}"},{"filePath":"preview/src/preview.css","content":"@import '@pharen/ui/styles.css';:root{--primary:#18181b;--primary-darker:#09090b;--primary-foreground:#fafafa;--ring:#a1a1aa;--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground)}.dark{--primary:#fafafa;--primary-darker:#e4e4e7;--primary-foreground:#18181b;--ring:#71717a;--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground)}*{box-sizing:border-box}.pharen-ui-preview-root,body,html{min-width:0;background:var(--background)}body,html{margin:0}body{overflow:hidden}.pharen-ui-preview-root{display:flex;min-height:14rem;width:100%;align-items:center;justify-content:center;overflow:hidden;padding:clamp(1rem,4vw,2rem);color:var(--foreground);isolation:isolate}.pharen-ui-preview-root>*{min-width:0;max-width:100%}.pharen-ui-preview-root:is(\n [data-example='ai-model-select'],\n [data-example='autocomplete'],\n [data-example='combobox'],\n [data-example='color-picker'],\n [data-example='date-picker'],\n [data-example='dropfile'],\n [data-example='field'],\n [data-example='file-upload'],\n [data-example='form'],\n [data-example='input-group'],\n [data-example='input'],\n [data-example='multi-select'],\n [data-example='native-select'],\n [data-example='number-field'],\n [data-example='phone-input'],\n [data-example='radio-group'],\n [data-example='remote-select'],\n [data-example='search-input'],\n [data-example='select'],\n [data-example='slider'],\n [data-example='textarea']\n){min-height:12rem}.pharen-ui-preview-root:is(\n [data-example='ai-model-select'],\n [data-example='autocomplete'],\n [data-example='combobox'],\n [data-example='color-picker'],\n [data-example='date-picker'],\n [data-example='dropfile'],\n [data-example='field'],\n [data-example='file-upload'],\n [data-example='form'],\n [data-example='input-group'],\n [data-example='input'],\n [data-example='multi-select'],\n [data-example='native-select'],\n [data-example='number-field'],\n [data-example='phone-input'],\n [data-example='radio-group'],\n [data-example='remote-select'],\n [data-example='search-input'],\n [data-example='select'],\n [data-example='slider'],\n [data-example='textarea']\n)>*{width:100%;max-width:28rem}.pharen-ui-preview-root[data-example=ai-model-select]{min-height:10rem}.pharen-ui-preview-root[data-example=ai-model-select]>*{max-width:22rem}.pharen-ui-preview-root:is(\n [data-example='accordion'],\n [data-example='ai-plan'],\n [data-example='alert'],\n [data-example='aspect-ratio'],\n [data-example='border-beam'],\n [data-example='card'],\n [data-example='chain-of-thought'],\n [data-example='chart'],\n [data-example='carousel'],\n [data-example='checkpoint'],\n [data-example='code-block'],\n [data-example='collapsible'],\n [data-example='command'],\n [data-example='conversation'],\n [data-example='empty-state'],\n [data-example='empty'],\n [data-example='filters'],\n [data-example='frame'],\n [data-example='item'],\n [data-example='kanban'],\n [data-example='message'],\n [data-example='plan'],\n [data-example='progress'],\n [data-example='reasoning'],\n [data-example='resizable'],\n [data-example='scroll-area'],\n [data-example='sortable'],\n [data-example='stat-card'],\n [data-example='table'],\n [data-example='tabs'],\n [data-example='timeline'],\n [data-example='tool'],\n [data-example='tree']\n){min-height:18rem}.pharen-ui-preview-root:is(\n [data-example='accordion'],\n [data-example='ai-plan'],\n [data-example='alert'],\n [data-example='aspect-ratio'],\n [data-example='border-beam'],\n [data-example='card'],\n [data-example='chain-of-thought'],\n [data-example='chart'],\n [data-example='carousel'],\n [data-example='checkpoint'],\n [data-example='code-block'],\n [data-example='collapsible'],\n [data-example='command'],\n [data-example='conversation'],\n [data-example='empty-state'],\n [data-example='empty'],\n [data-example='filters'],\n [data-example='frame'],\n [data-example='item'],\n [data-example='kanban'],\n [data-example='message'],\n [data-example='plan'],\n [data-example='progress'],\n [data-example='reasoning'],\n [data-example='resizable'],\n [data-example='scroll-area'],\n [data-example='sortable'],\n [data-example='stat-card'],\n [data-example='table'],\n [data-example='tabs'],\n [data-example='timeline'],\n [data-example='tool'],\n [data-example='tree']\n)>*{width:100%;max-width:42rem}.pharen-ui-preview-root:is(\n [data-example='data-grid'],\n [data-example='event-calendar'],\n [data-example='gantt']\n){align-items:flex-start;justify-content:flex-start;overflow:auto;padding:1rem}.pharen-ui-preview-root:is(\n [data-example='data-grid'],\n [data-example='event-calendar'],\n [data-example='gantt']\n)>*{width:100%}.pharen-ui-preview-root[data-example=event-calendar]{min-height:44rem}.pharen-ui-preview-root[data-example=gantt]{min-height:22rem}.pharen-ui-preview-root[data-example=sidebar]{min-height:24rem;align-items:stretch;padding:1rem}.pharen-ui-preview-root[data-example=sidebar]>*{width:100%}html[data-pharen-preview-modal-open],html[data-pharen-preview-modal-open] .pharen-ui-preview-root,html[data-pharen-preview-modal-open] body{background:0 0}"}],"page":{"pagePath":"admin/roles-and-permissions","slug":"/admin/roles-and-permissions","pageMetadata":{"title":"Configure Custom Roles and Permissions in Pharen Hub","sidebarTitle":"Roles \u0026 Permissions","description":"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.","href":"/admin/roles-and-permissions"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,CardGroup,Heading,Info,Note,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Pharen Hub gives workspace administrators precise control over who can see and do what across your entire workspace. Instead of relying on broad access levels, you can define custom roles tailored to your team’s structure — from read-only reviewers to full workspace managers — and assign those roles per team, project area, or responsibility. Every access change is logged automatically, so you’re always audit-ready without extra work.`}),`\n`,_jsx(Heading,{level:`2`,id:`roles-overview`,children:`Roles Overview`}),`\n`,_jsx(_components.p,{children:`Roles in Pharen Hub are collections of permissions. Each member of your workspace is assigned one or more roles, and those roles determine what they can access and modify. Pharen Hub ships with a set of built-in roles to get you started, and you can create unlimited custom roles to match your organization’s needs.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Built-in Roles`,icon:`shield`,children:_jsxs(_components.p,{children:[`Pharen Hub includes `,_jsx(_components.strong,{children:`Owner`}),`, `,_jsx(_components.strong,{children:`Admin`}),`, `,_jsx(_components.strong,{children:`Member`}),`, and `,_jsx(_components.strong,{children:`Viewer`}),` roles out of the box. These cover common access patterns and cannot be deleted, though Admins can restrict what built-in roles can do in custom policy sets.`]})}),_jsx(Card,{title:`Custom Roles`,icon:`sliders`,children:_jsxs(_components.p,{children:[`Create roles like `,_jsx(_components.strong,{children:`Billing Manager`}),`, `,_jsx(_components.strong,{children:`AI Reviewer`}),`, or `,_jsx(_components.strong,{children:`Team Lead`}),` with exactly the permissions each responsibility requires. Custom roles can be scoped globally or to specific workspace areas.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`built-in-permission-levels`,children:`Built-in Permission Levels`}),`\n`,_jsx(_components.p,{children:`The table below shows what each built-in role can do across key workspace areas. Use this as a baseline when designing your custom roles.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Capability`}),_jsx(_components.th,{children:`Owner`}),_jsx(_components.th,{children:`Admin`}),_jsx(_components.th,{children:`Member`}),_jsx(_components.th,{children:`Viewer`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Manage workspace settings`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create and delete teams`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Invite and remove members`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Assign roles`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Configure AI model policies`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Set budget controls`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create and edit content`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Use AI features`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View workspace content`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Export reports`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`✅`}),_jsx(_components.td,{children:`❌`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Only the workspace `,_jsx(_components.strong,{children:`Owner`}),` can transfer ownership or permanently delete the workspace. Admins can perform all other administrative tasks.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-custom-role`,children:`Creating a Custom Role`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Roles settings page`,children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Workspace Settings → Security \u0026 Admin → Roles \u0026 Permissions`}),`. You’ll see a list of all existing roles — both built-in and any custom roles already created.`]})}),_jsx(Step,{title:`Create a new role`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create Role`}),` in the top-right corner. Give your role a clear, descriptive name (for example, `,_jsx(_components.code,{children:`Billing Manager`}),` or `,_jsx(_components.code,{children:`Content Reviewer`}),`) and add an optional description so other admins understand its purpose.`]})}),_jsxs(Step,{title:`Select permissions`,children:[_jsx(_components.p,{children:`Work through the permissions checklist, organized by workspace area:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workspace Administration`}),` — settings, billing, integrations`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team Management`}),` — create teams, manage membership`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`AI \u0026 Models`}),` — configure model policies, view usage`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Content \u0026 Projects`}),` — create, edit, view, delete`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reports \u0026 Exports`}),` — access analytics and audit logs`]}),`\n`]}),_jsx(_components.p,{children:`Toggle each permission on or off. Permissions are additive — a member with multiple roles gets the union of all permissions those roles grant.`})]}),_jsx(Step,{title:`Set the role scope`,children:_jsxs(_components.p,{children:[`Choose whether this role applies `,_jsx(_components.strong,{children:`globally`}),` (across the entire workspace) or is `,_jsx(_components.strong,{children:`scoped to specific teams or areas`}),`. A scoped role only takes effect within the teams or workspace areas you select.`]})}),_jsx(Step,{title:`Save and assign`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save Role`}),`. The role is now available to assign to workspace members. You can assign it immediately or do so later from the Members page.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`assigning-roles-to-members`,children:`Assigning Roles to Members`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Go to the Members page`,children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Workspace Settings → Members`}),`. You’ll see every member currently in your workspace along with their current roles.`]})}),_jsx(Step,{title:`Select a member`,children:_jsxs(_components.p,{children:[`Click the member’s name or the `,_jsx(_components.strong,{children:`Manage`}),` button next to their row to open their member profile.`]})}),_jsx(Step,{title:`Assign or change roles`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Roles`}),`, click `,_jsx(_components.strong,{children:`Add Role`}),` and select from the list. You can assign multiple roles to a single member. To remove a role, click the `,_jsx(_components.strong,{children:`×`}),` next to the role name.`]})}),_jsx(Step,{title:`Apply team-scoped roles`,children:_jsxs(_components.p,{children:[`If the member belongs to specific teams, you can assign roles that apply only within those teams. Switch to the `,_jsx(_components.strong,{children:`Team Memberships`}),` tab in their profile, select a team, and set their role within it.`]})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`When onboarding a new team at once, use `,_jsx(_components.strong,{children:`Bulk Assign`}),` from the Members list. Select multiple members using the checkboxes, then choose `,_jsx(_components.strong,{children:`Assign Role`}),` from the bulk actions menu to apply a role to all of them in one step.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`managing-permissions-per-workspace-area`,children:`Managing Permissions Per Workspace Area`}),`\n`,_jsx(_components.p,{children:`Beyond role-level permissions, you can lock down individual workspace areas for more granular control. This is useful when certain projects or channels should be restricted to a specific team regardless of a member’s global role.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Navigate to the workspace area`,children:_jsxs(_components.p,{children:[`Open the team, project, or channel you want to restrict. Click the `,_jsx(_components.strong,{children:`Settings`}),` icon (⚙️) next to its name in the sidebar.`]})}),_jsx(Step,{title:`Open Access Controls`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Access Controls`}),` from the settings menu. By default, access inherits from the member’s workspace role.`]})}),_jsxs(Step,{title:`Override access for this area`,children:[_jsxs(_components.p,{children:[`Toggle `,_jsx(_components.strong,{children:`Custom Access`}),` on to override inherited permissions. You can then:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Specify which roles can access this area`}),`\n`,_jsx(_components.li,{children:`Grant access to individual members directly`}),`\n`,_jsxs(_components.li,{children:[`Set a minimum role requirement (for example, require at least `,_jsx(_components.code,{children:`Member`}),` to view)`]}),`\n`]})]}),_jsx(Step,{title:`Save changes`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`. Members who no longer meet the access requirements will be redirected away from the area immediately.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`reviewing-access-history`,children:`Reviewing Access History`}),`\n`,_jsx(_components.p,{children:`Pharen Hub automatically logs every access-related event in your workspace. You don’t need to configure anything — the audit log is always on.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Audit Log`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Workspace Settings → Security \u0026 Admin → Audit Log`}),`.`]})}),_jsxs(Step,{title:`Filter the log`,children:[_jsx(_components.p,{children:`Use the filters at the top of the page to narrow down events by:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Date range`}),` — select a preset (last 7 days, last 30 days) or a custom range`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Event type`}),` — role changes, member invitations, permission updates, sign-in events`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Member`}),` — filter by a specific user’s activity`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workspace area`}),` — see all changes within a particular team or project`]}),`\n`]})]}),_jsx(Step,{title:`Export for compliance`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Export`}),` to download the filtered log as a CSV file. Exported logs include the timestamp, actor (who made the change), target (who or what was affected), and the full details of the change.`]})})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Audit logs are retained for `,_jsx(_components.strong,{children:`12 months`}),` on all paid plans. If your organization requires longer retention, contact Pharen Hub support to discuss extended log archiving options.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`common-role-patterns`,children:`Common Role Patterns`}),`\n`,_jsx(Accordion,{title:`Separating billing access from workspace administration`,id:`separating-billing-access-from-workspace-administration`,children:_jsxs(_components.p,{children:[`By default, only Owners and Admins can view billing. If you want your finance team to manage invoices without giving them full Admin access, create a `,_jsx(_components.strong,{children:`Billing Manager`}),` custom role with only the `,_jsx(_components.strong,{children:`Workspace Administration → Billing`}),` permission enabled. Assign it to finance team members alongside their regular Member role.`]})}),`\n`,_jsx(Accordion,{title:`Read-only access for external stakeholders`,id:`read-only-access-for-external-stakeholders`,children:_jsxs(_components.p,{children:[`When sharing progress with clients or external reviewers, create a `,_jsx(_components.strong,{children:`Stakeholder`}),` role with Viewer-level permissions scoped to specific project areas. This prevents them from seeing other teams’ work or modifying anything.`]})}),`\n`,_jsx(Accordion,{title:`Elevated access for team leads`,id:`elevated-access-for-team-leads`,children:_jsxs(_components.p,{children:[`Team leads often need to invite members and manage their team’s settings without being full workspace Admins. Create a `,_jsx(_components.strong,{children:`Team Lead`}),` role with permissions for team management (invite members, edit team settings) scoped to the specific teams they own.`]})}),`\n`,_jsx(Accordion,{title:`Temporary elevated access`,id:`temporary-elevated-access`,children:_jsx(_components.p,{children:`If a member needs temporary elevated permissions — for example, during an audit or a project handover — assign the additional role, note the end date in the role description field of their member profile, and remove the role when the period ends. Pharen Hub logs both the assignment and the removal in the audit log.`})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Removing a role from a member takes effect immediately. If you’re removing access from someone who is currently active in the workspace, their session will reflect the new permissions on their next page load without requiring them to sign out.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Configure Custom Roles and Permissions in Pharen Hub","sidebarTitle":"Roles \u0026 Permissions","description":"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.","href":"/admin/roles-and-permissions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Roles Overview","slug":"roles-overview","depth":2,"children":[]},{"title":"Built-in Permission Levels","slug":"built-in-permission-levels","depth":2,"children":[]},{"title":"Creating a Custom Role","slug":"creating-a-custom-role","depth":2,"children":[]},{"title":"Assigning Roles to Members","slug":"assigning-roles-to-members","depth":2,"children":[]},{"title":"Managing Permissions Per Workspace Area","slug":"managing-permissions-per-workspace-area","depth":2,"children":[]},{"title":"Reviewing Access History","slug":"reviewing-access-history","depth":2,"children":[]},{"title":"Common Role Patterns","slug":"common-role-patterns","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"pharen","siteName":"Pharen","title":"Configure Custom Roles and Permissions in Pharen Hub - Pharen","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/admin/roles-and-permissions","matchLevel":0},"de":{"href":"/de/admin/roles-and-permissions","matchLevel":1}}},"lastModified":"2026-06-18T12:38:23.272Z","originalFileLocation":"admin/roles-and-permissions.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pharen\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Configure Custom Roles and Permissions in Pharen Hub - Pharen\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pharen\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pharen.app/admin/roles-and-permissions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pharen.mintlify.app/_mintlify/api/og/v2?division=Security+%26+Admin\u0026amp;title=Configure+Custom+Roles+and+Permissions+in+Pharen+Hub\u0026amp;description=Configure+custom+roles%2C+assign+granular+permissions+per+team+and+workspace+area%2C+and+maintain+an+audit-ready+access+history+in+Pharen+Hub.\u0026amp;theme=9c03ee0d4aa6e6d99672ded9\u0026amp;signature=5a95d79bbc876fa391482b55259be1baec11637838b78cccef2c95da84170bfb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Configure Custom Roles and Permissions in Pharen Hub - Pharen\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pharen.mintlify.app/_mintlify/api/og/v2?division=Security+%26+Admin\u0026amp;title=Configure+Custom+Roles+and+Permissions+in+Pharen+Hub\u0026amp;description=Configure+custom+roles%2C+assign+granular+permissions+per+team+and+workspace+area%2C+and+maintain+an+audit-ready+access+history+in+Pharen+Hub.\u0026amp;theme=9c03ee0d4aa6e6d99672ded9\u0026amp;signature=5a95d79bbc876fa391482b55259be1baec11637838b78cccef2c95da84170bfb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pharen/8YbPujggZP556MaY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pharen\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18181B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pharen.app/admin/roles-and-permissions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/admin/roles-and-permissions.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.pharen.app/admin/roles-and-permissions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.pharen.app/de/admin/roles-and-permissions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.pharen.app/admin/roles-and-permissions\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pharen.app/#organization\",\"name\":\"Pharen\",\"url\":\"https://docs.pharen.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://media.brand.dev/70fa3769-6705-48e9-8340-cef95a902e88.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pharen.app#website\",\"name\":\"Pharen\",\"url\":\"https://docs.pharen.app\",\"publisher\":{\"@id\":\"https://docs.pharen.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pharen.app/admin/roles-and-permissions#webpage\",\"url\":\"https://docs.pharen.app/admin/roles-and-permissions\",\"name\":\"Configure Custom Roles and Permissions in Pharen Hub\",\"description\":\"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\",\"dateModified\":\"2026-06-18T12:38:23.272Z\",\"isPartOf\":{\"@id\":\"https://docs.pharen.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pharen.app/admin/roles-and-permissions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pharen.app/admin/roles-and-permissions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Pharen\",\"item\":\"https://docs.pharen.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configure Custom Roles and Permissions in Pharen Hub\",\"item\":\"https://docs.pharen.app/admin/roles-and-permissions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.pharen.app/admin/roles-and-permissions#article\",\"headline\":\"Configure Custom Roles and Permissions in Pharen Hub\",\"name\":\"Configure Custom Roles and Permissions in Pharen Hub\",\"description\":\"Configure custom roles, assign granular permissions per team and workspace area, and maintain an audit-ready access history in Pharen Hub.\",\"url\":\"https://docs.pharen.app/admin/roles-and-permissions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pharen.app/admin/roles-and-permissions#webpage\"},\"dateModified\":\"2026-06-18T12:38:23.272Z\",\"publisher\":{\"@id\":\"https://docs.pharen.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pharen.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pharen\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Pharen","nav":{"global":null,"languages":[{"language":"en","default":true,"products":[{"product":"Pharen UI","icon":"blocks","description":"Vue 3 components, design tokens, and AI interface patterns.","pages":[{"title":"Pharen UI","href":"/ui/overview"}]},{"product":"Pharen Hub","icon":"panels-top-left","description":"AI workspace, workflow automation, administration, and API.","tabs":[{"tab":"Hub","pages":[{"title":"Hub","href":"/hub/overview"}]},{"tab":"General","pages":[{"title":"General","href":"/general/overview"}]},{"tab":"Mobile","pages":[{"title":"Mobile","href":"/mobile/overview"}]},{"tab":"Workflows","pages":[{"title":"Workflows","href":"/workflows/overview"}]},{"tab":"Lists","pages":[{"title":"Lists","href":"/lists/overview"}]},{"tab":"Studio","pages":[{"title":"Studio","href":"/studio/overview"}]},{"tab":"Transformation","pages":[{"title":"Transformation","href":"/transformation/overview"}]},{"tab":"Documentation","groups":[{"group":"Get Started","icon":"rocket","expanded":true,"pages":[{"title":"Introduction to Pharen Hub: AI Workspace for Teams","sidebarTitle":"Introduction","href":"/introduction"},{"title":"Quickstart: Up and Running with Pharen Hub in Minutes","sidebarTitle":"Quickstart","href":"/quickstart"},{"title":"Workspace Setup: Configure Your Pharen Hub Environment","sidebarTitle":"Workspace Setup","description":"Learn how to name your workspace, organize teams, configure your profile, and master workspace settings to match how your team actually works.","href":"/workspace-setup"}]},{"group":"Security \u0026 Admin","icon":"shield","pages":[{"title":"Configure Custom Roles and Permissions in Pharen Hub","sidebarTitle":"Roles \u0026 Permissions","href":"/admin/roles-and-permissions"},{"title":"Configure Budget Controls for AI Usage in Pharen Hub","sidebarTitle":"Budget Controls","description":"Set spending limits, configure approval rules for AI usage, and monitor costs across teams and workspace areas before they become a problem.","href":"/admin/budget-controls"},{"title":"Control AI Model Policies and Providers in Pharen Hub","sidebarTitle":"AI Model Policies","href":"/admin/ai-model-policies"},{"title":"Enable and Enforce Two-Factor Authentication in Pharen Hub","sidebarTitle":"Two-Factor Auth","href":"/admin/two-factor-auth"}]},{"group":"Plans \u0026 Billing","icon":"credit-card","pages":[{"title":"Pharen Hub Plans: Free, Starter, Team, Pro, Enterprise","sidebarTitle":"Plans","href":"/billing/plans"},{"title":"AI Credits in Pharen Hub: How They Work and How to Add Them","sidebarTitle":"AI Credits","href":"/billing/ai-credits"},{"title":"Pharen Hub Billing FAQ: Plans, Credits, and Pricing Answers","sidebarTitle":"FAQ","href":"/billing/faq"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]}]},{"language":"de","footer":{"socials":{"linkedin":"https://linkedin.com/company/pharen"}},"navbar":{"primary":{"type":"button","label":"Zum Hub","href":"https://pharen.app"}},"pages":[{"title":"de","href":"/de/admin/roles-and-permissions"}]}]},"basePath":"","title":"Configure Custom Roles and Permissions in Pharen Hub - Pharen","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}