User Groups
Named collections of employees, optionally backed by Spaces.
A User Group is a named collection of @himarley.com users — think @engineering, @slt, @design-partners. The slug is the user-facing identifier.
Sharing a Droplet with 24 people no longer means pasting 24 emails. Add @engineering once and the grant tracks live membership: new joiners get access automatically; leavers lose it.
Visibility
Every group has a single visibility setting that decides who sees the row in the directory and who can read the member roster:
- PUBLIC (default) — every signed-in @himarley user sees the group and its members.
- MEMBERS_ONLY — the group row is visible to everyone, but the member roster is hidden from non-members. The count still shows ("24 members"); the names don't.
- ADMIN_ONLY — the group is invisible to non-admins. Used by System Roles. People Admins always see admin-only groups.
Sharing a Droplet with a group
In the Droplet's Share modal, type the group's display name or @<slug> into the "Add people or group" picker. The access list renders the group as a single row with a member-expansion toggle — not 24 individual chips. Grants are live: adjust group membership and the Droplet's audience updates without any re-saving on the Droplet side.
Bootstrapping a Space from a group
When a group hardens into a long-lived team that wants its own collection of Droplets, the group detail page has a one-click "Create Space from this group" action. It creates a new Space with the group's slug + name, seeds the Space's membership from the group, and links the two so the relationship is discoverable from both sides.
System Roles
System Roles are User Groups with one extra bit set: systemRole: true. They render in a pinned "System Roles" section at the top of the directory tab, visible only to People Admins. Two ship today:
@drop-people-admins— curates the Directory, creates User Groups, edits visibility.@drop-library-admins— curates the shared library.
System role groups are protected: they can't be deleted via the standard endpoint, their slug can't be renamed, and their visibility is locked to ADMIN_ONLY. A last-admin guard prevents removing the only remaining member.
Operations
Create a User Group
Creation requires the People Admin role. Pick a slug that reads well as an @-mention.
drop groups create "Engineering" \
--slug engineering \
--description "The team building Drop and adjacent tools." \
--visibility PUBLICAdd members
Bulk-add by email or user id. Adds are idempotent. A cascade preview shows the blast radius before the add commits — adding someone to a group silently expands their access to every Droplet currently shared with the group.
drop groups members add engineering \
jane@himarley.com kai@himarley.comBootstrap a Space from a group
Create a Space pre-seeded with the group's roster. Requires the People Admin role. The two stay linked so the relationship is discoverable from either side.
drop groups bootstrap-space engineering