GitHub bills Team and Enterprise organisations per seat. A seat is held by every member, by every outside collaborator with access to a private repository, and by every pending invitation.
Dormant members
seats.dormant_member
A member is dormant when none of these happened in the last 90 days:
- a push to any branch, a pull request, a review, or a comment, in any repository opsen can read;
- any Copilot activity, by GitHub's own
last_activity_at.
Bots (type: Bot, or a login ending [bot]) are never counted.
monthly = dormant members × seat price
The seat price is your contract price if entered under Settings, otherwise GitHub's list price for the organisation's plan.
opsen does not remove members. Removing someone loses their forks of private repositories and their team memberships, and the person may be on leave. The finding exports as CSV for whoever owns that decision.
Dormant outside collaborators
seats.dormant_outside_collaborator
The same rule, applied to outside collaborators. On paid plans an outside collaborator with access to a private repository occupies a seat. Removing their access is done per repository in GitHub, so this finding also exports rather than acts.
Stale invitations
seats.stale_invitations
An invitation pending for more than 7 days, or one GitHub reports as failed. Pending invitations count towards the organisation's filled seats.
Action: select invitations and press Cancel selected invitations. Each is withdrawn with DELETE /orgs/{org}/invitations/{id}. The person can be invited again at any time.
When these are withheld
Dormant-seat findings need to see every repository a person could be working in. They are withheld when the installation has a repository selection, or when too many repositories' activity could not be read. Stale invitations do not depend on activity and are always reported.