
Mattermost is the sovereign collaboration platform that organizations self-host to keep their communication under their own control. Its Agents framework brings AI assistants into channels and threads. With Privatemode, those agents run on cloud-grade models, with every message protected by confidential computing.

If you point the Mattermost Agents plugin at a conventional cloud LLM, then every prompt, and every thread an agent reads, is processed in plaintext on the AI provider's servers. The control you get from self-hosting stops at your network boundary.
The Privatemode proxy runs next to your Mattermost server. It verifies the integrity of the Privatemode cloud service through remote attestation, and encrypts every request before it leaves. Cloud-side, your data is protected end-to-end by confidential computing and stays encrypted in memory even during processing. Neither the infrastructure provider nor we can read it.
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.
If you don't have a Privatemode API key yet, you can generate one for free here.
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.
In Mattermost, go to System Console → Plugins → Agents and select Add a Service under AI Services. Configure it as shown in the screenshot:
http://privatemode-proxy:8080/v1kimi-latestSave the configuration.
Open Agents from the product menu (or System Console → Plugins → Agents → Agents) 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.
Mention the agent with @privatemode-ai in any channel or thread and it replies in a thread. You can also message it directly, or use it through the AI Actions menu, for example to summarize a long thread.
Your team now has AI agents in Mattermost, with every prompt and response protected by confidential computing.
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.
OpenClaw
Run an open-source personal AI assistant across your messaging apps and keep your AI interaction encrypted end-to-end.
Open WebUI
Run Open WebUI as your team's self-hosted AI chat interface, with cloud-grade LLMs and full privacy.


Want to look for yourself?
