Stream privacy settings

Streams are similar to chat rooms, IRC channels, or email lists in that they determine who receives a message. Zulip supports a few types of streams:

  • Public (): Members can join and view the complete message history. Public streams are visible to guest users only if they are subscribed (exactly like private streams with shared history).

  • Private (): New subscribers must be added by an existing subscriber. Only subscribers and organization administrators can see the stream's name and description, and only subscribers can view topics and messages with the stream:

    • In private streams with shared history, new subscribers can access the stream's full message history.
    • In private streams with protected history, new subscribers can only see messages sent after they join.
  • Web-public (): Members can join (guests must be invited by a subscriber). Anyone on the Internet can view complete message history without creating an account.

Privacy model for private streams

At a high level:

  • Organization owners and administrators can see and modify most aspects of a private stream, including the membership and estimated traffic. Owners and administrators generally cannot see private stream messages or do things that would give them access to private stream messages, like adding new subscribers or changing the stream privacy settings.

  • Organization members and moderators cannot easily see which private streams exist, or interact with them in any way until they are added. Given a stream name, they can figure out whether a stream with that name exists, but cannot see any other details about the stream.

  • From the perspective of a guest, all streams are private streams, and they additionally can't add other members to the streams they are subscribed to.

There are two situations in which an organization owner or administrator can access private stream messages:

  • Via some types of data export.

  • Owners and administrators can change the ownership of a bot. If a bot is subscribed to a private stream, then an administrator can get access to that stream by taking control of the bot, though the access will be limited to what the bot can do. (E.g. incoming webhook bots cannot read messages.)

Detailed permissions

Public streams

Owners and admins Moderators Members Guests
View stream name
Join
Unsubscribe
Add others
Remove others
See subscriber list
See full history
See estimated traffic
Post
Change the privacy
Rename
Edit the description
Delete

Always

If subscribed to the stream

Configurable. See Stream posting policy, Configure who can add users, and Configure who can remove users for details.

Private streams

Owners and admins Moderators Members Guests
View stream name
Join
Unsubscribe
Add others
Remove others
See subscriber list
See full history
See estimated traffic
Post
Change the privacy
Rename
Edit the description
Delete

Always

If subscribed to the stream

Configurable, but at minimum must be subscribed to the stream. See Stream posting policy, Configure who can add users, and Configure who can remove users for details.