Vaultwarden for IT Teams and MSPs: What It Is, How It Compares to Bitwarden and How to Run It Safely
What Vaultwarden is, where the official project lives, how it compares to Bitwarden, its 2026 security record, and the setup, backup and patching checklist for running it at work.
Updated: November 2026. Releases, security advisories and settings checked against the Vaultwarden repo, wiki and release notes, and Bitwarden's help pages, on 10 November 2026.
Your team needs a shared home for admin passwords, and per-seat pricing for a cloud vault adds up. The self-hosted name that keeps coming up is free, light and works with apps your users may already know, but the search results mix the real project with strangers' public servers. Here's what Vaultwarden is, how it compares to Bitwarden, how its 2026 security record looks and what running it for work credentials takes.
TL;DR
- What it is. Vaultwarden is an unofficial, AGPL-3.0 server for the Bitwarden apps, written in Rust and run as one container.
- Vs Bitwarden. It includes features Bitwarden charges for, with no vendor support and no passkey login.
- Security. 2026 releases fixed 32 published advisories, 8 rated High, so someone has to own patching.
- Running it. Use an HTTPS reverse proxy, close signups, keep the admin page off and test restores.
- Business use. It suits internal IT teams that own patching; MSPs take that on for every client.
What Is Vaultwarden?
Vaultwarden is an unofficial server for Bitwarden's apps, written in Rust and licensed AGPL-3.0. It speaks the Bitwarden client API, so the official browser extensions, desktop apps and mobile apps sync with it as if it were Bitwarden's own server.
In plain terms, you keep Bitwarden's apps and swap the server behind them for one you run. The README pitches it for setups where Bitwarden's official, resource-heavy server isn't a good fit.
It started in 2018 as bitwarden_rs and became Vaultwarden in release 1.21.0 on 30 April 2021. The rename was about user confusion and Bitwarden's brand.
The README says the project isn't associated with Bitwarden, Inc. One active maintainer is employed by Bitwarden and may contribute on their own time, with other maintainers reviewing that work. The wiki says Vaultwarden targets individuals, families and smaller organizations.
Where the Official Project Lives
The Vaultwarden GitHub repo is dani-garcia/vaultwarden, with 70,534 stars on 10 November 2026, and the wiki, releases and security advisories live there too. Official images come from ghcr.io/dani-garcia/vaultwarden, docker.io/vaultwarden/server and quay.io/vaultwarden/server.
Two sites using the name run public servers. vaultwarden.com calls itself an unofficial community server funded by ads and donations, and says it isn't affiliated with Bitwarden. vaultwarden.net calls itself a community-operated public instance, not affiliated with the official project. The project's FAQ is plain about it: "This project does not host any public Vaultwarden instance."
Both sites say what they are. Still, a public instance means a stranger runs the server your apps trust and decides when it gets patched. For work credentials, run your own or pay a vendor you have a contract with.
How Vaultwarden Works
The Bitwarden apps encrypt vault items before they're sent, and the server stores and syncs the encrypted copies. You point each app at your own URL. Vaultwarden also serves a web vault, Bitwarden's web app with the project's patches, at version 2026.10.1 in 1.37.5.
HTTPS isn't optional. The web vault needs the browser's Web Crypto API, which only runs in a secure context, so the project suggests a reverse proxy in front.
One image supports SQLite, MySQL/MariaDB and PostgreSQL. SQLite is the default and the wiki's pick for typical setups. With SQLite, everything lands in one data folder: database, attachments, Sends, config and signing keys.
Desktop, browser and extension clients sync live over WebSockets on the main HTTP port, so the proxy must pass the Upgrade and Connection headers. Mobile push is where Bitwarden's infrastructure comes in. It needs an installation ID and key from bitwarden.com/host, relays through Bitwarden's push service and works only with store-installed apps.
Vaultwarden vs Bitwarden
Both run the same apps. The differences are who builds the server, what it costs, what it needs and who answers when it breaks. Bitwarden prices were read on 10 November 2026 and are billed annually.
| Vaultwarden | Bitwarden, self-hosted | |
|---|---|---|
| Who builds it | Community maintainers, unofficial | Bitwarden, Inc. |
| License | AGPL-3.0 | AGPL 3.0, plus the source-available Bitwarden License for /bitwarden_license |
| Footprint | One container, SQLite by default, no official RAM figure | Standard: 2 GB RAM and 12 GB storage minimum, MSSQL Express. Lite: 200 MB RAM, 1 GB storage |
| Installation ID and key | Only for mobile push | Required |
| Paid features | Organizations, TOTP, attachments and emergency access at no cost | Paid plan, with a license file on your server |
| Self-hosted organizations | No tiers | Families and Enterprise only |
| SSO | OpenID Connect since 1.35.0 | Enterprise, SAML 2.0 and OIDC |
| Passkey login | Not yet | Web app and Chromium extensions; self-host support not stated |
| MSP console | None | Provider Portal, cloud only |
| Cost | Free | Families $47.88 per year for 6 users; Enterprise $6 per user per month |
Vaultwarden gives you those paid features with no license file. The trade is support: no vendor, no SLA and no release schedule. The wiki's Supporting upstream page notes that users who want to give back can buy a Bitwarden plan and leave it unused.
Bitwarden Lite, renamed from Bitwarden Unified when it left beta in December 2025, runs as one image on as little as 200 MB of RAM. But Bitwarden says Lite is for personal use and home labs, and not for business. A business self-hosting official Bitwarden runs the standard deployment, and Teams has no self-host option. Our Bitwarden review covers the plans and the Provider Portal.
Vaultwarden License and What AGPL Means for IT Teams
Vaultwarden is AGPL-3.0 open source, with all of its code on GitHub. Bitwarden's server is AGPL 3.0 except the /bitwarden_license folder, which holds commercial features and the SSO integration. That folder's source-available Bitwarden License allows development and testing, and production use needs a paid subscription.
AGPL section 13 is the clause to know. If you modify the program, users who reach your version over a network must be offered its source. Running an unmodified release for your staff doesn't trigger it, and anything past that is a question for your lawyer.
Is Vaultwarden Safe?
Two outside reviews are public. In 2024, Germany's BSI had Vaultwarden 1.30.3 code-reviewed under its CAOS project, found two vulnerabilities rated high and reported them to the developers. The wiki links an English translation.
In October 2024, ERNW pentested Vaultwarden for a customer and found three bugs. The worst, CVE-2024-55225, was an authentication bypass that let an attacker impersonate users, admins included. It was fixed in 1.32.5 on 18 November 2024, and it didn't get past 2FA or reveal master passwords.
Then 2026 happened. Seven releases carried security fixes, and GitHub lists 32 published advisories fixed in them: 8 High, 23 Medium, 1 Low and none Critical. Two more from 1.37.5 are still private.
| Release | Date | Advisories | Severity | Headline fix |
|---|---|---|---|---|
| 1.35.3 | 10 February 2026 | 1 | 1 Medium | Item listing ignored collection permissions |
| 1.35.4 | 23 February 2026 | 4 | 3 High, 1 Medium | Manager privilege escalation |
| 1.35.5 | 12 April 2026 | 5 | 2 High, 3 Medium | Cross-org group binding |
| 1.36.0 | 3 May 2026 | 4, plus 2 not public | 2 High, 2 Medium | CSRF and account binding in SSO |
| 1.37.0 | 24 July 2026 | 11 | 11 Medium | Cross-org item access, icon SSRF |
| 1.37.4 | 5 October 2026 | 7 | 1 High, 5 Medium, 1 Low | Revoked members kept access to org items |
| 1.37.5 | 1 November 2026 | 2, still private | 2 Medium, per release notes | Website icons, emergency access |
The theme is permission checks inside organizations: Manager escalation, cross-organization access and revoked members. Client-side encryption covers the stored data. Permission bugs sit a layer up, in who the server lets fetch, move or delete shared items.
The security policy covers the current release only. The FAQ says there's no release schedule, because maintainers work in their spare time. So one habit matters above the rest: someone watches releases and patches within days. Patches can bite too. 1.35.5 broke 2FA remember tokens, and 1.35.6 fixed it the same day, so back up before every update.
In March 2026, an r/selfhosted user running Vaultwarden behind Caddy, with signups off and fail2ban, asked how safe it is on the open internet. Replies split between VPN-only access and public access with layers such as geo-IP limits and a locked-down /admin path.
What Vaultwarden Supports and What It Leaves Out
The wiki lists the features Vaultwarden hasn't built. Here's how they line up against what's there.
| Area | In Vaultwarden | Missing or partial |
|---|---|---|
| Sign-in | 2FA by authenticator, email, FIDO2 WebAuthn, YubiKey or Duo; OIDC SSO | Passkey login; new-device login protection |
| Organizations | Collections, groups, event logs, admin password reset | Full custom roles (a limited Custom role since 1.33.0) |
| Policies | Require two-step login, master password rules, single organization and 8 more | Require SSO, vault timeout, remove individual vault export |
| Directory and API | Bitwarden Directory Connector | Public API beyond Directory Connector |
Groups and event logs are off by default, so set ORG_GROUPS_ENABLED and ORG_EVENTS_ENABLED if you want them. Without the vault timeout and export policies, you can't set lock timing or block personal vault exports from the server.
SSO is OpenID Connect only, and the master password is still required. If your identity provider leans on SAML, our SAML vs SSO guide explains the difference.
Nothing on the feature list brokers sessions or rotates passwords. Treat Vaultwarden as a team vault, and keep server admin access under privileged access management.
How to Run Vaultwarden in Production
The wiki has the full setup, so here's a reference Compose file and the checklist that takes an install from homelab to work credentials.
Kadir Rangwala's October 2026 walkthrough builds a similar stack: Compose with an HTTPS domain, Nginx Proxy Manager with WebSockets on, signups closed after the first account, and nightly backups with a restore. It uses the latest tag and local backups, so add the pinning and off-host copies below.
This file follows the README example and the wiki's hardening guide, pinned to 1.37.5. It's a starting point to test first, and ./vw-data must exist and belong to the user below.
yamlservices: vaultwarden: image: vaultwarden/server:1.37.5 # pinned: edit this tag to update container_name: vaultwarden restart: unless-stopped user: "1000:1000" environment: DOMAIN: "https://vault.example.com" SIGNUPS_ALLOWED: "true" # set to "false" once the first accounts exist PASSWORD_HINTS_ALLOWED: "false" ORG_EVENTS_ENABLED: "true" volumes: ["./vw-data/:/data/"] ports: ["127.0.0.1:8000:80"]
The port listens on localhost only, so the reverse proxy is the one way in. Then work through the checklist.
| Item | Setting | Why |
|---|---|---|
| Domain | DOMAIN set to the HTTPS URL | The web vault needs HTTPS |
| TLS | A reverse proxy; avoid Rocket's built-in TLS | Rocket says its TLS isn't production-ready |
| Admin page | Off (no ADMIN_TOKEN or DISABLE_ADMIN_TOKEN, none in config.json), or an Argon2id hash from vaultwarden hash | Config is plain text, and the page can delete any user |
| Signups | SIGNUPS_ALLOWED=false after the first accounts; invite the rest | Defaults to true |
| Password hints | PASSWORD_HINTS_ALLOWED=false | SHOW_PASSWORD_HINT already defaults to false |
| Client IPs | IP_HEADER, plus IP_HEADER_TRUSTED_PROXIES (since 1.37.0) listing every proxy | Otherwise logs, rate limits and fail2ban see the proxy's address; 1.37.4 changed X-Forwarded-For parsing |
| Container | Non-root user, data folder only, never docker.sock | The image runs as root by default |
| Proxy logs | Redact access_token | The WebSocket URL carries a login token |
| 2FA | Require two-step login by policy | A phished master password isn't enough alone |
| Release watch | One named owner | Only the current release gets fixes |
Backups and Restore
The data folder is the whole server. The wiki marks db.sqlite3 (with its -wal and -shm files) and attachments/ as required, and config.json and rsa_key.* as recommended. config.json holds the admin token and SMTP credentials in plain text, so treat the backup like a credential.
For a consistent SQLite copy, run docker exec -it vaultwarden /vaultwarden backup, built in since 1.32.1, or use sqlite3's .backup. The image has no sqlite3 or cron, so schedule the job on the host and drop -it there. On MySQL or PostgreSQL, dump the database and still back up the folder.
Encrypt every copy, keep one off the host, and don't rely on filesystem or VM snapshots alone. Our guide to immutable backups covers storage that can't be changed once written.
To restore, stop Vaultwarden and replace the files. Delete any existing db.sqlite3-wal before restoring a .backup copy, or restore both files if you copied them together. Then test restores on a spare host on a schedule.
Updates and Client Compatibility
Bitwarden's mobile apps and extensions update themselves, and upstream sometimes ships changes that older servers can't handle. So a stale Vaultwarden can break logins with nobody touching it. In 2026, clients 2026.7.0 and later needed 1.37.0, and 2026.8.0 and later needed 1.37.2.
With a pinned tag, edit the version first, because docker compose pull won't move it. Then run docker compose pull and docker compose up -d. With latest, the same two commands update it with no edit, so put a patch process around it.
Read the release notes each time. 1.37.5 made invalid config values stop startup. 1.37.4's Alpine image could fail against MariaDB or MySQL servers without native TLS until you set MARIADB_TLS_DISABLE_PEER_VERIFICATION=1. Reading the notes beats a Monday of failed logins.
Vaultwarden for MSPs and Business Use
The project and Bitwarden both say who each server is for. The README says the maintainers serve self-hosters, including individuals, families and small organizations, and can't be held liable for data loss. Bitwarden says its Lite server isn't for business, self-hosts organizations on Families and Enterprise only, and keeps its Provider Portal in the cloud.
For an internal IT team, that's a fair deal. You get organizations, SSO and 2FA at no cost, and you own patching, backups and support.
An MSP holding client credentials takes that duty on for every client, with no vendor behind it. Per-client organizations on one server are simpler to run. One server per client keeps a bug in one organization away from the others, and 3 of the 2026 advisories crossed organization boundaries. When a technician leaves, revoke access and rotate what they could see. Our client offboarding checklist covers the other steps.
| Question | Vaultwarden fits if | Skip it if |
|---|---|---|
| Who patches | A named person patches within days | Nobody owns release watch |
| Support | Community channels are enough | You need a vendor SLA |
| Whose credentials | Your own company's | Clients', without per-client separation |
| Compliance | Your framework allows self-hosted storage you audit | A client contract asks for vendor attestations |
| Skills | The team runs containers and reverse proxies | Nobody runs containers today |
In February 2026, an r/msp member asked which self-hosted password manager to run for SMB clients. The top replies say to resell a SaaS vault rather than host client passwords, citing liability for missed patches, while a Vaultwarden user calls it safe with proper segregation and another reply suggests a separate server and firewalled subnet.
Alternatives If Vaultwarden Doesn't Fit
For official Bitwarden on your servers, run the standard deployment on Families or Enterprise. For a provider console, that's Bitwarden's cloud. For another self-hosted vault, our Passbolt review puts Vaultwarden next to Passbolt, KeePassXC and Psono in one table.
Vaultwarden in One Page
Vaultwarden is a free, AGPL-3.0 server for the Bitwarden apps, and the real project lives on GitHub, not on a public instance. It fits an internal team that pins a version, closes signups, encrypts backups and names one owner for release watch. OpenMSP is published by Flamingo, which builds OpenFrame, open, AI-native infrastructure for IT and security; OpenFrame isn't a password manager. If you'd rather pay a vendor to carry the patching, our MSP password manager roundup compares the hosted options.
"Fae" Grace Meadows
Lead AI Fairy
Some things defy easy explanation: magic dust, the northern lights… and Flamingo’s AI Angels. Think Charlie’s Angels, reimagined with automation brains and serious RMM (Remote Monitoring & Management) chops. Weird? A little. Effective? Absolutely. That’s the job.
Related Content
Frequently Asked Questions
/blog/vaultwarden