Skip to content

Commit 8f65d70

Browse files
cwarnermmcpoile
andauthored
Compliance Export updates (#7719)
* Compliance Export updates * Incorporated reviewer feedback * Update source/comply/compliance-export.rst Co-authored-by: Christopher Poile <[email protected]> --------- Co-authored-by: Christopher Poile <[email protected]>
1 parent 448906a commit 8f65d70

File tree

1 file changed

+101
-22
lines changed

1 file changed

+101
-22
lines changed

source/comply/compliance-export.rst

+101-22
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,22 @@ Compliance export
88

99
<p class="mm-label-note">Also available in legacy Mattermost Enterprise Edition E20</p>
1010

11-
Enterprise deployments with a requirement to archive history beyond the data retention period can export compliance reports to third-party systems. Integration with Actiance Vantage, Global Relay, and Proofpoint are currently supported.
11+
Mattermost Enterprise customers can archive history or transfer message data to third-party systems for auditing and compliance purposes with compliance exports. Supported integrations include `Actiance Vantage <#actiance-xml>`__, `Global Relay <#global-relay-eml>`__, and `Proofpoint <#proofpoint>`__.
1212

13-
By default, Mattermost stores all message history, providing an unlimited search history to admins and end users. In Mattermost Enterprise, you may set a :doc:`custom data retention policy </comply/data-retention-policy>` for how long messages and file uploads are kept in Mattermost channels and direct messages.
13+
From Mattermost v10.5, compliance exports include performance improvements for large daily data sets with changes affecting output formats, system performance, and logic. Compliance exports provide compliance teams complete information to reconstruct the state of a channel, and to determine who had visibility on an initial message, or when the message was edited or deleted. Compliance teams can track a message by its MessageId as it is edited or deleted, and across batches and exports periods.
1414

15-
Compliance exports are produced from the System Console, containing all messages including:
15+
Overview
16+
---------
17+
18+
Compliance exports are produced from the System Console, and contain all messages including:
1619

1720
- Messages sent in direct message channels
1821
- File uploads
1922
- Posts from plugins
2023
- Posts from bots/webhooks
2124

22-
Exports include information on channel member history at the time the message was posted.
23-
24-
- Entries for deleted messages and files are included in CSV and Actiance reports. The deleted content is included in the compliance export.
25-
- Global Relay reports include file deletion entries but message deletion entries are excluded.
25+
Exports include information on channel member history at the time the message was posted.
2626

27-
.. note::
28-
29-
This feature replaces legacy Compliance Reporting Oversight functionality. We recommend migrating to the new system. For a sample CSV output of the new compliance export system, `download a CSV export file here <https://github.com/mattermost/docs/blob/master/source/samples/csv_export.zip>`__.
30-
3127
Set up guide
3228
------------
3329

@@ -44,13 +40,52 @@ CSV
4440

4541
1. Go to **System Console > Compliance > Compliance Export**.
4642
2. Set **Enable Compliance Exports** to **true**.
47-
3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system.
43+
3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form ``HH:MM``. Choose a time when fewer people are using your system.
4844
4. Set the export file format to **CSV**.
4945
5. Select **Save**.
5046

51-
The daily compliance export job creates a zip file with a unique job identifier of all messages posted in the last 24 hours. You can unzip the file to easily transform the default ``.csv`` format into a desired format for your third-party archive system.
47+
.. tab:: From Mattermost v10.5
48+
49+
You can review export job status in the System Console.
50+
51+
When the daily compliance export job is finished, a parent directory is created named based on when the export was started and the ``startTimestamp`` and ``endTimestamp`` of the export, e.g, ``compliance-export-2024-08-13-05h08m-1723105062492-1723109100075``. That parent directory contains 1 zip file for each batch, named based on the batch number and the start and end timestamps of the messages in that batch, e.g, ``batch001-1723105062492-1723106622163.zip``. Each zip file contains the same information available in previous Mattermost server releases.
52+
53+
Working from the same example above, the directory would look like this:
54+
55+
.. code-block:: bash
56+
57+
compliance-export-2024-08-13-05h08m-1723105062492-1723109100075
58+
├── batch001-1723105062492-1723106622163.zip
59+
├── batch002-1723106622163-1723108196005.zip
60+
└── batch003-1723108196005-1723109100075.zip
61+
62+
And each batch would look like this:
5263

53-
For a sample CSV output, `download a CSV export file here <https://github.com/mattermost/docs/blob/master/source/samples/csv_export.zip>`__.
64+
.. code-block:: bash
65+
66+
batch001-1723105062492-1723106622163.zip
67+
├── files
68+
├── metadata.json
69+
└── actiance_export.xml
70+
71+
**Updated CSV export fields**
72+
73+
**Post Creation Time** is always the ``CreateAt`` for messages and attachments, or ``JoinTime`` and ``LeaveTime`` for participant join and leave events, respectively.
74+
75+
- **Update Time** indicates that the message has been updated, and this is the ``updateAt`` time.
76+
- **Updated Type** helps differentiate what kind of update it was as one of the following:
77+
78+
- **EditedNewMsg** indicates that the message has been edited, and this is the new message (post-edit) content.
79+
- **EditedOriginalMsg** indicates that the message has been edited, and this the original message (pre-edit) content. This message will have another field ``EditedNewMsgId``, which is the Id of the message which holds the post-edited message contents.
80+
- **UpdatedNoMsgChange** indicates that message's content hasn't changed, but the post was updated for some reason, such as reaction, replied-to, a reply was edited, or a reply was deleted.
81+
- **Deleted** indicates that this message was deleted.
82+
- **FileDeleted** indicates that this message is recording that a file was deleted.
83+
84+
.. tab:: Prior to Mattermost v10.5
85+
86+
The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. You can unzip the file to easily transform the default ``.csv`` format into a desired format for your third-party archive system.
87+
88+
For a sample CSV output, `download a CSV export file here <https://github.com/mattermost/docs/blob/master/source/samples/csv_export.zip>`__.
5489

5590
Actiance XML
5691
~~~~~~~~~~~~
@@ -61,15 +96,57 @@ Actiance XML
6196
4. Set the export file format to **Actiance XML**.
6297
5. Select **Save**.
6398

64-
The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system. For a sample Actiance output, `download an Actiance XML export file here <https://github.com/mattermost/docs/blob/master/source/samples/actiance_export.xml>`__.
65-
6699
.. note::
67-
100+
68101
In Actiance XML exports, channel type is prepended to the channel names.
69102

103+
.. tab:: From Mattermost v10.5
104+
105+
You can review export job status in the System Console. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system.
106+
107+
When the daily compliance export job is finished, a parent directory is created named based on when the export was started and the ``startTimestamp`` and ``endTimestamp`` of the export, e.g, ``compliance-export-2024-08-13-05h08m-1723105062492-1723109100075``. That parent directory contains 1 zip file for each batch, named based on the batch number and the start and end timestamps of the messages in that batch, e.g, ``batch001-1723105062492-1723106622163.zip``. Each zip file contains the same information available in previous Mattermost server releases.
108+
109+
Working from the same example above, the directory would look like this:
110+
111+
.. code-block:: bash
112+
113+
compliance-export-2024-08-13-05h08m-1723105062492-1723109100075
114+
├── batch001-1723105062492-1723106622163.zip
115+
├── batch002-1723106622163-1723108196005.zip
116+
└── batch003-1723108196005-1723109100075.zip
117+
118+
And each batch would look like this:
119+
120+
.. code-block:: bash
121+
122+
batch001-1723105062492-1723106622163.zip
123+
├── 20240808
124+
└── actiance_export.xml
125+
126+
**Updated Actiance XML export fields**
127+
128+
If an XML field is empty, it won't be exported. This is a change from previous Mattermost releases, where empty XML nodes were exported.
129+
130+
- ``MessageId`` is the unique ``messageId``.
131+
- ``DateTimeUTC`` is always the post's ``CreateAt`` time.
132+
- ``UpdatedDateTimeUTC`` indicates that the message has been updated, and this is the ``updateAt`` time.
133+
- ``UpdatedType`` helps differentiate what kind of update it was, including:
134+
135+
- ``EditedNewMsg`` indicates that this message has been edited, and this is the new message (post-edit) content.
136+
- ``EditedOriginalMsg`` indicates that this message has been edited, and this the original message (pre-edit) content. This message will have another field ``EditedNewMsgId``, which is the Id of the message which holds the post-edited message contents.
137+
- ``UpdatedNoMsgChange`` indicates that this message's content hasn't changed, but the post was updated for some reason, such as a reaction, replied-to, a reply was edited, or a reply was deleted.
138+
- ``Deleted`` indicates that the message was deleted.
139+
- ``FileDeleted`` indicates that the message is recording that a file was deleted.
140+
141+
.. tab:: Prior to Mattermost v10.5
142+
143+
The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system. For a sample Actiance output, `download an Actiance XML export file here <https://github.com/mattermost/docs/blob/master/source/samples/actiance_export.xml>`__.
144+
70145
Global Relay EML
71146
~~~~~~~~~~~~~~~~
72147

148+
For more information on Global Relay archive system, visit `their website <https://www.globalrelay.com/>`_.
149+
73150
1. Go to **System Console > Compliance > Compliance Export**.
74151
2. Set **Enable Compliance Export** to **true**.
75152
3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system.
@@ -80,13 +157,11 @@ Global Relay EML
80157
- For a **Custom** type, set the **Global Relay SMTP username**, **Global Relay SMTP password**, **Global Relay SMTP email address**, **SMTP Server Name**, and the **SMTP Server Port**, provided by Global Relay. **Custom** type can be used to integrate with Proofpoint.
81158
6. Select **Save**.
82159

83-
Once you've selected Global Relay EML as your file format, you can set up an integration with Global Relay archive system. For more information, see `Global Relay Archive <https://www.globalrelay.com/products/archive-data-compliance/>`_.
84-
85160
.. note::
86161

87162
Messages larger than 250 MB will have their attachments removed because they are too large to send to Global Relay. An error is added to the server logs with id ``global_relay_attachments_removed``. It includes the post ID the attachments were removed from, as well as the attachment IDs. A `ticket is queued to better handle large messages <https://mattermost.atlassian.net/browse/MM-10038>`__.
88163

89-
For more information on Global Relay archive system, see `their homepage <https://www.globalrelay.com/>`__.
164+
Once you've selected Global Relay EML as your file format, you can set up an integration with Global Relay archive system. For more information, see `Global Relay Archive <https://www.globalrelay.com/products/archive-data-compliance/>`_.
90165

91166
Proofpoint
92167
~~~~~~~~~~~
@@ -95,11 +170,11 @@ Proofpoint
95170
2. Set **Enable Compliance Export** to **true**.
96171
3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system.
97172
4. Set the **Export Format** to **GlobalRelay EML**.
98-
5. Select **Custom** for the **Global Relay Customer Account** to integrate with Proofpoint.
173+
5. Select **Custom** for the **Global Relay Customer Account** to integrate with Proofpoint.
99174
6. Set the **SMTP username**, **SMTP password**, **SMTP email address**, **SMTP Server Name**, and the **SMTP Server Port**, provided by Proofpoint.
100175
7. Select **Save**.
101176

102-
Now you can set up an integration with the Proofpoint archive system. For more information, see `Proofpoint Archive <https://www.proofpoint.com/us/products/archiving-and-compliance/archive>`__.
177+
See the `Global Relay <#global-relay-eml>`__ section for details on updated Global Relay export fields. Now you can set up an integration with the Proofpoint archive system. For more information, visit the `Proofpoint Archive webiste <https://www.proofpoint.com/us/products/archiving-and-compliance/archive>`__.
103178

104179
Frequently Asked Questions (FAQ)
105180
--------------------------------
@@ -129,3 +204,7 @@ How do I know if a compliance export job fails?
129204
Mattermost provides the status of each compliance export job in **System Console > Compliance > Compliance Export**. Here, you can see if the job succeeded or failed, including the number of messages and files exported.
130205

131206
In addition, any failures are returned in the server logs for self-hosted deployments. The error log begins with the string ``Failed job`` and includes a ``job_id key/value`` pair. Compliance export job failures are identified with worker name ``MessageExportWorker``. You can optionally create a script that programmatically queries for such failures and notifies the appropriate system.
207+
208+
.. note::
209+
210+
This compliance export feature replaces legacy Compliance Reporting Oversight functionality. We recommend Enterprise customers migrate to the new system. For a sample CSV output of the new compliance export system, `download a CSV export file here <https://github.com/mattermost/docs/blob/master/source/samples/csv_export.zip>`__.

0 commit comments

Comments
 (0)