Open WebUI gives your whole team a self-hosted, ChatGPT-like chat interface accessible from any browser. This guide shows you how to run Open WebUI and the Privatemode proxy together on a local endpoint, so every conversation is end-to-end encrypted before it leaves your local network.

Introduction
Open WebUI runs on your server as a web app that your team accesses from any browser. Connecting it directly to a cloud LLM provider, however, exposes every prompt and response to that provider. This guide swaps that direct connection with Confidential AI, so traffic stays end-to-end encrypted.
The Privatemode AI proxy runs alongside Open WebUI on your internal server and intercepts every prompt. It verifies the backend through remote attestation, encrypts the request, and only then sends it out. By the time your data reaches the cloud, no one upstream can read it. Not even us.
Requests are processed inside a confidential computing environment that isolates them at the hardware level, sealed off from the host, the hypervisor, and our own operators. The full stack is open source and remotely attestable, so the guarantees are verifiable, not just promised.
Benefits
Every prompt and response passes through the local proxy, which encrypts it before it leaves the maschine. Inference runs inside a hardware-enforced confidential computing environment on the Privatemode backend. Neither the infrastructure provider nor Privatemode can access your conversations.
Open WebUI gets access to state-of-the-art LLMs through Privatemode, all running inside a confidential computing environment. No model hosting or GPU infrastructure needed on your side.
The proxy's shared prompt cache reduces latency for repeated or similar queries across all users. Teams see faster responses on common workloads without any additional configuration.
How to get started
This tutorial walks you through deploying the Privatemode AI proxy alongside Open WebUI on a server your team can reach over your local network. From the moment a prompt leaves the proxy until the response comes back, traffic is end-to-end encrypted and only decrypted inside the backend's confidential computing environment.
If you don't have a Privatemode API key yet, you can generate one for free here.
Both containers communicate over a dedicated bridge network. This keeps the Privatemode proxy off the host network, so it is only reachable by containers you explicitly add to this network.
The proxy performs remote attestation on startup to verify the Privatemode backend, then transparently encrypts all requests before they leave the server.
--sharedPromptCache enables a shared cache across all Open WebUI users, reducing latency on repeated queries.
The -v proxy-logs volume persists the attestation log so you can audit which backend versions were trusted over time. The proxy has no exposed host port: it is reachable only by containers on privatemode-net.
OPENAI_API_BASE_URL points Open WebUI at the proxy using the container name as hostname — no IP address needed. OPENAI_API_KEY can be any non-empty string; the proxy handles authentication to Privatemode using the key from Step 1. The -v open-webui-data volume persists user accounts and chat history across container restarts.
Open http://your-server:3000 in a browser and create an admin account. Open WebUI auto-discovers available models from the Privatemode proxy. Select a model and start chatting.
FAQ
Yes. Open WebUI supports multiple user accounts, admin management and separate chat histories. The shared prompt cache also reduces latency for queries that share common prefixes across users, making team-wide usage more efficient.
Integration
n8n
Add private AI to every n8n workflow node without exposing your workflow data.
Integration
PrivateGPT
Chat with sensitive documents in PrivateGPT. Privatemode handles inference while your files stay on your side.

Want to look for yourself?