[package]
name = "nono"
version = "0.41.0"
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Capability-based sandboxing library using Landlock (Linux) and Seatbelt (macOS)"
readme = "README.md"
keywords = ["sandbox", "security", "capability", "landlock", "seatbelt"]
categories = ["os", "api-bindings"]

[dependencies]
thiserror.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
zeroize.workspace = true
sha2.workspace = true
getrandom = "0.4"
walkdir.workspace = true
ignore.workspace = true
globset.workspace = true
regress = "0.11"

# Unix socket IPC for supervisor
libc = "0.2"

# Keychain access
keyring = "3"

# Sigstore bundle verification
sigstore-verify = { version = "0.6", default-features = false }
x509-cert = { version = "0.2", default-features = false }
der = { version = "0.7", default-features = false }

[target.'cfg(target_os = "linux")'.dependencies]
landlock = "0.4"
nix = { version = "0.31.2", features = ["fs", "user"] }
keyring = { version = "3", features = ["sync-secret-service"] }

[target.'cfg(target_os = "macos")'.dependencies]
nix = { version = "0.31.2", features = ["fs", "user"] }
keyring = { version = "3", features = ["apple-native"] }

[build-dependencies]
typify = "0.6"
serde_json = "1"
syn = "2"
prettyplease = "0.2"

[dev-dependencies]
tempfile.workspace = true
jsonschema = "0.45"
