[package]
name = "black-bagg"
version = "0.1.0"
edition = "2021"
authors = ["Black Bag Maintainers <maintainers@example.invalid>"]
description = "Ultra-secure, zero-trace, pure-Rust CLI vault for spies, journalists, and privacy maximalists."
license = "MIT OR Apache-2.0"
repository = "https://github.com/black-bag/black-bag"
keywords = ["security", "vault", "password-manager", "cli", "zero-trace"]
categories = ["command-line-utilities", "cryptography"]

[features]
default = ["mlock", "pq"]
mlock = ["dep:libc"]
pq = ["dep:ml-kem", "dep:kem"]
fhe = []
fuzzing = []




[dependencies]
anyhow = "1"
argon2 = "0.5"
base64 = "0.22"
base32 = "0.5"
blake3 = "1"
chacha20poly1305 = "0.10"
ciborium = { version = "0.2", features = ["std"] }
chrono = { version = "0.4", features = ["serde", "clock"] }
clap = { version = "4.5", features = ["derive", "env"] }
directories = "5"
fd-lock = "4"
hex = "0.4"
is-terminal = "0.4"
hmac = "0.12"
sha1 = "0.10"
sha2 = "0.10"
rand = "0.8"
rand_core = "0.6"
rpassword = "7"
secrecy = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = "3.8"
totp-rs = { version = "5.7", features = ["otpauth"] }
serde_bytes = "0.11"
typenum = "1"
subtle = "2.5"
tempfile = "3"
thiserror = "1"
uuid = { version = "1", features = ["v4", "serde"] }
zeroize = { version = "1.7", features = ["derive"] }
ml-kem = { version = "0.3.0-pre", optional = true, features = ["std", "zeroize"] }
kem = { version = "0.3.0-pre.0", optional = true }
libc = { version = "0.2", optional = true }

[dev-dependencies]
assert_fs = "1.1"
proptest = "1"
assert_cmd = "2"
expectrl = "0.8"
serial_test = "3"
