# cargo-deny configuration
# Deployed from paiml/infra — do not edit manually.
# Spec: docs/specifications/unified-ci-pipeline.md

[graph]
targets = []
all-features = false
no-default-features = false

[advisories]
ignore = [
    # Unmaintained transitive deps with no available fix.
    # Reviewed 2026-03-26 — all are deep transitive, no direct usage.
    { id = "RUSTSEC-2024-0384", reason = "instant: transitive via web-time, no replacement available" },
    { id = "RUSTSEC-2024-0436", reason = "paste: transitive via simba/nalgebra/parquet, use pastey when upstream migrates" },
    { id = "RUSTSEC-2025-0119", reason = "number_prefix: transitive via indicatif, no replacement available" },
    { id = "RUSTSEC-2025-0141", reason = "bincode: transitive, widely used, no drop-in replacement" },
    { id = "RUSTSEC-2025-0134", reason = "rustls-pemfile: transitive, no safe upgrade available" },
    # RUSTSEC-2026-0002 removed: ratatui dependency eliminated (replaced by presentar)
]

[licenses]
allow = [
    "MIT",
    "Apache-2.0",
    "Apache-2.0 WITH LLVM-exception",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "ISC",
    "Unicode-3.0",
    "Unicode-DFS-2016",
    "Zlib",
    "BSL-1.0",
    "OpenSSL",
    "0BSD",
    "CC0-1.0",
    "MPL-2.0",
    "CDLA-Permissive-2.0",
    "MIT-0",
]
confidence-threshold = 0.8

[bans]
multiple-versions = "warn"
wildcards = "deny"
highlight = "all"

[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []

[sources.allow-org]
github = ["paiml"]
