SigSentrySigSentry

Access control

Restrict who can trigger chat analyses on which projects, and how chat identities map to SigSentry users

By default, anyone in a chat workspace where SigSentry is installed can run /sigsentry analyze against any of your tenant's projects. That's fine for small teams. As you scale, you'll often want project-level restrictions — for example, only the billing team can trigger analyses on the billing project.

How identity mapping works

When a chat user runs /sigsentry analyze, SigSentry needs to know who they are in your tenant. The mapping uses email:

StepWhat happens
1Chat platform passes the user's email to SigSentry
2SigSentry looks up a user with that email in the tenant
3If found, the analysis is attributed to that user
4If not found, the analysis is attributed to the workspace installer
PlatformEmail visible to bot?
SlackYes (with users:read.email scope)
TeamsYes
Google ChatYes
DiscordNo by default — privacy choice on Discord's side

For Discord, the analysis runs but is attributed to the installer rather than the actual triggering user. This affects audit log attribution but not the analysis itself.

Project access lists

A project access list is the explicit allowlist of users who can trigger chat analyses for that project. Configure it under Project → Channels → Access list.

If the access list is empty, all team members can trigger analyses on the project. If it has at least one user, only those users can.

This means there are two states:

Access listWho can trigger from chat
EmptyAny team member
Non-emptyOnly listed users

There's no "deny" mode — only an allowlist.

Setting up an access list

Add the right users to your tenant first

If a user isn't a SigSentry user, you can't add them to the access list. Invite them under Team → Invite user if needed.

Open the project access list

Under Project → Channels, scroll to the Access list section at the bottom.

Add users

Pick from the dropdown of team members. The dropdown only shows people in your tenant.

FieldNotes
UserPick from team members

You can add multiple users; click Add for each.

Verify

Have one of the listed users run /sigsentry analyze from chat. The analysis should run. Have an unlisted user try — they should see "User not authorized" with a help link.

Channel-level project bindings

In addition to access lists, you can pin a chat channel to a specific project. Under Settings → Integrations → Connected workspaces → channel-bindings, map a chat channel ID to a SigSentry project ID.

When users in that chat channel run /sigsentry analyze without a --project=<slug> flag, the bot resolves the bound project automatically.

Use caseSetup
#api-incidents Slack channel always works on the api projectBind #api-incidentsapi project
#billing-alerts always on the billing projectBind #billing-alertsbilling project
Default to the tenant's default projectDon't create a binding

Audit trail

Every chat-triggered analysis is logged in the Audit log with:

  • The chat platform (Slack, Teams, Discord, Google Chat)
  • The chat user identity (mapped or installer)
  • The project and analysis ID
  • Timestamp

This is searchable under Team → Audit log.

For most production teams:

  1. Per-project access lists for sensitive projects (billing, internal admin)
  2. Open access (empty access list) for the default and shared projects
  3. Channel bindings for any channel where you don't want users typing --project=<slug> every time

This combination keeps the noise floor low without making the bot hard to use.