×
Hacktoberfest is here! Contribute, collaborate & earn rewards.
  • Platform

    Platform

    • Overview
    • Channels
    • Playbooks
    • Integrations
    • Mobile
    • Security
    • Trust Center

    Interoperability

    • MS Teams
    • Atlassian
    • GitLab

    Flexible Deployment

    • On-Premise
    • Cloud
  • Solutions

    Use Cases

    • Purpose-Built Collaboration Hub
    • Self-Sovereign Collaboration
    • Mission-Critical ChatOps
    • Real-Time DevSecOps Collaboration
    • Integrated Security Operations
    • Out-of-Band Incident Response

    Industries

    • Critical Infrastructure
    • Defense
    • Technology
    • Global Public Sector
    • Financial Services
    • Energy and Utilities
    • Manufacturing
  • Customers

    Customers

    • USAF
    • Fujitsu
    • RTE
    • CERN
    • NRI
    • Pramacom
    • Crossover Health
    • Netfoundry
    See more customer stories »
  • Pricing
  • Partners

    Partners

    • Become a Partner
    • Partner Program
    • Deal Registration
  • Resources

    Resources

    • Resource Library
    • Blog
    • Demos
    • Events

    Documentation

    • Academy
    • Channels Guide
    • Playbooks Guide
    • Admin
    • Docs
    • API Reference
    • Release Notes

    Community

    • Join Community
    • Contribute
    • Deploy
    • Integrate
    • Download
  • Login

    Login

    • My Workspace
    • Admin Portal
    • Apps
    • Support
  • Contact Sales
