aion-context 1.0.0

Cryptographically-signed, versioned business-context file format
Documentation
# cargo-deny config for aion-context.
# See .claude/rules/supply-chain.md for the policy this encodes.
#
# Run:
#   cargo deny check              # full pass
#   cargo deny check advisories   # RUSTSEC only
#   cargo deny check licenses     # license allowlist only

[graph]
# Consider all features when checking.
all-features = true

# ---------------------------------------------------------------------
# Licenses
# ---------------------------------------------------------------------
#
# Allowlist from `.claude/rules/supply-chain.md`. Forbidden-by-default:
# GPL family, AGPL, SSPL, CC-BY-SA, "custom" / unlicensed. Anything not
# on this list needs an explicit [[licenses.clarify]] block below with
# a rationale.
[licenses]
version = 2
allow = [
    "Apache-2.0",
    "MIT",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "ISC",
    "Unicode-3.0",
    "Unicode-DFS-2016",
    "Zlib",
    "CC0-1.0",
    "CDLA-Permissive-2.0",
    "MPL-2.0",
    "BSL-1.0",
]
confidence-threshold = 0.93

# Example clarification — uncomment and fill in when a crate has an
# ambiguous or compound license spec.
# [[licenses.clarify]]
# crate = "crate-name"
# expression = "MIT OR Apache-2.0"
# license-files = [
#     { path = "LICENSE-MIT", hash = 0x00000000 },
# ]

# ---------------------------------------------------------------------
# Banned crates
# ---------------------------------------------------------------------
[bans]
multiple-versions = "warn"
wildcards = "deny"
highlight = "all"
# Deny-list: crates known to be problematic for this workspace.
# Note: openssl appears via transitive deps; allow but prefer rustls.
deny = [
    # { crate = "openssl", reason = "prefer rustls where possible" },
]
skip = []
skip-tree = []

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

# ---------------------------------------------------------------------
# Advisories (RUSTSEC)
# ---------------------------------------------------------------------
[advisories]
version = 2
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
yanked = "deny"
# ignore entries format:
#   { id = "RUSTSEC-YYYY-NNNN", reason = "..." }
# Every entry is a tax the next maintainer pays. Review at every
# dep-bump PR; entries older than six months are red flags.
ignore = [
    # `paste` is a procedural-macro helper that the upstream maintainer
    # archived on 2024-10-07. Pulled in transitively (currently via
    # zerocopy-derive / pqcrypto-mldsa dependency chain, macro-only —
    # no runtime footprint). No CVE, no security impact. Remove once
    # the transitive chain migrates to `pastey` (a drop-in fork) or
    # to `with_builtin_macros`.
    { id = "RUSTSEC-2024-0436", reason = "paste unmaintained; transitive macro helper; no CVE; migrate when upstream deps switch to pastey" },
]