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, Manifest V3, loaded unpacked from the repository. 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.
+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 +
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.
+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.
+Capture
+An offscreen document opens your microphone alongside Teams, without ever taking it away from the meeting.
+Decide
+The outgoing track is enabled only when the connection is up and the Teams mic is muted. Two conditions, no ambiguity.
+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.
◆Five languages
English, French, Dutch, German and Spanish, following your browser or pinned by hand.
◆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 for now. The offscreen document is Chrome specific. A Firefox port is planned. +
- 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.
+