Skip to content

Commit 4c780f2

Browse files
authored
docs: access control & admin panel (#561)
- Added a new 'Access Control' page detailing LibreChat's granular authorization system, including feature permissions, resource ACLs, and system grants. - Introduced the 'Admin Panel' documentation, outlining its functionalities for managing users, groups, roles, and configuration overrides. - Updated existing feature documentation (agents, MCP servers) to reflect the new access control model and emphasize the use of the Admin Panel for permission management. - Marked several YAML fields as deprecated for permission management, recommending the Admin Panel for ongoing management.
1 parent dcccfa1 commit 4c780f2

7 files changed

Lines changed: 472 additions & 6 deletions

File tree

content/docs/configuration/librechat_yaml/object_structure/interface.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ These are fields under `interface`:
3636
- Default values are provided for most settings but can be overridden based on specific requirements or conditions.
3737
- Conditional logic in the application can further modify these settings based on other configurations like model specifications.
3838

39+
<Callout type="warning" title="Deprecated: permission side-effect fields">
40+
Several fields below (`mcpServers`, `prompts`, `bookmarks`, `memories`, `multiConvo`, `agents`, `remoteAgents`, `temporaryChat`, `runCode`, `webSearch`, `fileSearch`, `fileCitations`, `peoplePicker`, `marketplace`) don't just toggle UI, they seed role permissions in the database at startup, and only for the built-in `USER` role.
41+
42+
For ongoing management, use the [**LibreChat Admin Panel**](/docs/features/admin_panel), which edits the permission matrix directly on each role (including custom roles). These YAML fields remain supported for bootstrapping a fresh instance or fully file-driven deployments, but should no longer be used as the primary way to manage feature permissions.
43+
44+
See [Access Control](/docs/features/access_control) for the full permission model.
45+
</Callout>
46+
3947
## Example
4048

4149
```yaml filename="interface"
@@ -85,6 +93,8 @@ interface:
8593
8694
## mcpServers
8795
96+
> **Deprecated for permission management.** The `use`, `create`, `share`, and `public` sub-keys seed role permissions at startup. Prefer the [Admin Panel](/docs/features/admin_panel) for managing MCP server permissions per role/group/user. The `placeholder` and `trustCheckbox` sub-keys are unaffected.
97+
8898
**Key:**
8999
<OptionTable
90100
options={[
@@ -223,6 +233,8 @@ interface:
223233

224234
## prompts
225235

236+
> **Deprecated for permission management.** Seeds the `PROMPTS` role permissions at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel) for managing prompt permissions per role/group/user.
237+
226238
**Key:**
227239
<OptionTable
228240
options={[
@@ -277,6 +289,8 @@ interface:
277289

278290
## bookmarks
279291

292+
> **Deprecated for permission management.** Seeds the `BOOKMARKS` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
293+
280294
**Key:**
281295
<OptionTable
282296
options={[
@@ -294,6 +308,8 @@ interface:
294308

295309
## memories
296310

311+
> **Deprecated for permission management.** Seeds the `MEMORIES` role permissions at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel). Note this toggle is separate from the [`memory`](/docs/configuration/librechat_yaml/object_structure/memory) behavior configuration.
312+
297313
**Key:**
298314
<OptionTable
299315
options={[
@@ -313,6 +329,8 @@ interface:
313329

314330
## multiConvo
315331

332+
> **Deprecated for permission management.** Seeds the `MULTI_CONVO` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
333+
316334
**Key:**
317335
<OptionTable
318336
options={[
@@ -332,6 +350,8 @@ interface:
332350

333351
More info on [Agents](/docs/features/agents)
334352

353+
> **Deprecated for permission management.** Seeds the `AGENTS` role permissions at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel) for managing agent permissions per role/group/user.
354+
335355
**Key:**
336356
<OptionTable
337357
options={[
@@ -388,6 +408,8 @@ interface:
388408

389409
Controls access to the Agents API (OpenAI-compatible and Open Responses API endpoints), which allows external applications to interact with LibreChat agents programmatically via API keys.
390410

411+
> **Deprecated for permission management.** Seeds the `REMOTE_AGENTS` role permissions at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
412+
391413
**Key:**
392414
<OptionTable
393415
options={[
@@ -423,6 +445,8 @@ interface:
423445

424446
Controls whether the temporary chat feature is available to users. Temporary chats are not saved to conversation history and are automatically deleted after a configurable retention period.
425447

448+
> **Deprecated for permission management.** Seeds the `TEMPORARY_CHAT` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel). `temporaryChatRetention` below is not a permission and remains the recommended way to configure retention.
449+
426450
**Key:**
427451
<OptionTable
428452
options={[
@@ -500,6 +524,8 @@ Enables/disables the "Run Code" button for Markdown Code Blocks. More info on th
500524

501525
**Note:** This setting does not disable the [Agents Code Interpreter Capability](/docs/features/agents#code-interpreter). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
502526

527+
> **Deprecated for permission management.** Seeds the `RUN_CODE` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
528+
503529
**Key:**
504530
<OptionTable
505531
options={[
@@ -521,6 +547,8 @@ Enables/disables the web search button in the chat interface. More info on [Web
521547

522548
**Note:** This setting does not disable the [Agents Web Search Capability](/docs/features/agents#web-search). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
523549

550+
> **Deprecated for permission management.** Seeds the `WEB_SEARCH` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
551+
524552
**Key:**
525553
<OptionTable
526554
options={[
@@ -542,6 +570,8 @@ Enables/disables the file search (for RAG API usage via tool) button in the chat
542570

543571
**Note:** This setting does not disable the [Agents File Search Capability](/docs/features/agents#file-search). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
544572

573+
> **Deprecated for permission management.** Seeds the `FILE_SEARCH` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
574+
545575
**Key:**
546576
<OptionTable
547577
options={[
@@ -561,6 +591,8 @@ interface:
561591

562592
Controls the global availability of file citations functionality. When disabled, it effectively removes the `FILE_CITATIONS` permission for all users, preventing any file citations from being displayed when using file search, regardless of individual user permissions.
563593

594+
> **Deprecated for permission management.** Seeds/globally gates the `FILE_CITATIONS` role permission at startup. Prefer the [Admin Panel](/docs/features/admin_panel) for managing citations permissions per role/group/user.
595+
564596
**Note:**
565597
- This setting acts as a global toggle for the `FILE_CITATIONS` permission system-wide.
566598
- When set to `false`, no users will see file citations, even if they have been granted the permission through roles.
@@ -586,6 +618,8 @@ interface:
586618

587619
Controls which principal types (users, groups, roles) are available for selection in the people picker interface, typically used when sharing agents or managing access controls.
588620

621+
> **Deprecated for permission management.** Seeds the `PEOPLE_PICKER` role permissions at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
622+
589623
**Key:**
590624
<OptionTable
591625
options={[
@@ -624,6 +658,8 @@ interface:
624658

625659
Enables/disables access to the Agent Marketplace.
626660

661+
> **Deprecated for permission management.** Seeds the `MARKETPLACE` role permission at startup for the default `USER` role only. Prefer the [Admin Panel](/docs/features/admin_panel).
662+
627663
**Key:**
628664
<OptionTable
629665
options={[

0 commit comments

Comments
 (0)