Contents Menu Expand Light mode Dark mode Auto light/dark mode
Mattermost documentation
Mattermost documentation
  • About Mattermost
    • Mattermost overview
    • Use cases
      • Maximize your Microsoft investment
      • Secure command and control
      • DevOps collaboration
      • Incident response collaboration
    • Security overview
    • Integrations overview
    • Subscription overview
      • Cloud subscriptions
        • Cloud Dedicated
        • Cloud Shared
        • Cloud VPC Private Connectivity
      • Self-hosted subscriptions
      • Editions and offerings
    • Releases and life cycle
      • Release policy
      • Server
        • Server releases
        • v10 changelog
        • v9 changelog
        • Unsupported legacy releases
        • Version archive
      • Desktop
        • Desktop releases
        • Desktop app changelog
      • Mobile
        • Mobile releases
        • Mobile apps changelog
      • Removed and deprecated features
    • Corporate directory integration
    • Certifications and compliance overview
    • Frequently asked questions (FAQ)
      • General Mattermost questions
      • Community questions
      • Notifications questions
      • Video, audio, and screen sharing questions
      • Enterprise questions
      • License questions
      • Integration questions
      • Use cases
      • Product questions
      • High trust questions
      • Design decision questions
      • Business questions
      • Illicit use questions
  • Deploy Mattermost
    • Migrate from MySQL to PostgreSQL
      • Automate PostgreSQL migration
      • Manually migrate to PostgreSQL
    • Prepare your Mattermost database
    • Deploy on Ubuntu
    • Deploy using Docker
    • Deploy with a tarball
    • Deploy using Omnibus
    • Deploy using Kubernetes
    • Deploy on Red Hat
    • Set up an NGINX proxy
    • Set up TLS
    • Prepare for your Mattermost deployment
      • Software and hardware requirements
      • Manage the Mattermost Kubernetes Operator
      • Administrator tasks
      • Architecture overview
      • Plan your Mattermost implementation
      • Enterprise roll out checklist
      • Welcome email template
    • Deployment guides
      • Server deployment
        • Deployment overview
        • Set up a socket-based Mattermost database
        • Image proxy
        • Backup and disaster recovery
        • Encryption options
        • Configure transport encryption
          • Configuring proxy to Mattermost transport encryption
          • Configuring database transport encryption
          • Configuring cluster transport encryption
        • Bleve search
        • Trial Mattermost using Docker
      • Desktop and mobile app deployment
        • Desktop app deployment guide
        • Desktop MSI installer and group policy installation guides (Beta)
        • Desktop App custom dictionaries
        • Desktop managed resources
        • Using Mattermost’s pre-built mobile apps
        • Testing push notifications
        • Deploy Mattermost mobile apps
        • Mobile push notifications
        • Building and distributing your own custom Mattermost mobile apps
        • Deploying mobile apps using an EMM provider
        • AppConfig for EMM solutions with Mattermost Mobile Apps
        • Mobile VPN options
        • Mobile apps FAQ
        • Client-side data storage FAQ
    • Upgrade Mattermost
      • Important upgrade notes
      • Prepare to upgrade Mattermost
      • Upgrade Mattermost Server
      • Enterprise install and upgrade
      • Install a license key
      • Downgrade Mattermost Server
    • Scale Mattermost
      • Scale for Enterprise
      • Scale up to 200 users
      • Scale up to 2000 users
      • Scale up to 15000 users
      • Scale up to 30000 users
      • Scale up to 50000 users
      • Scale up to 80000 users
      • Scale up to 90000 users
      • Scale up to 100000 users
      • High availability cluster-based deployment
      • Elasticsearch
      • Collect performance metrics
      • Deploy Prometheus and Grafana for performance monitoring
      • Performance monitoring metrics
      • Mattermost performance alerting guide
      • Ensuring releases perform at scale
    • Deployment troubleshooting
      • General troubleshooting
      • Troubleshooting your high scale deployment
      • Troubleshooting mobile applications
      • PostgreSQL installation troubleshooting
      • MySQL installation troubleshooting
    • Additional server installation guides
      • Deploy Mattermost on Bitnami
      • AWS Elastic Beanstalk Docker setup
      • SMTP email setup
      • Install Mattermost Team Edition in GitLab Helm Chart
      • Open source components
  • Manage Mattermost
    • Get started
      • Mattermost feature labels
      • Optimize your workspace
      • Mattermost configuration settings
      • Self-hosted edition and license
      • Cloud subscription, billing, and account
      • Reporting configuration settings
      • User management configuration settings
      • Environment configuration settings
      • Site configuration settings
      • Authentication configuration settings
      • Plugins configuration settings
      • Enable Copilot
      • Manage user surveys
      • Integrations configuration settings
      • Compliance configuration settings
      • Experimental configuration settings
      • Deprecated configuration settings
      • Environment variables
      • Provisioning workflows
      • Multi-factor authentication
      • Active Directory/LDAP
      • GitLab SSO
      • OpenID SSO
      • Google SSO
      • Entra ID SSO
      • Advanced permissions
      • Delegated granular administration
      • Manage team and channel members
      • Custom branding tools
      • Export channel data
      • eDiscovery
      • Compliance monitoring
      • Compliance export
      • Legal hold
      • Data retention tools
      • Custom terms of service
      • Notify Admin
      • AD/LDAP groups
      • Use AD/LDAP synchronized groups to manage team or private channel membership
      • Guest accounts
      • SAML Single Sign-On
        • Okta SAML Configuration
        • Generate self-signed certificates
        • OneLogin SAML Configuration
        • Microsoft ADFS SAML Configuration for Windows Server 2012
        • Microsoft ADFS SAML Configuration for Windows Server 2016
        • Keycloak SAML Configuration
      • SAML Single-Sign-On: technical documentation
      • Shared channels
      • Statistics
      • In-product notices
      • User satisfaction surveys
      • System-wide notifications
      • Bulk export tool
    • Cloud workspace management
      • Workspace migration
      • Cloud data residency
      • Cloud IP Filtering
      • Cloud Bring Your Own Key (BYOK)
    • Self-hosted administration
      • Mattermost self-hosted billing
      • Mattermost error codes
      • Request a server Health Check
      • Store configuration in your database
      • Bulk loading data
      • SMTP email setup
      • Email templates
      • Calls self-hosted deployment
      • Network Requirements for Calls Deployment
      • Configure CloudFront to host static assets
      • Use an outbound proxy
      • Migration guide
      • Migrate from Slack
      • Chinese, Japanese, and Korean search
      • Customize Mattermost
      • Mattermost logging
      • JSON audit log schema
      • SSL client certificate setup
      • Certificate-based authentication
      • Manage telemetry
      • Configure health check probes
    • Other resources
      • Convert OAuth 2.0 providers to OpenID Connect
      • Generate a support packet
      • mmctl command line tool
      • Migration announcement email template
      • Advanced permissions infrastructure
      • Command line tools
  • Use Mattermost
    • Connect and collaborate
      • Access your Mattermost workspace
        • Install the desktop app
        • Install the iOS mobile app
        • Install the Android mobile app
        • Log out of Mattermost
      • Organize using teams
        • Team settings
        • Team keyboard shortcuts
      • Organize using custom user groups
      • Invite people
      • Learn about Mattermost roles
      • Collaborate within channels
        • Channel types
        • Channel naming conventions
        • Communicate a channel's focus and scope
        • Create channels
        • Rename channels
        • Convert public channels to private channels
        • Convert group messages to private channels
        • Join and leave channels
        • Make calls in Mattermost
        • Manage channel members
        • Browse channels
        • Navigate between channels
        • Mark channels as favorites
        • Mark channels as unread
        • Archive and unarchive channels
      • Communicate with messages and threads
        • Send messages
        • Reply to messages
        • React with emojis and GIFs
        • Organize conversations
        • Mark messages as unread
        • Forward messages
        • Share links to channels and messages
        • Save and pin messages
        • Set message reminders
        • Search for messages
        • Format messages
        • Set message priority
        • Mention people
        • Share files in messages
      • Collaborate within Microsoft Teams
      • Chat with Copilot
      • Keyboard shortcuts
        • Keyboard accessibility
        • Run slash commands
        • Built-in-slash-commands
      • Extend Mattermost with integrations
    • Build repeatable processes
      • Learn about collaborative playbooks
      • Work with collaborative playbooks
      • Work with runs
      • Work with tasks
      • Work with notifications and updates
      • Work with metrics and goals
      • Share and collaborate
      • Interact with collaborative playbooks
    • Customize your preferences
      • Manage your notifications
        • Manage your web notifications
        • Manage your desktop notifications
        • Manage your mobile notifications
        • Manage your thread reply notifications
        • Manage your @mention & keyword notifications
        • Manage your channel-specific notifications
      • Customize your Mattermost theme
      • Customize your channel sidebar
      • Manage your profile
      • Manage your security preferences
      • Set your status & availability
      • Manage your display options
      • Manage your sidebar options
      • Manage advanced options
      • Manage your calls preferences
      • Customize your desktop app experience
      • Connect to multiple workspaces
  • Integrate and extend
    • GitHub interoperability
    • GitLab interoperability
    • Jira interoperability
    • Mattermost Playbooks for Microsoft Teams
    • Microsoft Calendar interoperability
    • Microsoft Teams interoperability
    • Microsoft Teams Meetings interoperability
    • ServiceNow interoperability
    • Zoom interoperability
  • Develop with Mattermost
  • Get help with Mattermost
  • Join our community
  • Learn how we work
  • Contribute to this documentation
