Bitwarden logo

Bitwarden

Backend infrastructure powering Bitwarden password management platform

Core server APIs, database, and infrastructure for Bitwarden client applications. Built with C# and .NET Core, deployable via Docker on Windows, macOS, and Linux.

Bitwarden banner

Overview

Backend Infrastructure for Password Management

Bitwarden Server provides the complete backend infrastructure that powers all Bitwarden client applications. Written in C# using .NET Core with ASP.NET Core, it delivers the APIs, database layer, and core services required for secure password management at scale.

Cross-Platform Deployment

The server architecture is designed for cross-platform compatibility, supporting development and deployment on Windows, macOS, and Linux. Using Docker containers and provided PowerShell or Bash scripts, teams can self-host their own Bitwarden instance with minimal setup. The database layer uses T-SQL/SQL Server, with container images available through GitHub Container Registry.

Built for Developers

The codebase follows modern .NET development practices with comprehensive contribution guidelines and developer documentation. Whether you're deploying a self-hosted instance for your organization or contributing to the core infrastructure, the project provides clear setup guides, code style standards, and tooling recommendations to accelerate development workflows.

Highlights

Complete REST APIs and SignalR real-time infrastructure for all Bitwarden clients
Self-hosted deployment via Docker with automated setup scripts for all platforms
SQL Server database backend with T-SQL stored procedures and migrations
Cross-platform C# and .NET Core architecture supporting Windows, macOS, and Linux

Pros

  • Full control over data with self-hosted deployment options
  • Modern .NET Core stack with strong type safety and performance
  • Docker-based deployment simplifies infrastructure management
  • Active development with comprehensive contribution documentation

Considerations

  • Requires SQL Server knowledge for database administration and troubleshooting
  • Self-hosting demands ongoing maintenance, updates, and security monitoring
  • Docker and container orchestration experience needed for production deployments
  • Infrastructure complexity higher than managed cloud alternatives

Managed products teams compare with

When teams consider Bitwarden, these hosted platforms usually appear on the same shortlist.

1Password logo

1Password

Password manager to secure and autofill logins and sensitive info

Dashlane logo

Dashlane

Password manager with zero-knowledge vault, autofill, and passkey support

Enpass logo

Enpass

Offline-first password manager with local vault and optional cloud sync

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Organizations requiring on-premises password management infrastructure
  • Teams with existing .NET and SQL Server expertise
  • Enterprises needing full data sovereignty and compliance control
  • Developers contributing to password management backend systems

Not ideal when

  • Small teams without dedicated DevOps or infrastructure resources
  • Organizations preferring managed SaaS solutions without maintenance overhead
  • Projects requiring non-SQL Server database backends
  • Users seeking simple client-only password manager implementations

How teams use it

Enterprise Self-Hosted Deployment

Deploy Bitwarden infrastructure within corporate networks to maintain complete data control and meet regulatory compliance requirements

Custom API Integration

Extend or integrate Bitwarden backend APIs with existing enterprise identity management and authentication systems

Private Cloud Infrastructure

Run Bitwarden server on private cloud environments using Docker containers for isolated, scalable password management

Development and Testing

Spin up local Bitwarden backend instances for client application development, testing, and integration workflows

Tech snapshot

C#83%
TSQL13%
Handlebars3%
HTML1%
Shell1%
Dockerfile1%

Tags

sql-serverbitwardendotnet-coreaspnetcoresqlapisignalrcsharpdockerdotnetaspnet

Frequently asked questions

What are the minimum requirements to deploy Bitwarden Server?

You need Docker and Docker Compose installed on Windows, macOS, or Linux. The provided installation scripts handle the rest of the setup process automatically.

What database does Bitwarden Server use?

Bitwarden Server uses SQL Server with T-SQL stored procedures. The database runs in a Docker container as part of the standard deployment.

Can I run Bitwarden Server without Docker?

While the recommended deployment method uses Docker containers, the .NET Core codebase can be built and run directly on any platform supporting .NET Core and SQL Server.

Is this the same backend used by Bitwarden's cloud service?

Yes, this repository contains the core infrastructure that powers both self-hosted deployments and Bitwarden's managed cloud service.

What programming language is the server written in?

The server is written in C# using .NET Core with ASP.NET Core for the API layer and SignalR for real-time communication.

Project at a glance

Active
Stars
17,910
Watchers
17,910
Forks
1,504
Repo age10 years old
Last commit2 days ago
Self-hostingSupported
Primary languageC#

Last synced yesterday