A software to store login information into an encrypted file.
For instructions, see: Help.
The encryption algorithm used is AES-GCM-SIV with Argon2 / Argon2id key derivation function.
Entry | Length |
---|---|
Random salt | 32 bytes |
Random nonce | 12 bytes |
The length of the encrypted data | 8 bytes (64-bit) unsigned integer |
The encrypted data | N bytes |
The login information data is stored as an JSON array to the with the following TypeScript type definition:
/**
* The entry / category data format for the program.
*/
export type DataEntry = {
/** The name of the entry or a category. */
name: string;
/** The optional domain for the login credentials. */
domain?: string | undefined;
/** The host address where the login information is to be used. */
address?: string | undefined;
/** The user name for the credentials. */
userName?: string | undefined;
/** The password for the login credentials. */
password?: string | undefined;
/** Additional notes for the login information. */
notes?: string | undefined;
/** An unique identifier for an entry or a category. */
id: number;
/** In case of an entry the parent category for the entry. Otherwise -1. */
parentId: number;
/** The key <--> URL for OTP authentication. */
otpAuthKey?: string;
/** A value indicating whether to use markdown for the {@link DataEntry.notes} rendering. */
useMarkdown?: boolean;
};
Download the PasswordKeeper_X.Y.Z_x64-setup.exe, ignore the warnings and install the software. If the installation fails you may need to install webview2, See: https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section
- Download the password-keeper_X.Y.Z_amd64.AppImage
- Run
chmod +x password-keeper_X.Y.Z_amd64.AppImage
on the file. - Run the password-keeper_X.Y.Z_amd64.AppImage file.
- Download the PasswordKeeper_x64.app.tar.gz
- Extract the
PasswordKeeper.app
from the file - Run
xattr -c PasswordKeeper.app
on the file. - Run the
PasswordKeeper.app
- Install rust & cargo.
- Install Node.js
- Run the init script,
init.ps1
for Windows,init.sh
for Linux & Mac. For linux Mint I needed to install the following packages for the rust build:
sudo apt-get install webkit2gtk-4.0
sudo apt-get install libjavascriptcoregtk4.0
sudo apt-get install libsoup2.4
I know there are a million password managers available already. The current solution I'm using is VeraCrypt virtual disk with an encrypted LibreOffice Calc file inside the disk. This is challenging to open for a quick review and I always forget to close the file or unmount the virtual disk - feel free to use the tip though 😄 Well, that was background noise - the reasons:
- Keeping it simple, see: The KISS Principle
- I want to learn rust
- To have the code base working fully cross platform
- Have a simple structure with strong encryption for the file the data is stored into.
- Programming is a nice hobby 🤓
Tauri, Node.js, React, Font Awesome Free, Weblate, i18next, React Countdown Circle Timer, Html5-QRCode, totp-rs, qrcode, google-authenticator-exporter, protobufjs, html-react-parser, DOMPurify, Marked, Jodit and React Jodit WYSIWYG Editor
-
UX Powered by Ant Design
-
Localization powered by Crowdin (for Open-source project)