Back to top
Edit this page

Legal Hold#

plans-img Available on Enterprise plans

deployment-img self-hosted deployments

A Legal Hold, also known as a litigation hold, is a process that an organization uses to preserve all forms of relevant information when litigation is reasonably anticipated. It’s a requirement established by the Federal Rules of Civil Procedure (FRCP) in the United States and similar laws in other jurisdictions.

Primary use cases include:

  1. Litigation: In anticipation or in the event of a lawsuit, organizations need to preserve all relevant documents and electronic data to ensure they can adequately defend their position. A failure to do so could result in court penalties.

  2. Regulatory investigation: If an organization is being investigated by a regulatory body, it may be required to preserve and produce certain documents or data.

  3. Audits: During an audit, whether internal or external, an organization might need to put a hold on certain data that is relevant to the audit.

  4. Records management: In some cases, organizations might use a Legal Hold to temporarily suspend the deletion of data that would otherwise be purged as part of its records management policy.

Mattermost is used as a secure collaboration hub by technical and operational teams, with critical documents and data shared on a daily basis. Thus, Legal Hold is a key requirement for Enterprises and public sector organizations who have deployed Mattermost for their teams, to meet compliance & auditory requirements while minimizing risk.

Mattermost Legal Hold can be combined with eDiscovery integration and data retention policies to customize the data retained and deleted to comply with compliance requirements.

