nodewarden README

The project's README from github.com/shuaiplus/nodewarden. As one markdown file: README.md.

NodeWarden Logo

Bitwarden-compatible server running on Cloudflare Workers

Powered by Cloudflare License: LGPL-3.0 Latest Release

Telegram Channel | Telegram Group

中文 | Contributing | Official wiki

Disclaimer
This project is for learning and discussion purposes only. Please back up your vault regularly.
This project is not affiliated with Bitwarden. Please do not report NodeWarden issues to the official Bitwarden team.


Feature comparison with the official Bitwarden server

Feature Bitwarden Free NodeWarden Notes
Web vault ✅ ✅ Original Web Vault UI
TOTP ❌ ✅ Includes steam:// support
PWA / offline ❌ ✅ Installable, offline
Passkey login ✅ ✅ passwordless auth
API keys ✅ ✅ CLI keys; create and rotate
Login 2FA ✅ ✅ TOTP, YubiKey, Passkey
2FA recovery codes ✅ ✅ One-time 2FA disable codes
Real-time push sync ✅ ✅ All device sync
Attachments / Send ✅ ✅ Cloudflare R2 or KV
Import / export ✅ ✅ Bitwarden JSON / CSV / ZIP
Cloud backup center ❌ ✅ Scheduled WebDAV / S3 incrementals
Device management ✅ ✅ Remove devices; trust controls
Login requests ✅ ✅ Cross-device login approval/unlock
Multi-user ✅ ✅ Invite-code registration
Domain rules ✅ ✅ Equivalent domains, global exclusions
Fill-assist ✅ ✅ POST /fill-assist
Organizations / collections / roles ✅ ❌ Not implemented
SSO / SCIM / directory ✅ ❌ Not implemented

Tested clients


Visual quick deploy

  1. Fork the NodeWarden repository to your GitHub account
  2. Open Cloudflare Workers & Pages
  3. Choose Continue with GitHub and select your fork
  4. Set build command to npm run build and deploy command to npm run deploy
    • For KV mode, change the deploy command to npm run deploy:kv
  5. After deployment finishes, open the generated Workers URL

[!TIP] Default R2 vs optional KV:

Storage Card required Max single attachment / Send file Free tier
R2 Yes 100 MB (soft limit, adjustable) 10 GB
KV No 25 MiB (Cloudflare limit) 1 GB

How to update

CLI deploy

git clone https://github.com/shuaiplus/NodeWarden.git
cd NodeWarden

npm install
npx wrangler login

# Default: R2 mode
npm run deploy

# Optional: KV mode
npm run deploy:kv

# Local development
npm run dev
npm run dev:kv

License

LGPL-3.0 License


Credits


Contributors

NodeWarden contributors

Star History

Star History Chart

nodewarden (shuaiplus/nodewarden)

cloudflare-workers
Searching Database…

What is this?NodeWarden is a self-hosted, Bitwarden-compatible password manager server that runs entirely on Cloudflare Workers, letting you sync vaults, attachments and TOTP codes with standard Bitwarden clients without renting a VPS.
Is this an app I install, or a server I deploy myself?It's a backend server you deploy into your own Cloudflare account (Workers plus a D1 database, with R2 or KV for storage) — nothing runs on your device, you just point official Bitwarden-compatible clients at it.
How do I deploy it?Fork the repo on GitHub, open Cloudflare Workers & Pages, choose 'Continue with GitHub' and select your fork, then set build command to 'npm run build' and deploy command to 'npm run deploy' (or 'npm run deploy:kv' for KV-backed storage).
What do I need besides a GitHub fork?Just a Cloudflare account with Workers/D1/R2-or-KV bindings and a JWTSECRET of at least 32 random characters set as a Worker secret; the Worker creates the D1 schema itself on first request, no manual SQL needed.
What official Bitwarden features are missing?Organization/collection/role sharing and SSO/SCIM/directory sync are not implemented, and macOS desktop support hasn't been fully verified yet, though Windows, Linux, mobile and browser-extension clients are confirmed working.
Is this officially backed by Bitwarden, and is my vault safe?No — it's an unofficial, independent reimplementation; vault data is end-to-end (zero-knowledge) encrypted before it reaches your own Cloudflare storage, and the README explicitly warns this is a learning project, not affiliated with Bitwarden.
What's the difference between using R2 or KV for storage?R2 requires a payment card on file but gives a 10GB free tier with up to 100MB per attachment/Send file; KV needs no card but caps free storage at 1GB with a 25MiB per-file limit.
Can I hide the built-in web vault?Yes — setting a HIDEWEBVAULT=1 variable in Workers settings makes the server's frontend pages return 404 while the sync, login, attachment and other client APIs keep working normally.
Does it support passkeys or hardware security keys?Yes, it supports passkey (passwordless) login plus TOTP and YubiKey-based two-factor authentication, matching features normally reserved for paid Bitwarden plans.
Does it offer vault backups beyond basic self-hosting?It includes a built-in cloud backup center that can run scheduled incremental backups to WebDAV or S3, a feature the official free Bitwarden tier doesn't provide.
Creator
shuaiplus
Size
8.1 MB
Stars
3.9K
Age
8mo
Commits · 90 Days