A preliminary implementation allows for the following to be configured:

```
[wallace]
modules = signature
signature_rules = [
        {
                "entrydn": "uid=.*,ou=IT,ou=People,dc=example,dc=org",
                "html": "/etc/kolab/signature_IT.html",
                "text": "/etc/kolab/signature_IT.txt"
            },
        {
                "entrydn": "uid=.*,ou=Finance,ou=People,dc=example,dc=org",
                "html": "/etc/kolab/signature_Finance.html",
                "text": "/etc/kolab/signature_Finance.txt"
            }
    ]
```

A sample signature file for IT may look as follows:

```
This is an example TEXT signature for the IT department.

%(o)s

%(manager:cn)s

M: %(mobile)s
T: %(telephonenumber)s
W: https://it.services.inc
```

For a single manager, this would work out as:

```
-- 
This is an example TEXT signature for the IT department.

IT Services Inc.

Jane Geek

M: +(0)101010101
T: +(1)010101010
W: https://it.services.inc
```

For multiple managers, this would work out as:

```
-- 
This is an example TEXT signature for the IT department.

IT Services Inc.

Jane Geek, Max Geek

M: +(0)101010101
T: +(1)010101010
W: https://it.services.inc
```

Other configuration (with, in this case, the same effects) could be made to match on an attribute value (``o``) rather than the entry dn:

```
signature_rules = [
        {
                "o": "IT Services Inc.",
                "html": "/etc/kolab/signature_IT.html",
                "text": "/etc/kolab/signature_IT.txt"
            },
        {
                "entrydn": "uid=.*,ou=Finance,ou=People,dc=example,dc=org",
                "html": "/etc/kolab/signature_Finance.html",
                "text": "/etc/kolab/signature_Finance.txt"
            }
    ]
```