UserGroup access
Available to Enterprise Plan customers only.
Overview
UserGroup access applies policy-based access control to your users instead of to an API key. You attach policy sets to a UserGroup — a set of Zep users managed as one security subject — and every user in the group inherits its grants.
A UserGroup is a security grouping, not a data container. It is distinct from a user graph, which stores one user’s context, and from a standalone graph, which stores shared context. Grouping users for access control does not move or merge their data.
Today, UserGroup grants are enforced for Memory MCP standalone graph authorization: a connection in UserGroup ABAC mode decides which standalone graphs each authenticated Memory MCP user can discover, search, and write. Ordinary API-key traffic is governed by agent access instead, and is unaffected by UserGroup policies.
UserGroups
A project has two kinds of UserGroup:
- All Users — a virtual group that always contains every active user in the project, including users created later. It cannot be renamed, deleted, or have its membership edited. Every project has exactly one, even with zero users.
- Managed UserGroups — groups you create and name, with membership you administer explicitly. Use them to grant a subset of users access that All Users should not receive.
Members of a UserGroup are the same users you manage elsewhere in the project, referenced by their user UUID. Membership is direct — a UserGroup cannot contain another UserGroup — and is managed manually; Zep does not sync it from an identity provider. Deleting a user removes it from every group.
Effective UserGroups
Zep evaluates a user through their effective UserGroups: the virtual All Users group plus every managed UserGroup where the user has an active membership. Policy sets attached through more than one group are evaluated once.
Evaluation is default-deny. A user reaches a resource only when an enforced allow rule matches, and an enforced deny takes precedence over every allow across the combined set of groups. Membership changes, policy attachments, and policy edits apply to the next operation.
Attaching policies
You attach authorization policy sets to a managed UserGroup or to All Users. Retention policy sets cannot attach to a UserGroup.
To grant access to specific standalone graphs, a policy opts in to resource selectors with resource_selector_version: 1 and lists the graphs by their public uuid:
A rule without resources is action-wide and applies to every standalone graph, including graphs created later. The standalone graph authorization guide covers how these grants map to Memory MCP tools, directory filtering, attribute-filtered search, write gates, and migrating a connection to UserGroup ABAC.
Managing UserGroups
UserGroup management is restricted to account administrators.
- Dashboard — the Users & Groups section lists All Users and your managed groups, and lets you create groups, edit membership, and attach or detach policy sets.
zepctl— theuser-groupcommands manage groups, membership, and policy attachments, and theuser-groupanduserdry-run commands report what a group or user would be allowed without changing any state. Create the policy set first, then attach it:
Policy-set authoring and the shared zepctl commands also appear under agent access.