diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py
index 7eb43eb96f..2fc05cf8eb 100644
--- a/backend/open_webui/config.py
+++ b/backend/open_webui/config.py
@@ -1217,6 +1217,11 @@ USER_PERMISSIONS_WORKSPACE_MODELS_ALLOW_PUBLIC_SHARING = (
== "true"
)
+USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING = (
+ os.environ.get("USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING", "False").lower()
+ == "true"
+)
+
USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING = (
os.environ.get(
"USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING", "False"
@@ -1354,6 +1359,7 @@ DEFAULT_USER_PERMISSIONS = {
"public_knowledge": USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING,
"public_prompts": USER_PERMISSIONS_WORKSPACE_PROMPTS_ALLOW_PUBLIC_SHARING,
"public_tools": USER_PERMISSIONS_WORKSPACE_TOOLS_ALLOW_PUBLIC_SHARING,
+ "public_notes": USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING,
},
"chat": {
"controls": USER_PERMISSIONS_CHAT_CONTROLS,
diff --git a/backend/open_webui/routers/notes.py b/backend/open_webui/routers/notes.py
index 0c420e4f12..3858c4670f 100644
--- a/backend/open_webui/routers/notes.py
+++ b/backend/open_webui/routers/notes.py
@@ -180,6 +180,18 @@ async def update_note_by_id(
status_code=status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.DEFAULT()
)
+ # Check if user can share publicly
+ if (
+ user.role != "admin"
+ and form_data.access_control == None
+ and not has_permission(
+ user.id,
+ "sharing.public_notes",
+ request.app.state.config.USER_PERMISSIONS,
+ )
+ ):
+ form_data.access_control = {}
+
try:
note = Notes.update_note_by_id(id, form_data)
await sio.emit(
diff --git a/backend/open_webui/routers/users.py b/backend/open_webui/routers/users.py
index 9a0f8c6aaf..2dd229eeb7 100644
--- a/backend/open_webui/routers/users.py
+++ b/backend/open_webui/routers/users.py
@@ -157,6 +157,7 @@ class SharingPermissions(BaseModel):
public_knowledge: bool = True
public_prompts: bool = True
public_tools: bool = True
+ public_notes: bool = True
class ChatPermissions(BaseModel):
diff --git a/src/lib/components/admin/Users/Groups/Permissions.svelte b/src/lib/components/admin/Users/Groups/Permissions.svelte
index af0dc1f97f..b7f7c3093f 100644
--- a/src/lib/components/admin/Users/Groups/Permissions.svelte
+++ b/src/lib/components/admin/Users/Groups/Permissions.svelte
@@ -17,7 +17,8 @@
public_models: false,
public_knowledge: false,
public_prompts: false,
- public_tools: false
+ public_tools: false,
+ public_notes: false
},
chat: {
controls: true,
@@ -247,6 +248,13 @@