Security-first Teams desktop wrapper

Microsoft Teams, re-wrapped for your privacy.

A secure, minimal Electron wrapper for the web version of Microsoft Teams. Sandboxed renderer, native notifications, and a deliberately small privileged surface.

Download View on GitHub
Linux · Windows · macOS GPL v3.0 Zero runtime dependencies
Secure Teams
JD
John Doe
Available
AS
Alice Smith
In a call
MK
Mike K.
Away
Hey, are we still on for the 2 PM stand-up?
Yes — joining from Secure Teams. See you there.
AS
Alice Smith
Incoming call…
Answer
Decline
What it does

Everything you need, nothing you don't.

Secure Teams wraps Microsoft Teams in a native-feeling desktop app while keeping the privileged code surface tiny and auditable.

Background / tray mode

Closing the window hides the app to the system tray instead of quitting. Teams stays loaded and notifications keep arriving.

Native notifications

Teams web notifications are intercepted and re-emitted as native OS notifications with the sender's avatar. Clicking restores the hidden window.

Native call popup

Incoming calls show a frameless always-on-top popup with the caller's name, avatar, and real Answer / Decline buttons — something plain notifications can't do on Linux.

Restricted permissions

Camera, microphone, and notification permissions are granted only to Microsoft origins, and nothing else.

Single instance

Launching again focuses the running app, so you never end up with a dozen Teams windows.

Auditable size

A few small files and zero runtime npm dependencies. Electron and electron-builder are the only dev dependencies.

Architecture

Security by design, not by afterthought.

Remote Microsoft code never shares a JavaScript world with privileged code. The renderer is sandboxed, and the IPC surface is deliberately small.

Unlike wrappers that read Teams' React internals directly from the preload script, Secure Teams keeps the Teams renderer isolated and sandboxed.

  • contextIsolation: true — privileged preload runs in a separate world from the remote page.
  • sandbox: true — a renderer compromise is contained by the Chromium sandbox.
  • Small IPC surface — a handful of validated channels, each checking sender and origin.
  • Origin-gated injection — shims and permissions are restricted to Microsoft origins.
contextIsolation Enabled
Chromium sandbox Enabled
Runtime npm dependencies Zero
Renderer DOM access from preload None
Setting (Teams renderer) Secure Teams teams-for-linux
contextIsolation true false
sandbox true false
Custom backgrounds, MQTT, profiles, spellcheck No Yes

teams-for-linux is the mature, feature-rich community wrapper. Choose it if you want the bigger feature set. Choose Secure Teams if you want a minimal, sandboxed surface.

Get Secure Teams

Download for your platform.

Pre-built binaries are generated by GitHub Actions for every release tag. Or build it yourself from source.

Linux

AppImage built by CI. Runs on most modern distributions without installing dependencies.

Download AppImage
Windows

NSIS installer built by CI on Windows runners.

Download Installer
macOS

DMG built by CI on macOS runners. Apple silicon and Intel variants per CI matrix.

Download DMG

Clone the repo, install dev dependencies, and start the app in development mode.

git clone https://github.com/mazhar266/Secure-Teams.git
cd Secure-Teams
npm install
npm start

Use electron-builder to create a distributable for your current platform.

npm run dist       # current platform
npm run dist:linux # AppImage
npm run dist:win   # NSIS installer
npm run dist:mac   # DMG

GitHub Actions builds Linux, Windows, and macOS executables on every v* tag and attaches them to a release.

git tag v1.0.0
git push origin v1.0.0
Verified for store submission Source available on GitHub
GNU GPL v3.0

Open source, open to inspect.

Secure Teams is free software. The entire privileged surface is small enough to read in one sitting, and the CI pipeline builds reproducible binaries from public source.

3
Platforms
0
Runtime deps
100%
Open source
Star on GitHub