path_jail 0.4.0

A secure filesystem sandbox. Restricts paths to a root directory, preventing traversal attacks.
Documentation
# cargo-deny configuration for path_jail
#
# Run locally:
#   cargo install cargo-deny
#   cargo deny check
#
# Enforced in CI by .github/workflows/ci.yml (job: deny).

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

[output]
feature-depth = 1

# ── Security advisories ──────────────────────────────────────────────────────
# RustSec advisory database. New advisories MUST be triaged within the SLA
# documented in SECURITY.md.

[advisories]
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
yanked = "deny"
ignore = []

# ── Licenses ────────────────────────────────────────────────────────────────
# Permissive licenses only. If a transitive dep brings in something else,
# the build fails until it's reviewed.

[licenses]
confidence-threshold = 0.93
allow = [
    "MIT",
    "Apache-2.0",
    "Apache-2.0 WITH LLVM-exception",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "ISC",
    "Unicode-3.0",
    "Unicode-DFS-2016",
    "Unlicense",
    "Zlib",
    "CC0-1.0",
]

# ── Dependency bans ─────────────────────────────────────────────────────────
# path_jail is a security library. We deny both wildcards and duplicate
# versions: duplicates are where advisories hide (one copy patched, another
# isn't) and they bloat binaries. If a transitive dep forces a new duplicate
# in a future bump, the deny build fails and we resolve it deliberately
# (cargo update, [patch], or a documented `skip = [...]` here) rather than
# letting it drift.

[bans]
multiple-versions = "deny"
wildcards = "deny"
highlight = "all"
# Empty by default; populate when a specific crate must be banned.
deny = []
# Add entries here ONLY with a justification when an upstream split forces
# a temporary duplicate we can't fix immediately.
skip = []

# ── Source restrictions ─────────────────────────────────────────────────────
# Crates must come from crates.io. No git deps, no private registries.
# (When this changes — e.g., to consume a private Tenuo crate — explicitly
# allowlist the registry/git URL here so the decision is reviewable.)

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