ClientWarden is designed to be a secure, visually appealing, well designed, lightweight and platform specific alternative to the default Bitwarden Client which is based on Electron. Currently ClientWarden is only supported on MacOS with Linux and Android Support coming next.
Report Bug
·
Request Feature
Table of Contents
The official BitWarden Client is inefficient, resource intensive and uses electron and there aren't any currently maintained open-source BitWarden clients for desktop. Clientwarden is a native, platform-specific BitWarden client that aims to match the core BitWarden features while being well designed, visually appealing, lightweight and secure. Some functionality (like Passkey Login, Device Login, etc) is still being implemented.
Anyways, here are some reasons to use Clientwarden:
- Clientwarden uses SwiftUI to blend in with MacOS and look as good as possible
- Clientwarden uses Botan secure_vector's for storing passwords safely
- Clientwarden avoids using too much memory
Here are some instructions on how to build Clientwarden, currently only on MacOS.
Before building Clientwarden, install VS 2026 with C++ and WinUI Extensions, CMake, Conan, vcpkg and git.
mkdir build
conan install . --output-folder=build --build=missing
conan install . --output-folder=build --build=missing -s build_type=DebugYou might need to use the -s compiler.cppstd=20 flag.
- Install CMake
- Clone the repo
git clone https://github.com/Cherrytree56567/ClientWarden.git
- Prerequisites
- Build
cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=build/Debug/generators/conan_toolchain.cmake cd ../ cmake --build build
- Enjoy!
- Install CMake
- Clone the repo
git clone https://github.com/Cherrytree56567/ClientWarden.git
- Prerequisites
- Build (add
-DLINUX=1to thecmake ..command to build the Linux version on MacOS)cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=build/Debug/generators/conan_toolchain.cmake -G Xcode cd ../ cmake --build build
- Enjoy!
- Install CMake
- Install Dependencies
mkdir build conan install . --output-folder=build --build=missing conan install . --output-folder=build --build=missing -s build_type=Debug
You might need to use the -s compiler.cppstd=20 flag.
3. Build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=build/Debug/generators/conan_toolchain.cmake -G Xcode
cd ../
cmake --build build
cd build
ctest --output-on-failure- V1.0.0
- Clientwarden stays open in the background
- Auto Lock Support
- AutoFill Support
- Check if CW App is open
- Setup App Group
- Ask CW App for AutoFill Unlock Window
- Ask CW App for Ciphers with Domain/URL
- Display Ciphers
- Autofill Cipher
- Add Autofill Unlock Screen
- Passkey AutoFill Support
- Passkey Login Support (wouldn't be possible)
- Device Login Support
- Biometric Support
- Check for missing websocket events (eg: if the Vault needed to be logged out but was closed)
- Make SDK
- Store auth data in KeyChain (!important)
- Code Signing
- Argon2ID
- Fix Light Mode
- Android UI
- Nav Panel
- General Tabs
- Folders
- Items Panel
- Items
- Top Bar
- Search Input
- New Item Button
- Clean Up
- Vault UI
- Item Icon, Name, Fav, Item Type
- Generic Item
- Field Item
- Attachment Item
- Show Items
- Main Window
- Login UI
- Username/Password UI
- TOTP/Device Verify UI
- Passkey UI
- Unlock UI
- Passkey UI
- Settings UI
- About UI
- Passkey Support
- Biometric Support
- Nav Panel
- Support Bank Account, Passport and Drivers License
- Support new version (remove data key in JSON)
- Add VaultWarden to VaultFeatures
- Use VaultFeatures in UI
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Use the Discussion Page for Contact
Thanks to:
- Fluent Icons
- Readme Template
- @Dexrn - For helping me with base and derived classes in the Backend
