keyhog 0.5.44

keyhog detects leaked credentials in source trees, git history, archives, and remote sources
Documentation
use std::path::PathBuf;

use clap::Parser;

#[derive(Parser)]
pub struct DiffArgs {
    /// Baseline file A, or the older artifact when --artifacts is set.
    pub before: PathBuf,
    /// Baseline file B, or the newer artifact when --artifacts is set.
    pub after: PathBuf,
    /// Scan the two inputs as artifacts instead of loading baseline JSON.
    #[arg(long)]
    pub artifacts: bool,
    /// Verify credentials found only in the older artifact.
    #[arg(long, requires = "artifacts")]
    pub verify_removed: bool,
    /// Detector TOML directory used by --artifacts (default: auto-discover).
    #[arg(long, requires = "artifacts")]
    pub detectors: Option<PathBuf>,
    /// Maximum bytes read from each artifact (default: 67108864).
    #[arg(long, requires = "artifacts")]
    pub max_artifact_bytes: Option<u64>,
    /// Per-credential verification timeout in seconds (default: 5).
    #[arg(long, requires = "verify_removed")]
    pub verify_timeout: Option<u64>,
    /// Suppress the `UNCHANGED` section (default: shown).
    #[arg(long)]
    pub hide_unchanged: bool,
    /// Emit results as JSON instead of human-readable text. Useful for CI
    /// that wants to gate merges on regressions programmatically.
    #[arg(long)]
    pub json: bool,
}