vios_app 0.1.1

Small JSON vaults: Argon2id + AES-GCM, with optional AAD binding.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use clap::Parser;
use anyhow::Result;
use vios_core::vault::types::VaultV2;

#[derive(Parser, Debug)]
struct Args { #[arg(long)] file: String }

fn main() -> Result<()> {
    let a = Args::parse();
    let v: VaultV2 = serde_json::from_slice(&std::fs::read(&a.file)?)?;
    println!("Vault v{} | created: {}", v.version, v.created_at);
    println!("tone={:?} reem={:?} congruence={:?}", v.tone_label, v.reem_code, v.congruence);
    println!("expires={:?} burn_on_view={}", v.expires_at, v.self_destruct_on_view);
    println!("lineage_len={} drift_entries={}", v.lineage.len(), v.drift_log.len());
    println!("cia.hash={}", &v.cia.content_hash_hex[..16]);
    println!("local_only={} clone_suspect={}", v.local_only, v.cia.clone_suspect);
    Ok(())
}