vios_app 0.1.1

Small JSON vaults: Argon2id + AES-GCM, with optional AAD binding.
Documentation
// src/vaultgate/mod.rs

use std::path::PathBuf;

#[derive(Debug)]
pub struct GateConfig {
    pub root_dir: PathBuf,
    pub ignore_patterns: Vec<String>,
}

#[derive(Debug)]
pub struct GateHit {
    pub relative_path: PathBuf,
    pub absolute_path: PathBuf,
    pub is_dir: bool,
    pub decision: String,
    pub reason: Option<String>,
}

impl GateHit {
    pub fn ok(
        relative_path: PathBuf,
        absolute_path: PathBuf,
        is_dir: bool,
        decision: &str,
        reason: Option<String>,
    ) -> Self {
        Self {
            relative_path,
            absolute_path,
            is_dir,
            decision: decision.to_string(),
            reason,
        }
    }
}