Mute yourself in Teams.
Your team hears you.

A private voice channel between your teammates during a Teams meeting, driven by one thing only: your Teams microphone state.

Your team needs to talk something over, right now, before answering the client. Without switching to another tool.

Free and open source, AGPL-3.0. Chrome and Firefox, Manifest V3, one click from either store. The extension already points at a hosted relay, so there is nothing to deploy to get started.

One gesture you already make

No extra button to manage, no shortcut to memorize. You mute yourself the way you always do, and that gesture becomes the trigger.

Teams mic muted

You talk to your team

The client hears nothing. Your voice goes only to your teammates, on the private channel.

You talk to
your team
You hear
your team
Teams mic live

You talk to the client

The private channel closes on the way out. Your team keeps reaching you, unless you turn that off.

You talk to
the client
You hear
your team, on by default

How it works

OffMic never controls the Teams microphone. It watches it.

1

Detect

A content script observes the Teams web mic button and derives the muted or live state. English and French interfaces are recognized, with a polling fallback.

2

Capture

OffMic opens your microphone alongside Teams, without ever taking it away from the meeting. Chrome hosts the capture in an offscreen document, Firefox inside your Teams tab.

3

Decide

The outgoing track is enabled only when the connection is up and the Teams mic is muted. Two conditions, no ambiguity.

Alice
Bob
SDP / ICE
signaling server never any media

Voice travels peer to peer over WebRTC, in a mesh. It never goes through a server. The signaling server only introduces peers to each other, long enough to exchange SDP descriptions and ICE candidates. Once the peers are connected, nothing flows through it anymore.

What's in the box

Small on purpose. One job, done without ceremony.

Mute-driven

Your Teams microphone state is the only switch. Nothing else to operate mid-meeting.

Peer-to-peer audio

WebRTC mesh, end-to-end encrypted by DTLS-SRTP. Media never touches a server.

Rooms

A shared team code is the only secret. No account, no sign-up, no invite flow.

Keep listening

Hear your team even while your Teams mic is live. On by default, switchable off.

Per-voice mixing

Pick your mic and output, set your own level. Mute or turn down any teammate who runs loud.

Light and dark

Follows your browser theme, or forced either way from the popup settings.

Your own relay

Point the extension at any server you run. The address is editable straight from the popup.

Nothing stored

Rooms live in memory on the relay and are never written to disk. Settings stay in your browser.

Before you install

The constraints are real and worth knowing up front, because one of them is not a software problem at all:

  • Headphones are mandatory. If your team's voice comes out of your speakers while your Teams mic is live, the client will hear it. No software can fix that.
  • Teams web only. A browser extension has no reach into the Teams desktop client.
  • Detection depends on the Teams DOM. Microsoft can change its UI and break it.
  • Chrome and Firefox. Chrome runs the voice channel in an offscreen document, Firefox inside your Teams tab, so on Firefox closing that tab ends the channel.
  • Up to 5 or 6 people. Beyond that, a peer-to-peer mesh costs too much upstream bandwidth.

No account, no sign-up, no usage tracking. The signaling server is a dependency-light Node service, and it is the one serving this page.