keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.91k stars 1.23k forks source link

Feature Request: Log member changes to teams #13781

Open NfNitLoop opened 6 years ago

NfNitLoop commented 6 years ago

As a team grows, managing members becomes a multi-person job.

It would be nice if the Keybase client would expose a report of when people were added to or removed from a team, and by whom.

That would make it easy for multiple admins to coordinate and double-check that additions to a team have been properly vetted. This is especially important when managing private teams, which may contain sensitive data.

IIRC Keybase already has to keep this information in a team's history, because admins must sign records which add people to a room, and people leaving a room triggers key regeneration. So hopefully this is just exposing data which already exists in a consumable report?

Is there a way to fetch this data (ex: from the CLI) in the meantime?

NfNitLoop commented 6 years ago

One of the use cases is offboarding. When a person leaves an organization, there should be a way to confirm that they've been removed from the associated team(s).

Possible additional feature for that workflow: When removing someone from a team, it would be awesome if you could specify a reason. "X left the organization." "X's account may have been compromised." (Or, for public teams) "X did not respect the code of conduct."

NfNitLoop commented 6 years ago

Currently, when an admin adds a user to a team, they have the option of sending a notification to the channel. But because the notification is optional, you can't rely on it for a canonical list of who has joined recently. (Also: in busy channels, that information may become quickly lost in scrollback.)

Additionally, I don't think there's any chat notification when someone leaves or is removed from a team.