What lands in the ledger

What does Governax record from Slack?

  • Workspace membership

    Members joining the workspace, role changes, deactivations and reactivations.

  • Channel membership

    Members added to and removed from the channels the Governax bot has been added to.

  • Channel lifecycle

    Channels created, renamed, archived, unarchived and deleted, for every public channel.

  • External sharing

    Channels shared or unshared externally, and Slack Connect invites requested, approved, accepted or declined.

  • Workspace identity

    Changes to the workspace name, domain and email domain.

  • Access requests

    Requests raised with /governax, and the Approve or Deny decision on each one.

Not captured: Messages, file shares, reactions and ordinary conversation are not captured. Governax requests no message read permission, so it cannot read your messages.

How does the Slack connection work?

Delivery
Push, typically seconds
You provide
One OAuth authorisation
Stored by Governax
An access token, encrypted with AES-256-GCM

Slack is the fastest connector to set up: one OAuth authorisation, no app registration and no tokens to paste. Governax operates its own Slack app and you authorise it, which in most workspaces means being an admin or having admin approval.

Events arrive by webhook, typically within seconds. Private channels are visible only where the app has been added, and Slack only reports who joined or left a channel when the app is a member of it, so add the Governax bot to the channels you need covered.

Disconnecting revokes the token with Slack and erases the stored copy. Events already recorded stay in the ledger.

The baseline snapshot on connect

When you connect, Governax records every workspace member it has not seen before as an access.baseline_observed event, and records each channel, including archived ones, with whether it is private, archived or externally shared and how many members it has. Who is in which channel is not part of the snapshot: per-channel membership is captured from the moment you connect.

Read the Slack setup guide

How do Slack access requests work?

Type /governax anywhere in the workspace. A dialog asks what you need, in free text, and who should approve it. The approver receives a direct message with the request and two buttons, Approve and Deny, and the message updates in place to show the outcome.

The ledger records decision.requested when the dialog is submitted, then decision.approved or decision.denied when the approver decides. Request and decision share a correlation identifier, so the pair can be matched, and both are append-only, hash-chained ledger events like every other.

  • Approving records the decision. Nothing is provisioned, and a human still performs the grant.
  • One approver per request, with no multi-stage approval or separation of duties.
  • Nothing reminds, escalates or times out. A request that is never actioned stays pending.
  • Governax does not check that the person who presses the button holds a particular role. The record shows who actually decided.

Read how Slack access requests work

How this helps with audits

When an auditor asks who had access in Slack and when it changed, the answer is a filtered view of the ledger rather than a folder of screenshots. Approvals are recorded for access requests raised with /governax in Slack. Filters combine tool, event type, actor and a date range, and the date range matches when the change happened in Slack, not when Governax recorded it.

Because a baseline snapshot is taken when you connect, the record starts from who already had access, not only from the changes that followed.

Every event is appended to the entity's SHA-256 hash chain, and database triggers reject every update and delete. Anyone given read access to the entity, an auditor included, can re-run verification, which recomputes every hash and checks every link.

Verification proves that what was recorded has not changed. It cannot prove that everything that happened was recorded. Governax records the evidence; it does not map it to controls, perform the audit or export reports.

Questions

Slack integration FAQ

Can Governax read our Slack messages?

No. Governax requests no message read permission, such as channels:history, and message content is not captured. The two scopes that can post, chat:write and im:write, exist only for the /governax approvals flow.

Does approving a /governax request grant the access?

No. Approving records the decision in the ledger and tells the requester. Nothing is provisioned: a human still performs the actual grant in whatever system the request concerns.

Does Governax see private channels?

Only the private channels the Governax app has been added to. Slack also only reports who joined or left a channel when the app is a member of that channel, so add the bot to the channels you need covered.

Does a /governax request expire?

No. A request that is never actioned stays pending indefinitely. Nothing reminds, escalates or times out, so if the approver is away, raise a new request naming someone else.

What happens when we disconnect Slack?

Disconnecting revokes the token with Slack and erases the stored copy. Events already recorded stay in the ledger, because the ledger is append-only.