pub struct Vault {
pub version: String,
pub created: String,
pub vault_name: String,
pub repo: String,
pub recipients: Vec<String>,
pub schema: BTreeMap<String, SchemaEntry>,
pub policy: Option<Policy>,
pub secrets: BTreeMap<String, SecretEntry>,
pub meta: String,
}Fields§
§version: String§created: String§vault_name: String§repo: StringRepository URL, auto-detected from git remote during init.
recipients: Vec<String>Public keys only — no names. Name mappings live in the encrypted meta blob.
schema: BTreeMap<String, SchemaEntry>Key metadata — public, readable without decryption.
policy: Option<Policy>Optional agent access policy. Lives in the plaintext header (like schema)
so it is readable on no-key paths and at the same trust level as the
recipient list. Covered by the keyed MAC (blake3v6:) so it is
tamper-evident. Absent when no policy is set, keeping policy-free vaults
byte-identical to pre-policy murk.
secrets: BTreeMap<String, SecretEntry>Per-value encrypted secrets. Each value is a separate age ciphertext.
meta: StringEncrypted metadata blob: recipient names and integrity MAC.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Vault
impl<'de> Deserialize<'de> for Vault
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Vault
impl RefUnwindSafe for Vault
impl Send for Vault
impl Sync for Vault
impl Unpin for Vault
impl UnsafeUnpin for Vault
impl UnwindSafe for Vault
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more