Skip to content

Repository files navigation

Contributors Forks Stargazers Issues MIT License Discord


ClientWarden

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
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

Product Name Screen Shot

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

Built With

  • Botan - Conan Center
  • SPDLog - Conan Center
  • OpenSSL - Conan Center
  • Nlohmann JSON - Conan Center
  • CPP HTTPLib - Conan Center
  • Boost - Conan Center

Getting Started

Here are some instructions on how to build Clientwarden, currently only on MacOS.

Prerequisites

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=Debug

You might need to use the -s compiler.cppstd=20 flag.

Building

  1. Install CMake
  2. Clone the repo
    git clone https://github.com/Cherrytree56567/ClientWarden.git
  3. Prerequisites
  4. Build
    cd build
    cmake .. -DCMAKE_TOOLCHAIN_FILE=build/Debug/generators/conan_toolchain.cmake
    cd ../
    cmake --build build
  5. Enjoy!

Building XCode (Mac OS Only)

  1. Install CMake
  2. Clone the repo
    git clone https://github.com/Cherrytree56567/ClientWarden.git
  3. Prerequisites
  4. Build (add -DLINUX=1 to the cmake .. 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
  5. Enjoy!

Building Tests

  1. Install CMake
  2. 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

Roadmap

  • 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
    • 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).

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Top contributors:

contrib.rocks image

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Use the Discussion Page for Contact

Acknowledgments

Thanks to:

About

A custom Bitwarden Client that aims to use less resources, look good and be more secure

Topics

Resources

Code of conduct

Security policy

Stars

78 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages