vaultwarden is a free, open source password & secret management project written in Rust and released under AGPL-3.0. It has 67,795 GitHub stars, 3,228 forks and 83 open issues, and was last pushed 5 days ago. On this registry it ranks #1 of 8 tracked projects in Password & Secret Management, with 5 head-to-head comparisons available.

What is vaultwarden?

Vaultwarden is an unofficial, Bitwarden-compatible server implementation of the Bitwarden Client API written in Rust, aimed at self-hosters who want to run their own vault backend for the official Bitwarden clients without the resource demands of the official service.

What it is

Vaultwarden is an alternative server implementation of the Bitwarden Client API, written in Rust and published as the repository dani-garcia/vaultwarden under the AGPL-3.0 licence. It was formerly known as bitwarden_rs, and the topic list keeps both bitwarden and bitwarden-rs alongside rust, rocket, docker, and vaultwarden to reflect that lineage. The project is compatible with the official Bitwarden clients, so existing desktop, browser, and mobile apps can be pointed at it. It is not affiliated with Bitwarden, and the README carries an explicit disclaimer to that effect.

The concrete problem it solves is the cost of running the official server. The README describes the project as "perfect for self-hosted deployment where running the official resource-heavy service might not be ideal," which names the specific thing it replaces: the official Bitwarden server service. Instead of operating that stack, a self-hoster runs this Rust implementation and keeps the client experience they already know. Names matter here as well: users migrating from bitwarden_rs continue under the new vaultwarden name without changing clients.

Key capabilities

  • Implements the Bitwarden Client API and works with the official Bitwarden clients listed in the README.
  • Distributed as container images under three registries: vaultwarden/server on Docker Hub, ghcr.io/vaultwarden, and quay.io/vaultwarden/server.
  • Built in Rust, with rocket named in the topic list as the web framework.
  • Carries the bitwarden-rs topic for continuity with its former name.
  • Defines release and build automation in the .github/workflows/release.yml and build.yml workflows, surfaced by the GHA Release and GHA Build badges.
  • Tracks dependency health through the deps.rs status badge.
  • Maintains community support channels on Matrix at #vaultwarden:matrix.org, on GitHub Discussions, and on Discourse at vaultwarden.discourse.group.

Who users it and how

  • Self-hosters replacing the official resource-heavy Bitwarden service with a lighter Rust server, while remaining compatible with official clients.
  • Docker-based operators pulling vaultwarden/server from Docker Hub, ghcr.io, or Quay.io, with image pulls tracked per registry.
  • Users of the official Bitwarden desktop and mobile clients who point them at their own instance rather than Bitwarden's hosted backend.
  • Administrators who need community help, using the Matrix room, GitHub Discussions, and the Discourse forum.
  • Long-time bitwarden_rs operators who stayed with the project across the rename.

Getting started

The documented route is Docker: pull the vaultwarden/server image from Docker Hub, ghcr.io/vaultwarden, or quay.io/vaultwarden/server, then connect the official Bitwarden clients from the downloads page to the running instance.

How it compares

The only comparable tool named in the facts is the official Bitwarden service, and Vaultwarden positions itself as the smaller alternative to it: same clients, lighter resource footprint, built for self-hosted deployment. The differences that follow from the facts are licensing and ownership. Vaultwarden is AGPL-3.0 and community-run, so the server runs on the operator's own hardware and the code remains open, while it carries no vendor backing from Bitwarden.

When to use it — and when not to

Pick it when self-hosting is the goal and the official service is heavier than the environment warrants; a self-hoster still owns the job of running and updating the server. It is a poor fit for anyone who needs vendor-supported software, since the README directs every bug report to the project's own channels regardless of which client is in use. The README excerpt is also truncated at that disclaimer, the project shows 83 open issues, and the most recent push recorded in the facts is September 2026, so prospective users should read the full repository documentation before committing.

project readme (upstream, from github) — read inline

Vaultwarden Logo

An alternative server implementation of the Bitwarden Client API, written in Rust and compatible with official Bitwarden clients [disclaimer], perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.


GitHub Release ghcr.io Pulls Docker Pulls Quay.io
Contributors Forks Stars Issues Open Issues Closed AGPL-3.0 Licensed
Dependency Status GHA Release GHA Build
Matrix Chat GitHub Discussions Discourse Discussions

[!IMPORTANT] When using this server, please report any bugs or suggestions directly to us (see Get in touch), regardless of whatever clients you are using (mobile, desktop, browser...). DO NOT use the official Bitwarden support channels.


Features

A nearly complete implementation of the Bitwarden Client API is provided, including:


Usage

[!IMPORTANT] The web-vault requires the use of HTTPS and a secure context for the Web Crypto API.
That means it will only work if you enable HTTPS.
We also suggest to use a reverse proxy.

The recommended way to install and use Vaultwarden is via our container images which are published to ghcr.io, docker.io and quay.io. See which container image to use for an explanation of the provided tags.

There are also community driven packages which can be used, but those might be lagging behind the latest version or might deviate in the way Vaultwarden is configured, as described in our Wiki.

Alternatively, you can also build Vaultwarden yourself.

While Vaultwarden is based upon the Rocket web framework which has built-in support for TLS our recommendation would be that you setup a reverse proxy (see proxy examples).

[!TIP] For more detailed examples on how to install, use and configure Vaultwarden you can check our Wiki.

Docker/Podman CLI

Pull the container image and mount a volume from the host for persistent storage.
You can replace docker with podman if you prefer to use podman.

docker pull vaultwarden/server:latest
docker run --detach --name vaultwarden \
  --env DOMAIN="https://vw.domain.tld" \
  --volume /vw-data/:/data/ \
  --restart unless-stopped \
  --publish 127.0.0.1:8000:80 \
  vaultwarden/server:latest

This will preserve any persistent data under /vw-data/, you can adapt the path to whatever suits you.

Docker Compose

To use Docker compose you need to create a compose.yaml which will hold the configuration to run the Vaultwarden container.

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vw.domain.tld"
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80

Get in touch

Have a question, suggestion or need help? Join our community on Matrix, GitHub Discussions or [Discourse Forums](h

readme truncated — read the full docs on github

Frequently asked questions

Is vaultwarden free to use?

vaultwarden is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does vaultwarden do?

Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

What is vaultwarden written in?

vaultwarden is primarily written in Rust. Its source is publicly available at https://github.com/dani-garcia/vaultwarden, and it has 67,795 GitHub stars.