Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
lwagner bump version
Latest commit ba7e125 Jun 19, 2019


An open source, fully transparent and extremely secure password manager

Build Status


  • Optional two factor encryption using physical Qvault cards (QR code contains a key that is scanned with a webcam to unlock vault)
  • Optional recovery code stored on Qvault card in case master password is forgotten
  • Free optional cloud backup storage. All encrypted vaults are stored locally in a ".qvault" file, and the same encrypted file can be stored on our servers.
  • Can be used offline
  • Virtual keyboard to bypass keylogger malware
  • Import passwords from a CSV (most browsers can export to CSV)
  • Don't trust, verify! Open source is the only way secret managers should be
  • Windows, Mac and Linux
  • All windows and mac releases are code signed and updates are optional (prompted) within the app

cryptocurrency bitcoin password manager


The best way to get in contact with the developers is on the public discord server.


MIT License


Qvault uses eslint and all pull requests must pass the eslint tests specified in travis.yml. To run the linting tests:

yarn lint

To try to autofix the repo:

yarn lint-fix

Node Version

Set the correct node version:

nvm use

Run Tests

Mocha Chai

yarn test

Run in development mode

yarn dev

Build from source

It may give warnings about not being able to push to github. Ignore these warning as you are just building for yourself.

yarn release


Feel free to contribute by forking the repo and opening pull requests. Please ensure that your code passes the existing tests, and write tests to test your changes if applicable.

We also use eslint, so make sure your code adheres to the rules defined in .eslintrc.json

All pull requests should be submitted to the "master" branch. Code in the "prod" branch is live in the latest release.

Recommended VS Code settings

    "editor.formatOnSave": false,
    "files.eol": "\n",
    "eslint.validate": [
            "language": "vue",
            "autoFix": true
            "language": "javascript",
            "autoFix": true
    "eslint.autoFixOnSave": true
You can’t perform that action at this time.