Directory Connector
The Bitwarden Directory Connector is a desktop application used to sync your Bitwarden enterprise organization to an existing directory of users and groups.
Repository Structure
The repository is organized as follows:
libs/— shared business logic (services, models, abstractions)src-gui/— Angular + Electron desktop appsrc-cli/— CLI tool (bwdc)native/— Rust native module for secure credential storage
Requirements
-
Node.js v25
-
Rust toolchain — required to build the native credential storage module
-
Windows users: To compile the native node modules used in the app you will need the Visual C++ toolset, available through the standard Visual Studio installer (recommended) or by installing
windows-build-toolsthroughnpm. See more at Compiling native Addon modules.
Build Instructions
-
Clone the repository:
git clone https://github.com/bitwarden/directory-connector.git -
Install the dependencies:
cd directory-connectornpm ci -
Build the native Rust module:
npm run rebuildThis compiles the
dc-nativeRust module used for secure credential storage. -
Run the app:
- GUI
- CLI
npm run electronnpm run build:cliYou can then run commands from the
./build-clifolder:cd ./build-clinode ./bwdc.js --help# Test syncnode ./bwdc.js test# Real syncnode bwdc.js syncnoteUse
npm run build:cli(notbuild:cli:watch) when you need the native.nodefiles to be copied intobuild-cli/. The watch variant skips the native file copy step.
Syncing from a directory service
To properly test Directory Connector, you'll need a directory to sync. We have instructions for setting up:
-
an Open LDAP Docker image (recommended)
These are both LDAP directory services. If you need to test another type, you should be able to find a platform offering a free tier of that service.