Confidential AI agents in Mattermost with Privatemode

Mattermost is self-hosted so an organization keeps its communication under its own control, and the Agents plugin brings assistants into channels and threads. With Privatemode behind it, those messages stay encrypted in memory even while they are processed.

Mattermost logo
Introduction
A Privatemode agent answering in a Mattermost thread

The challenge

AI agents work on your team's messages

Ask the Agents plugin to summarize a thread or recap a channel and it sends your colleagues' messages to the model, not just your prompt. Organizations run Mattermost on their own servers to keep exactly this communication under their control. With a conventional AI provider, those messages would be processed in plaintext on the provider's servers.

The solution

AI agents without giving up that control

The Privatemode proxy is registered as an AI service in Mattermost. Messages are encrypted before they leave your network and processed in a hardware-isolated environment whose memory stays encrypted, so by design neither the infrastructure provider nor Privatemode can read them, and you add no GPUs to your deployment.

Benefits

Why use Privatemode AI with Mattermost?

No GPUs needed for confidential AI

End-to-end confidentiality

Free tier available

How to get started

How to set up Privatemode in Mattermost

This tutorial assumes a running Mattermost deployment with the Agents plugin installed (it ships with Mattermost v10.3 and later). You deploy the Privatemode AI proxy next to your Mattermost server and register it as an AI service.

Privatemode portal sign-in screen

Get your API key

If you don't have a Privatemode API key yet, you can generate one for free here.

Start the Privatemode proxy

The proxy performs remote attestation on startup to verify the Privatemode service, then transparently encrypts all requests before they leave your server.

If Mattermost runs with Docker Compose, attach the proxy to the same network so it is reachable as http://privatemode-proxy:8080. If Mattermost runs directly on the host, drop the --network flag, publish the port with -p 127.0.0.1:8080:8080, and use http://localhost:8080 instead.

AI service configuration form in the Mattermost System Console

Configure the AI service

In Mattermost, go to System Console → Plugins → Agents and select Add a Service under AI Services. Configure it as shown in the screenshot:

  • Name: Privatemode
  • Type: OpenAI Compatible
  • API URL: http://privatemode-proxy:8080/v1
  • API Key: any placeholder value; authentication is handled by the proxy
  • Use Responses API: false, since Privatemode implements the Chat Completions API
  • Default Model: the model your agents should use, for example glm-latest

Save the configuration.

Agent configuration form in Mattermost with the Privatemode AI service selected

Create an agent

Open Agents from the product menu (or use the Manage link in an agent selector) and create a new agent. Give it a display name and username, such as privatemode-ai, and select the Privatemode AI service you just configured. Optionally override the service's default model and add custom instructions to shape how the agent responds.

A Privatemode agent answering in a Mattermost thread

Chat with your agent

Mention the agent with @privatemode-ai in any channel or thread and it replies in a thread. You can also message it directly. Thread and channel summarization through the AI Actions menu is available on licensed Mattermost editions (Entry, Professional, Enterprise, or Enterprise Advanced) and runs through the same Privatemode service.

a checkmark image

Done!

Your team now has AI agents in Mattermost, with every prompt and response protected by confidential computing.

FAQ

Frequently asked questions about using Privatemode with Mattermost

Yes. The Privatemode proxy runs next to your Mattermost server and encrypts every request before it is transmitted. On startup it also performs remote attestation to verify that the Privatemode service is genuine. Requests are decrypted only inside the confidential computing environment.

Integrations

View more

Explore other Privatemode integrations

OpenClaw

Your assistant reads your messages. Your model provider shouldn't.

Read guide
OpenClaw mascot

Open WebUI

One confidential model connection for your whole Open WebUI deployment.

Read guide
Open WebUI logo

Talk to an expert

Have a questions about Privatemode? Let's talk!

Want to look for yourself?