Agen.co enables organizations to securely expose enterprise context to internal agents, copilots, and AI workflows through an identity-aware control layer that governs access, reduces risk, and centralizes oversight.
A low-code CIAM platform for managing customer identity as you scale.
Empower your workforce with secure agents
An account hierarchy is a parent-child structure connecting customer accounts inside a B2B SaaS product. It lets an enterprise, reseller, agency or managed service provider organize regional offices, departments, brands or customers beneath a main account while controlling who can view and manage each branch.
For example, a reseller might have one parent account, separate sub-accounts for each customer, and additional child accounts for customer regions. The hierarchy represents relationships between those accounts; it does not replace the tenant boundary or the application’s own data-isolation controls.
Multitenancy and account hierarchy answer different questions.
A SaaS product can use multitenancy without nested accounts. It needs account hierarchy when a customer must manage several related accounts from one controlled structure.
Account hierarchies are especially useful when:
Do not add hierarchy merely because the product is multi-tenant. A flat organization model is easier to reason about and secure when customers do not need nested administration.
The account tree should remain separate from user membership and authorization.
Moving an account, changing a role and granting access to a branch are different security events. Combining them into one implicit rule makes access difficult to audit and revoke.
Avoid a single broad “hierarchy admin” permission. Separate at least these operations:
Frontegg documents separate permissions for reading, creating/updating and deleting sub-accounts, as well as granting users access to sub-accounts. Decomposing structural administration into auditable actions avoids one all-powerful hierarchy capability.
Granting access at a parent can simplify administration by extending access to current and future descendants. It can also enlarge a user’s effective scope after a new child account is created.
Before enabling inherited branch access, decide:
Test the negative path: a valid user who can access one branch must still be denied access to siblings and unrelated accounts.
An account switcher should display the accounts the user can actually access, including access obtained through a hierarchy rule. It should not assume that every accessible descendant is listed directly in one token or user-state object.
Frontegg’s current hierarchy documentation makes this boundary explicit: accounts available through sub-account access are not automatically listed in the user’s JWT or user state. Applications implementing a switcher need to resolve the accessible account set through the relevant APIs before presenting the list.
After a switch, the application must enforce the newly selected account consistently in authorization checks, database queries, cache keys, object paths, background jobs, search indexes and audit events.
Consider an agency that manages three brands:
Agency parent ├── Brand A │ ├── US │ └── EU ├── Brand B └── Brand C
Agency administrators may need access to the entire tree. Brand A administrators should manage Brand A, US and EU but not Brand B or Brand C. A regional operator for Brand A US should remain restricted to that account.
Use explicit memberships with narrowly defined branch access. Every request still carries or resolves one active account context, and the application scopes its resources to that context.
Hierarchy changes deserve the same rigor as role changes.
Frontegg currently documents that sub-accounts can be deleted only when they have no associated children. This prevents a parent deletion from silently orphaning a branch.
Frontegg supports parent accounts with nested sub-accounts for enterprise, reseller and other multi-level structures. Authorized users can manage the hierarchy through the All Accounts area, view it as a table or graph, create child accounts and grant users access to sub-accounts.
The documented permission set includes:
fe.account-hierarchy.read.subAccount
fe.account-hierarchy.write.subAccount
fe.account-hierarchy.delete.subAccount
fe.account-hierarchy.write.subAccountAccess
Because SDK requirements and behavior can change, implementation teams should use the current Frontegg hierarchy documentation and permissions table as the technical source of truth.
Before shipping a hierarchy feature, verify that:
No. Multitenancy isolates customer organizations that share an application. Account hierarchy organizes related parent and child accounts and defines how they may be administered.
That depends on the product’s access model. If branch inheritance is enabled, document whether the role itself, its permissions or only account access propagates. In Frontegg, sub-account access can extend across a branch, and roles assigned at a parent may apply to its sub-accounts under the documented hierarchy behavior.
Not always. Frontegg documents that accounts available through hierarchy-based sub-account access are not automatically listed in the user’s JWT or user state, so the application must resolve accessible accounts through APIs.
Deletion rules vary by platform. Frontegg documents that a sub-account can be deleted only when it has no associated children.
Use the shallowest structure that represents the customer’s real administrative boundaries. Frontegg’s public documentation does not state a universal maximum depth, so confirm current product constraints before promising a specific number of levels.