Legal Hold demo (Sneak Peek)#

Check out this YouTube sneak peek demo to learn about Mattermost’s Legal Hold workflow.

Below are step-by-step instructions on how to carry out a Legal Hold for Mattermost using the Mattermost Legal Hold plugin.

How to carry out a Legal Hold#

Step 1: Upgrade to Mattermost Enterprise#

Legal Hold is available in Mattermost Enterprise. Learn more about the Enterprise plan & request a quote online at https://mattermost.com/pricing/

Step 2: Establish a Legal Hold policy#

Establish a policy for when to implement a Legal Hold. This should be developed in consultation with your legal counsel and should include procedures for identifying relevant users (those who have potentially relevant information).

Establishing a Legal Hold policy first enables you to configure the Mattermost system correctly to meet your compliance & auditory requirements, minimizing associated risk.

Step 3: Set up the Mattermost Legal Hold plugin#

Install the plugin#

  1. Log in to your Mattermost workspace as a system administrator.

  2. Download the latest version of the plugin binary release, compatible with Mattermost v8.0.1 and later. If you are using an earlier version of Mattermost, follow our documentation to upgrade to Mattermost v8.0.1 or later.

  3. Go to System Console > Plugins > Plugin Management > Upload Plugin, and upload the plugin binary you downloaded in the previous step.

  4. In the Installed Plugins section, scroll to Legal Hold Plugin, and select Enable.

Configure the plugin#

When the Legal Hold integration is enabled, you can configure when it runs using the format HH:MM ±HHMM and +0000 for UTC.

You can configure a custom Amazon S3 bucket for Legal Holds by specifying Amazon S3 configuration settings. If no S3 configuration is specified, the Mattermost server file store used. Learn more about file storage configuration options in our product documentation.

(Optional) Configure a data retention policy#

You can optionally configure a data retention policy to control how long data and file attachments are retained in the Mattermost database.

Step 4: Create a Legal Hold#

In Mattermost, create a Legal Hold by completing the following steps:

  1. Go to System Console > Plugins > Legal Hold Plugin, and select Create new.

  2. Enter a name for the Legal Hold.

  3. Specify the user names or user groups of users you want to place on Legal Hold.

  4. (Optional) Public channels are excluded by default. You can choose to include public channels that the specified users or user groups are members of, if preferred; however, doing so will significantly increase the amount of data held based on the number public channels available.

  5. Specify the number of days that users are placed in Legal Hold with a start date. An end date is optional.

  6. Select Create Legal Hold. Downloadable data won’t be available until the next scheduled job runs.

Manage Legal Holds#

While a Legal Hold is in place, you can edit details of the Legal Hold, access the Legal Hold Secret, as well as download a copy of the preserved data to your local machine.

An example of the Legal Hold management interface available to Mattermost system admins.
Edit a Legal Hold#

Select the Edit Contribute to Mattermost documentation by selecting the Edit option located in the top right corner of any documentation page. icon to change the name of the Legal Hold, add or remove users, change the end date, as well as include or exclude public channels.

Access a Legal Hold secret#

A Legal Hold secret enables you to verify the authenticity of the data for a Legal Hold in Mattermost.

Select the Show Review your message text formatting using the Show/Hide preview icon in the message formatting toolbar. icon to display the Legal Hold secret key. Keep a copy of this key in a secure location.

An example of a Legal Hold Secret Key available to Mattermost system admins.

