Skip to content
This repository has been archived by the owner on Oct 16, 2019. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
September 23, 2018 14:44
September 8, 2018 10:37
September 15, 2018 13:41
November 28, 2018 21:28
September 10, 2018 21:28
December 15, 2017 17:54
January 10, 2018 22:06
July 15, 2019 18:08
September 8, 2018 10:37
September 15, 2018 13:41

Tusk is no longer actively maintained.

  • Is it still safe? Yes. As far as the community is aware, Tusk's security model is still the same. You may continue using Tusk, and I will keep the third party integrations (Dropbox, Google Drive, etc.) active. Please contact me through my website to report security concerns.
  • Why is it unsuppored? Because I no longer prefer the keepass ecosystem. I believe version control and data sync should be a core feature of any password manager.
  • Any good alternatives? I've switched entirely to Password Store + BrowserPass and I'm happier now. If you want something more user friendly, I highly recommend Bitwarden. To remain with Keepass, try Kee or KeepassXC-Browser.
  • Could someone else take over? If you have a lot of time and are interested in taking over leadership of Tusk, please contact me through my website and tell me about yourself and what you'd like to do with Tuisk. It has over 25 thousand active users, and I'm sure they would all love to see the project live on.


A modern, clean keepass browser extension built with Vue.js and kdbxweb. Rebooted from perfectapi/CKP





User Guide

This section provides how-to instructions for various features of Tusk.

How it works: Implementation Details

This section provides in-depth information about how tusk works under the hood. We aim to provide better transparency and give users peace-of-mind. Tusk may not be perfect, but it's better than proprietary black-box applications that hide design flaws from the community.

Build Setup

Tusk requires:

  • node
  • npm
  • yarn
# install dependencies
yarn install

# build static DLL resources (optional)
yarn build-dll

# build for production with minification
yarn build

# run the packer script targeted for 'chrome' and 'firefox' after build.
# this step generates the zip archives submitted to Chrome/Firefox addon marketplaces.
yarn bundle

# static reload with file watch for tests
yarn dev-tests

For detailed explanation on how things work, consult the docs for vue-loader.

Running tests

To run tests, first build them with yarn build-tests or yarn watch-tests then open tests/test.html in a browser.

Browser Permissions

Tusk requires cross-origin permissions in order to inject credentials and query the storage backends on the user's behalf.

In chrome, these permissions requests are always prompted to the user upon first use.

Because of Firefox's implementation of browser.permissions, it was necessary to request all permissions at install time to avoid code rot. A deeper explanation of the firefox permissions can be found on stackoverflow


Why is it called Tusk?!

I originally wanted to call it Elephant, as in An elephant never forgets. I tried this name on a couple of friends and they were unimpressed. I wanted to find a name that was more concise but keep the elephant imagery. Ergo, tusk.

What happened to CKPX?

This is it! CKPX has been rebranded as Tusk to mark its Firefox release. The C in CKPX stood for 'Chrome'.

Can I donate money?

I don't want your money. Take whatever you would have given me and find a local charity -- a food bank, a women's shelter or an animal shelter, for example. Enjoy your free software.

So how can I support Tusk?

If you ❀️ Tusk, please consider leaving a positive review on the Firefox Add-on store or the Chrome webstore - I'll be eternally grateful.

Who made that awesome logo?

A super cool artist and graphic designer named Gabriel Garcia! Thanks for our logo!