Slack · Teams · Outlook

Workplace AI that never leaves your infrastructure.

Ovrion answers Slack messages, Teams chats, and Outlook drafts using a model you run — on your own hardware, behind your own firewall. Nothing is proxied through us. There is no us in the request path at all.

0 bytes
of prompt content leave your network
Draft-only
Outlook path — no send-mail method exists in the code
Auditable
egress audit endpoint, not a marketing claim

How it works

One image. Your model. Your network.

Ovrion is a container you run yourself, in front of any OpenAI-compatible backend you already have — LM Studio, Ollama, vLLM, llama.cpp server. It coordinates workers, exposes a gateway, and answers workplace webhooks locally.

  1. Pull the imageOne published artifact: ghcr.io/finsavvyai/lunacluster, scanned and tagged per release.
  2. Point it at your modelAny OpenAI-compatible endpoint on your network — the proxy worker forwards /v1/chat/completions to it.
  3. Wire up a webhookRegister the Slack/Teams request URL, or call the Outlook endpoints directly — all answered by your gateway, on your box.
  4. Check the audit trail/sovriq/audit/egress reports whether prompt content ever left the perimeter. It's a live endpoint, not a slide.

Integrations

Meet your team where it already works.

Every integration is answered by your own gateway. No integration in this list has a code path that sends a message on your behalf without you calling it explicitly.

💬

Slack

Mentions, DMs, slash commands, and interactive buttons — all HMAC-verified against your signing secret. Bot messages are ignored automatically so it never talks to itself.

🟦

Microsoft Teams

Plain replies or Adaptive Cards, bot-added greetings, and automatic @mention stripping — authenticated with a shared webhook secret you control.

✉️

Outlook

Draft a reply, summarize a thread, or leave a tentative RSVP note via Microsoft Graph — every path is read-or-draft only. Sending mail on your behalf is not implemented, anywhere.

Deploy

Pull it. Run it. It's yours.

No account, no signup, no telemetry callback. The full setup — including wiring up Slack/Teams/Outlook — is documented in the repo.

# pull the released image
docker pull ghcr.io/finsavvyai/lunacluster:latest

# run master, worker, and gateway (see docs/guides/DOCKER_IMAGE.md)
docker run -d --name lunacluster-gateway \
  -p 8080:8080 \
  ghcr.io/finsavvyai/lunacluster:latest \
  python3 -m src.api.gateway --host 0.0.0.0 --port 8080

# verify it's actually running locally
curl http://localhost:8080/health