This module implements XEP-0258: Security Labels in XMPP, but not actual policy enforcement. See for example mod_firewall for that.


As with all modules, you enable it by adding it to the modules_enabled list.

These options exist:

Name Description Default
security_catalog_name Catalouge name “Default”
security_catalog_desc Catalouge description “My labels”

You can then add your labels in a table called security_labels. They can be both orderd and unorderd, but ordered comes first.

security_labels = {
  { -- This label will come first
    name = "Public",
    label = true, -- This is a label, but without the actual label.
      default = true -- This is the default label.
    name = "Private",
    label = "PRIVATE",
    color = "white",
    bgcolor = "blue"
  Sensitive = { -- A Sub-selector
    SECRET = { -- The index is used as name
      label = true
    TOPSECRET = { -- The order of this and the above is not guaranteed.
      color = "red",
      bgcolor = "black",

Each label can have the following properties:

Name Description Default
name The name of the label. Used for selector. Required.
label The actual label, ie <esssecuritylabel/> Required, can be boolean for a empty label, or a string.
display The text shown as display marking. Defaults to the name
color, bgcolor The fore- and background color of the display marking None
default Boolean, true for the default. Only one may be default. false


With the plugin installer in Prosody 0.12 you can use:

sudo prosodyctl install --server= mod_seclabels

For earlier versions see the documentation for installing 3rd party modules