The core infrastructure backend (API, database, Docker, etc).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Justin Baur 8718f22ab2
[PS-1909] Make LicenseKey check null safe (#2444)
7 hours ago
.config [PS-40] Upgrade to .NET 6 (#2056) 5 months ago
.git-hooks Add git hook for formating (#2224) 3 months ago
.github Enable DCT (#2446) 2 days ago
.vscode [SG-419] Fix problems with push notifications on self-host (#2338) 4 weeks ago
bitwarden_license Bitwarden Unified Self-Host project (#2410) 2 weeks ago
dev [SM-109] Automate Local Development EF Database Migrations (#2275) 1 month ago
docker-unified proper alpine binaries for hbs tool (#2441) 6 days ago
perf/MicroBenchmarks [PS-1471] Create Allocation Free `EncryptedStringAttribute` validation (#2273) 1 month ago
scripts Bitwarden Unified Self-Host project (#2410) 2 weeks ago
src [PS-1909] Make LicenseKey check null safe (#2444) 7 hours ago
test [SG-841] Refactor GetOrganizationApiKeyCommand (#2436) 2 days ago
util Bitwarden Unified Self-Host project (#2410) 2 weeks ago
.dockerignore Bitwarden Unified Self-Host project (#2410) 2 weeks ago
.editorconfig Feature/bit auto data (#2219) 3 months ago
.git-blame-ignore-revs Add instructions (#2232) 3 months ago
.gitattributes Run dotnet format (#1764) 12 months ago
.gitignore revamping the build scripts (#1620) 1 year ago Update README and CONTRIBUTING to point to (#2028) 6 months ago
Directory.Build.props Bumped version to 2022.11.0 (#2445) 2 days ago
LICENSE.txt Update LICENSE.txt 2 years ago
LICENSE_AGPL.txt split license file out to support bitwarden licensed code (#912) 2 years ago
LICENSE_BITWARDEN.txt Update LICENSE_BITWARDEN.txt 2 years ago [SM-142] Rename CommCore to Commercial.Core (#2158) 4 months ago
NuGet.Config initial commit of source 7 years ago Add git hook for formating (#2224) 3 months ago Update (#1913) 9 months ago Update 2 years ago
bitwarden-server.sln [PS-1471] Create Allocation Free `EncryptedStringAttribute` validation (#2273) 1 month ago


Github Workflow build on master DockerHub gitter chat

The Bitwarden Server project contains the APIs, database, and other core infrastructure items needed for the "backend" of all bitwarden client applications.

The server project is written in C# using .NET Core with ASP.NET Core. The database is written in T-SQL/SQL Server. The codebase can be developed, built, run, and deployed cross-platform on Windows, macOS, and Linux distributions.

Developer Documentation

Please refer to the Server Setup Guide in the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.



You can deploy Bitwarden using Docker containers on Windows, macOS, and Linux distributions. Use the provided PowerShell and Bash scripts to get started quickly. Find all of the Bitwarden images on Docker Hub.

Full documentation for deploying Bitwarden with Docker can be found in our help center at:


These dependencies are free to use.

Linux & macOS

curl -s -o \ \
    && chmod +x
./ install
./ start


Invoke-RestMethod -OutFile bitwarden.ps1 `
.\bitwarden.ps1 -install
.\bitwarden.ps1 -start

We're Hiring!

Interested in contributing in a big way? Consider joining our team! We're hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it's like to work at Bitwarden.


Code contributions are welcome! Please commit any pull requests against the master branch. Learn more about how to contribute by reading the Contributing Guidelines. Check out the Contributing Documentation for how to get started with your first contribution.

Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the file. We also run a program on HackerOne.

No grant of any rights in the trademarks, service marks, or logos of Bitwarden is made (except as may be necessary to comply with the notice requirements as applicable), and use of any Bitwarden trademarks must comply with Bitwarden Trademark Guidelines.


Consider installing our git pre-commit hook for automatic formatting.

git config --local core.hooksPath .git-hooks

File Scoped Namespaces

We recently migrated to using file scoped namespaces to save some horizontal space. All previous branches will need to update to avoid large merge conflicts using the following steps:

  1. Check out your local Branch
  2. Run git merge 9b7aef0763ad14e229b337c3b5b27cb411009792
  3. Resolve any merge conflicts, commit.
  4. Run dotnet format
  5. Commit
  6. Run git merge -Xours 7f5f010e1eea400300c47f776604ecf46c4b4f2d
  7. Fix Merge conflicts
  8. Push