To verfiy the contents of the files in this Legal Hold, you must append the processor command with the following flag: --legal-hold-secret <KEY>. The output verifies the file and returns the authenticity state of files along with the rest of the output for the processor, as follows:

Success:

Secret key was provided, verifying legal holds...
- Verifying Legal Hold *processor9*: Verified

Error:

...
Secret key was provided, verifying legal holds...
- Verifying Legal Hold *processor9*: [Error] hash mismatch for file: legal_hold/processor9_i7k1dbkipiyojeess6ozi4agyr/index.json
...
Download Legal Hold data#

Select the Download Use the Download icon to download an attached file to your local system. icon to download a copy of the preserved data to a location on your local machine. Note, no data will be available to download until at least one scheduled job is completed. This may take up to 24 hours.

Step 5: Release a Legal Hold#

Once the Legal Hold has completed, release it to take users off of the Legal Hold by selecting the Release option to the right of the Legal Hold task.

Important

Once a Legal Hold is released, all data is irretrievably deleted from Mattermost and can’t be recovered.

Frequently asked questions#

Who can implement Legal Hold?#

Only Mattermost system admins can implement a Legal Hold.

Does a user know if they’re placed under a Legal Hold in Mattermost?#

No, users won’t be notified if they’re placed under a Legal Hold, and no reference to Legal Holds will be visible in their Mattermost client or accessible via the Mattermost API. This allows for investigations to be conducted without influencing user behavior and without conflicts of interest.

What types of content does Legal Hold cover?#

The Legal Hold covers all messages and file uploads shared in conversations where the Legal Hold is active, including messages posted by plugins, bots or webhooks. This includes messages or files shared in public channels, private channels, direct messages and group messages.

However, Legal Hold does not apply to reactions, collaborative playbooks, or audio calls.

Can users delete their messages while on a Legal Hold?#

Yes, users can delete messages, but they are retained for the purposes of Legal Hold when implemented with the aforementioned steps.

Can a Legal Hold be applied retroactively to collect past data?#

Yes, but this is only guaranteed for existing and future messages/files once Legal Hold is activated. It won’t recover messages or files that were deleted before the Legal Hold was activated.

Is Legal Hold the same as e-discovery?#

No. While they serve a related use case, they are not the same.

Legal Hold is an initial step to ensure relevant electronically stored information (ESI) is preserved. On the other hand, e-discovery is a multi-step process that uses this preserved data to identify, collect, preserve, process, review, and produce ESI in the context of a legal or investigative process.

How do I enable e-discovery for Mattermost?#

Learn more about extracting data for e-discovery in our product documentation.

Tell us more!

Your feedback helps us improve the Mattermost product documentation.

How can we make this page more helpful?

0/186

Have a feature request? Share it here.

Having issues? Join our Community server.

×
Thank you!

We appreciate your feedback.

Did you find what you were looking for?

😀

Yes

😐

Mostly

🙁

No!

Next
Data retention policy
Previous
Compliance export
Copyright © 2015-2024 Mattermost
Made with Sphinx and @pradyunsg's Furo
On this page
  • Legal Hold
    • Legal Hold demo (Sneak Peek)
    • How to carry out a Legal Hold
      • Step 1: Upgrade to Mattermost Enterprise
      • Step 2: Establish a Legal Hold policy
      • Step 3: Set up the Mattermost Legal Hold plugin
        • Install the plugin
        • Configure the plugin
        • (Optional) Configure a data retention policy
      • Step 4: Create a Legal Hold
        • Manage Legal Holds
          • Edit a Legal Hold
          • Access a Legal Hold secret
          • Download Legal Hold data
      • Step 5: Release a Legal Hold
    • Frequently asked questions
      • Who can implement Legal Hold?
      • Does a user know if they’re placed under a Legal Hold in Mattermost?
      • What types of content does Legal Hold cover?
      • Can users delete their messages while on a Legal Hold?
      • Can a Legal Hold be applied retroactively to collect past data?
      • Is Legal Hold the same as e-discovery?
      • How do I enable e-discovery for Mattermost?