The Admin Console library (
@bitwarden/admin-console) represents the public API of the Admin Console team at Bitwarden. It manages organizations, collections, user provisioning, and policy enforcement.Overview
The Admin Console library provides the business logic and services for managing Bitwarden organizations. It handles organization structure, collection management, user onboarding and permissions, policy configuration, and administrative workflows.Core Concepts
Organizations
Organizations are the top-level container for shared vault items and team collaboration. They provide:- Shared Collections - Organized sets of vault items accessible to teams
- User Management - Invite, onboard, and manage organization members
- Access Control - Define permissions and roles for users
- Policy Enforcement - Apply security policies across the organization
- Billing & Subscriptions - Organization-level subscription management
Collections
Collections are logical groupings of vault items within an organization. They enable:- Hierarchical Organization - Nested collection names (e.g., “Engineering/Production/AWS”)
- Granular Access Control - Assign collections to specific users and groups
- Bulk Management - Assign multiple items to collections simultaneously
Organization Users
Users invited to an organization go through a lifecycle:1
Invited
Admin sends invitation via email with encrypted organization key
2
Accepted
User accepts invitation and provides public key for confirmation
3
Confirmed
Admin confirms user with encrypted organization key using user’s public key
4
Active
User has full access to assigned collections and vault items
Directory Structure
Key Services
CollectionService
Manages collection access and decryption for vault filtering and display.libs/admin-console/src/common/collections/abstractions/collection.service.ts
CollectionAdminService
Provides administrative operations for managing collections (create, update, delete).libs/admin-console/src/common/collections/abstractions/collection-admin.service.ts
OrganizationUserService
Handles organization user confirmation and management workflows.libs/admin-console/src/common/organization-user/abstractions/organization-user.service.ts
OrganizationUserApiService
Handles API communication for organization user operations.libs/admin-console/src/common/organization-user/abstractions/organization-user-api.service.ts
Organization User Lifecycle
Invitation Process
Acceptance Process
Confirmation Process
Collection Hierarchy
Collections support hierarchical organization through naming:Bulk Operations
The library provides efficient bulk operations for administrative tasks:Bulk User Confirmation
Bulk Collection Access
Organization Policies
Organization admins can enforce security policies:- Master Password Requirements - Minimum complexity and length
- Two-Factor Authentication - Require 2FA for all users
- Single Organization - Prevent users from joining multiple orgs
- Personal Vault Export - Disable personal vault exports
- Password Generator - Enforce password generator settings
- Send Options - Control Send feature usage
Policy enforcement happens at multiple levels: client-side validation in the Admin Console library, and server-side enforcement during API operations. Policies are synced and cached locally for offline validation.
Domain Boundaries
Admin Console vs. Vault: The Admin Console manages organizational resources (collections, organization users, policies), while the Vault library manages personal resources (folders, individual vault items). Collections are created in Admin Console but consumed in Vault.
Admin Console vs. Billing: Organization creation and basic settings are in Admin Console, but subscription management, payment methods, and billing history are handled by the Billing library.
Admin Console vs. Auth: User invitation and onboarding flows are in Admin Console, but the initial authentication and login flows are handled by the Auth library. Admin Console works with already-authenticated users.
Usage Example
Related Libraries
- @bitwarden/vault - Vault items and personal organization
- @bitwarden/billing - Organization subscriptions and payment
- @bitwarden/auth - User authentication and authorization