# encrypted_filesystem_storage * [ ] Store the metadata encrypted as well * [ ] Store files in a folder * [ ] Store minimal metadata ## Storage Layout * `/encfsstorage.superblock` unencrypted messagepack: Vec * `/metadata.index` encrypted messagepack: Vec * `/blocks/${uuid}` encrypted messagepack: Block ## Important structs * StoredKey * Stores the main key encrypted with one decryption key * FileEntry * pathname: String <- can contain `/` * file size: usize * start block: uuid/u128 * Block * data: raw unencrypted data * Option: uuid/u128 * Option: 4KB - data.len() ## Minimum Rust Version Rust 1.57 or higher from argon2 ## Running tests locally ```bash sudo docker run --rm -it -v $(pwd):/source registry.gitlab.com/dns2utf8/junitify:1.63.0 ```