diff --git a/rest-api/rbac-overview.mdx b/rest-api/rbac-overview.mdx
index adea83761..d1912b177 100644
--- a/rest-api/rbac-overview.mdx
+++ b/rest-api/rbac-overview.mdx
@@ -300,6 +300,8 @@ For `allow` / `deny` values:
| Group Message Editing | Allow or deny editing messages in groups | string | `editMessage` | allow, deny | allow |
| Group Message Deletion | Allow or deny deleting messages in groups | string | `deleteMessage` | allow, deny | allow |
+To stop new members from seeing messages sent before they joined a group, set `listMessages.historyBeforeJoin` to `deny` for their scope. See [Hide group messages sent before a member joined](#hide-group-messages-sent-before-a-member-joined).
+
#### 4. Message Thread
| Title | Description | Data Type | Permission Key | Available Values | Default |
@@ -340,6 +342,31 @@ The following example denies the sendMessage permission for the participant scop
}
```
+### Hide Group Messages Sent Before a Member Joined
+
+To stop newly added members from seeing a group's earlier messages, use the **Message History** permission `listMessages.historyBeforeJoin`. It is set per member scope (`admin`, `moderator`, `participant`) on a group, takes `allow` or `deny`, and defaults to `allow`. When it is `deny` for a scope, members with that scope cannot list messages sent before they joined the group.
+
+
+
+ Call [Set Scope Permissions](/rest-api/rbac/set-scope-permissions) for the group and scope. The request body is a `permissions` object keyed by permission key.
+
+ ```bash
+ curl -X PUT "https://.api-.cometchat.io/v3/groups/cometchat-guid-1/scopes/participant/permissions" \
+ -H "apikey: YOUR_REST_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{"permissions": {"listMessages.historyBeforeJoin": "deny"}}'
+ ```
+
+
+ Call [List Scope Permissions](/rest-api/rbac/list-scope-permissions) for the same group and scope to confirm `listMessages.historyBeforeJoin` is `deny`.
+
+
+
+- `deny`: messages sent before the member joined are left out of the list. The request succeeds; it returns only messages from the join time onward.
+- `allow` (default): members with this scope can list the full group history. Set it with the same request, or call [Unset Scope Permissions](/rest-api/rbac/unset-scope-permissions) to return to the default.
+
+The permission applies per scope, not per member or per date. To apply it to every member of a group, set it for each scope. The join time is the member's most recent join: a member who leaves and rejoins sees history only from the rejoin onward.
+
### SBAC Permission Evaluation Order
1. **Explicitly configured permission** for the scope which has the highest priority
diff --git a/sdk/android/v5/receive-messages.mdx b/sdk/android/v5/receive-messages.mdx
index 9f4034f46..05c03c73e 100644
--- a/sdk/android/v5/receive-messages.mdx
+++ b/sdk/android/v5/receive-messages.mdx
@@ -650,6 +650,10 @@ messagesRequest.fetchPrevious(object : CallbackListener>() {
Calling the `fetchPrevious()` method on the same object repeatedly allows you to fetch the entire conversation between the logged in user and the specified user. This can be implemented with upward scrolling to display the entire conversation.
+
+To stop new members from seeing messages sent before they joined a group, use the SBAC permission `listMessages.historyBeforeJoin`. See [Hide group messages sent before a member joined](/rest-api/rbac-overview#hide-group-messages-sent-before-a-member-joined).
+
+
## Search Messages
In other words, as a logged-in user, how do I search a message?
diff --git a/sdk/flutter/receive-messages.mdx b/sdk/flutter/receive-messages.mdx
index 42cf334f1..2d2466b7e 100644
--- a/sdk/flutter/receive-messages.mdx
+++ b/sdk/flutter/receive-messages.mdx
@@ -341,6 +341,10 @@ messageRequest.fetchPrevious(onSuccess: (List list) {
Calling the `fetchPrevious()` method on the same object repeatedly allows you to fetch the entire conversation between the logged in user and the specified user. This can be implemented with upward scrolling to display the entire conversation.
+
+To stop new members from seeing messages sent before they joined a group, use the SBAC permission `listMessages.historyBeforeJoin`. See [Hide group messages sent before a member joined](/rest-api/rbac-overview#hide-group-messages-sent-before-a-member-joined).
+
+
## Search Messages
In other words, as a logged-in user, how do I search a message?
diff --git a/sdk/ios/receive-message.mdx b/sdk/ios/receive-message.mdx
index c064f6c5c..a73e979c7 100644
--- a/sdk/ios/receive-message.mdx
+++ b/sdk/ios/receive-message.mdx
@@ -216,6 +216,10 @@ messagesRequest.fetchPrevious(onSuccess: { (messages) in
The list of messages received is in the form of [`BaseMessage`](/sdk/reference/messages#basemessage) objects. A [`BaseMessage`](/sdk/reference/messages#basemessage) can be a [`TextMessage`](/sdk/reference/messages#textmessage), [`MediaMessage`](/sdk/reference/messages#mediamessage), or [`CustomMessage`](/sdk/reference/messages#custommessage). Use type casting to check the type.
+
+To stop new members from seeing messages sent before they joined a group, use the SBAC permission `listMessages.historyBeforeJoin`. See [Hide group messages sent before a member joined](/rest-api/rbac-overview#hide-group-messages-sent-before-a-member-joined).
+
+
---
## Offline support
diff --git a/sdk/javascript/receive-message.mdx b/sdk/javascript/receive-message.mdx
index 62a43cf50..ab55fe7ae 100644
--- a/sdk/javascript/receive-message.mdx
+++ b/sdk/javascript/receive-message.mdx
@@ -224,6 +224,10 @@ messagesRequest.fetchPrevious().then(
The `fetchPrevious()` method returns an array of [`BaseMessage`](/sdk/reference/messages#basemessage) objects (which may be [`TextMessage`](/sdk/reference/messages#textmessage), [`MediaMessage`](/sdk/reference/messages#mediamessage), or other subclasses).
+
+To stop new members from seeing messages sent before they joined a group, use the SBAC permission `listMessages.historyBeforeJoin`. See [Hide group messages sent before a member joined](/rest-api/rbac-overview#hide-group-messages-sent-before-a-member-joined).
+
+
## Search Messages
With offline support on, this filter is answered by the server only; the cached page is empty.
diff --git a/sdk/react-native/receive-messages.mdx b/sdk/react-native/receive-messages.mdx
index 70cf48b55..287c6927c 100644
--- a/sdk/react-native/receive-messages.mdx
+++ b/sdk/react-native/receive-messages.mdx
@@ -302,6 +302,10 @@ messagesRequest.fetchPrevious().then(
The `fetchPrevious()` method returns an array of [`BaseMessage`](/sdk/reference/messages#basemessage) objects (which may be [`TextMessage`](/sdk/reference/messages#textmessage), [`MediaMessage`](/sdk/reference/messages#mediamessage), or other subclasses).
+
+To stop new members from seeing messages sent before they joined a group, use the SBAC permission `listMessages.historyBeforeJoin`. See [Hide group messages sent before a member joined](/rest-api/rbac-overview#hide-group-messages-sent-before-a-member-joined).
+
+
## Search Messages
Add `setSearchKeyword()` to the builder to filter messages by keyword.