pub struct ProfileBundle {
pub version: u8,
pub profile: String,
pub exported_at: DateTime<Utc>,
pub meta: Option<ProfileMeta>,
pub salt: String,
pub nonce: String,
pub ciphertext: String,
}Expand description
A self-contained, re-encrypted export bundle for a single profile.
The vault file bytes are stored as base64. A separate re-encryption wrapper (PBKDF2 + XChaCha20-Poly1305) protects the payload so the export file is safe to copy across machines. The original vault password is not stored.
Bundle format version: 1.
Fields§
§version: u8Format version for forward compatibility.
profile: StringProfile name at export time (advisory — import may use a different name).
exported_at: DateTime<Utc>Export timestamp.
meta: Option<ProfileMeta>Metadata sidecar at export time (optional).
salt: StringPBKDF2-HMAC-SHA256 salt (base64) used to derive the bundle encryption key.
nonce: StringXChaCha20-Poly1305 nonce (base64) for the encrypted payload.
ciphertext: StringEncrypted vault file bytes (base64).
Trait Implementations§
Source§impl Debug for ProfileBundle
impl Debug for ProfileBundle
Source§impl<'de> Deserialize<'de> for ProfileBundle
impl<'de> Deserialize<'de> for ProfileBundle
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 ProfileBundle
impl RefUnwindSafe for ProfileBundle
impl Send for ProfileBundle
impl Sync for ProfileBundle
impl Unpin for ProfileBundle
impl UnsafeUnpin for ProfileBundle
impl UnwindSafe for ProfileBundle
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