Security

A relay sits in the middle of two companies' conversations

That's a position of trust, so here is exactly what ThreadBridge holds, what it doesn't, and how the connections are protected. Nothing on this page is aspirational; it describes how the product works today.

Your messages aren't archived

Message text passes through memory on its way to the other platform and is never written to a database. Your conversations live where they were posted, under your own Slack and Microsoft 365 retention policies.

Credentials are encrypted at rest

Slack bot tokens and Microsoft access and refresh tokens are encrypted in the database and never shown in the interface. They reach the runtime over an authenticated connection, verified with a shared secret, when a bridge starts.

Only the channels you mapped

Slack sends nothing from a channel the app hasn't been invited to. On Teams, ThreadBridge subscribes only to the specific channels in a bridge's map and drops notifications for anything else.

Every webhook is verified

Slack requests are checked against an HMAC-SHA256 signature and rejected if older than five minutes. Microsoft notifications must carry the client state ThreadBridge set when it created the subscription.

Customers are isolated

A workspace or tenant can belong to exactly one account, enforced in the database. Each running bridge is its own supervised process tree, so one failure stays local to that bridge.

Least privilege

List channels, read messages, post messages. No directory access, no mailboxes, no calendars, no files, no direct messages, on either platform.

Revoking access

Access is yours to withdraw and doesn't depend on us acting. Remove the app from your Slack workspace, or withdraw consent under enterprise applications in the Microsoft Entra admin center, and the relay stops. Disconnecting from within ThreadBridge revokes the Slack token with Slack and deletes the stored credentials here.

The tenant-wide permission question

Microsoft Graph offers no per-channel permission for reading channel messages: the approval your administrator grants is tenant-wide because that's the only shape Microsoft provides. ThreadBridge narrows it in the only place it can: it subscribes solely to the channels in a bridge's map, and ignores anything else Microsoft delivers. We'd rather explain that than let it be discovered on the consent screen.

Reporting a vulnerability

Email support@threadbridge.app with enough detail to reproduce the issue. We'll confirm receipt, keep you updated while we fix it, and credit you if you'd like. Please don't test against another customer's workspace.

The full detail (what's stored, for how long, and where) is in the security documentation, alongside our privacy policy.