PrivMX DOCS
Version 2.7/Concepts

Policies

Policies define who is allowed to perform specific actions.
You can configure policies on three levels:

  1. Context
  2. Module (Thread, Store, Inbox, etc.)
  3. Items inside Modules (such as messages or files)

This section focuses on policies in the scope of Modules.


Overview

  • A policy set in a Module overwrites the policy inherited from the Context.

  • A policy entry accepts one of the following values:

    • default — takes the default value (see the default values below)
    • inherit — inherits the value from the Context (only available in Module and item policies)
    • none — no user can perform this action
    • all — all Context users can perform this action
    • user — all Module users can perform this action
    • manager — all Module managers can perform this action
    • owner — only the Module owner can perform this action
    • itemOwner — only the item owner can perform this action (only available in item policies)
  • If a Module or item policy is left empty, it defaults to inherit.

  • If a Context policy is left empty, it defaults to default.


Combining Values

You can combine multiple values in one policy entry:

  • Use & (AND) to require multiple conditions.
  • Use , (OR) to allow multiple alternatives.

Operations with & are evaluated before ,.

Example

  • Allow item updates only by the item owner, provided they are also a Module user:
itemOwner&user
  • Allow updates by the item owner (if also a user) or by Module managers:
itemOwner&user,manager

Default Policy Values

PrivMX Endpoint can only define policies at the level of Modules and items. Context-level policies include rules related to creating Modules.
You must define those using PrivMX Bridge API.


Context

PolicyValue
listUsersall
sendCustomNotificationall

Thread

PolicyValue
getuser
listMyall
listAllnone
createall
updatemanager
deletemanager
updatePolicymanager
creatorHasToBeManageryes
updaterCanBeRemovedFromManagersno
ownerCanBeRemovedFromManagersyes
canOverwriteContextPolicyyes
sendCustomNotificationall

Thread Items

PolicyValue
getuser
listMyuser
listAlluser
createuser
updateitemOwner&user,manager
deleteitemOwner&user,manager

Store

PolicyValue
getuser
listMyall
listAllnone
createall
updatemanager
deletemanager
updatePolicymanager
creatorHasToBeManageryes
updaterCanBeRemovedFromManagersno
ownerCanBeRemovedFromManagersyes
canOverwriteContextPolicyyes
sendCustomNotificationall

Store Items

PolicyValue
getuser
listMyuser
listAlluser
createuser
updateitemOwner&user,manager
deleteitemOwner&user,manager

Inbox

PolicyValue
getuser
listMyall
listAllnone
createall
updatemanager
deletemanager
updatePolicymanager
creatorHasToBeManageryes
updaterCanBeRemovedFromManagersno
ownerCanBeRemovedFromManagersyes
canOverwriteContextPolicyyes
sendCustomNotificationall

Default vs Inherit

  • default – applies system-defined default values (see tables above).
  • inherit – inherits the setting from a higher level (for example, from Context if defining a Module or item policy).

Remember:

  • An empty policy in a Module or item defaults to inherit.
  • An empty policy in Context defaults to default.

We use cookies on our website. We use them to ensure proper functioning of the site and, if you agree, for purposes such as analytics, marketing, and targeting ads.

On this page

Policies | PrivMX Docs