KeyGaurdian
Cross platform password manager that encrypts and stores the data only on the device and also sync across the devices.
Motive
The motive is,
- to build a password manager where the data is completely owned by the user.
- to enable the user to sync the password data between all his devices without having to store the data in the cloud.
- to build this as a cross platform application
- to have not vendor lock. The user should be able to migrate to and from any platform.
I looking towards having this project be made available to the public as an OSS.
Techstack
Rust is the choice of language for this project. Project will be using Tauri.
The frontend for the application will be built using VanillaJS and WebComponents.
Approach
We would be building the application in the same lines of a HD wallet (Hierarchical Deterministic). KeyGaurdian would contain multiple vaults which the user can use to organize their passwords. These vaults are analogous to the accounts in the HD wallet and each entry in the vault would correspond to a child node in the HD wallet account. The public and private key pair of the child node would be used to encrypt and decrypt the particular entry. The metadata of the vault and entries would be encrypted and stored using the pass phrase used to protect the Seed for the HD wallet.
Roadmap
- To build the core application service as a seperate crate with unit tests.
And parallely bind them to the CLI.
- would explain futher the task in coming days.
- Build basic UI for integrate with the core application service