Skip to content

Storage/v5 - #2

Open
justpresident wants to merge 12 commits into
mainfrom
storage/v5
Open

justpresident wants to merge 12 commits into
mainfrom
storage/v5

Conversation

@justpresident

@justpresident justpresident commented Dec 29, 2025

Copy link
Copy Markdown
Owner

Implement a new storage format to support new functionality:

  1. Grouping secrets into folders
  2. Layered encryption of individual secrets and folders with a different key for extra security

Remove the requirement of a secret folder that pretends to be a simple
key. This doesn't make sense for an opensource tool. If the attack
vector includes stolen master password, then it the code can be
recompiled to behave as one wants
This is to be used for storing different Cyphers for different
encryption domains
  1. Added encryption_domains field:
    - HashMap<u32, String> mapping domain_id → domain_name
    - Automatically serialized/deserialized with bincode
    - Initialized with master domain (id=0, name="master") in new()
  2. Domain management methods:
    - create_encryption_domain(name) - creates new domain, returns ID
    - get_domain_name(domain_id) - gets domain name by ID
    - encryption_domains_iter() - iterates all domains
This is required to make sure that unencrypted content of unlocked
encrypted folder is not written to disk.
The implementation just skips the decrypted_folder field
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants