dotlock-bin 1.2.0

Encrypted project-local environment variables manager
# cargo-deny configuration (Phase 5 dependency hygiene).
# Run locally with: cargo deny check advisories licenses
# Rationale for every acknowledged advisory: docs/adr/0001-crypto-dependencies.md

[graph]
all-features = true

[advisories]
# Any advisory NOT listed here fails the check — new/unexpected advisories
# are denied by default.
ignore = [
    # rsa 0.9.x "Marvin" timing side-channel; no upstream fix available.
    # Since the Ed25519/X25519 migration, NO normal operation performs RSA
    # decryption: new identities are Ed25519, wraps are X25519 sealed boxes,
    # and signatures are Ed25519. The vulnerable primitive (RSA private-key
    # decryption) is reachable ONLY for legacy interop — unlocking a vault
    # whose recipient entry predates `dl cert migrate`, and the single final
    # unwrap performed by the migration itself. Local short-lived CLI, no
    # remote timing oracle. See docs/adr/0001-crypto-dependencies.md.
    { id = "RUSTSEC-2023-0071", reason = "no upstream fix; RSA decryption only reachable on the legacy-interop/migration path (`dl cert migrate`), never in normal ops; see ADR 0001" },
]
# Unmaintained TRANSITIVE crates (e.g. `fxhash` via `inquire`,
# RUSTSEC-2025-0057) are monitored, not fatal — we cannot fix them without
# forking the parent; a DIRECT unmaintained dependency still fails the check.
# Monitored in ADR 0001.
unmaintained = "workspace"
# `spin 0.9.8` is a yanked transitive dependency (yanked != vulnerable; the
# lockfile still resolves it). Warn instead of deny until the parent crates
# move off it — monitored in ADR 0001; flip to "deny" afterwards.
yanked = "warn"

[licenses]
allow = [
    "MIT",
    "Apache-2.0",
    "Apache-2.0 WITH LLVM-exception",
    "BSD-3-Clause",
    "ISC",
    "Unicode-3.0",
    "Zlib",
    # `colored` is MPL-2.0 (file-level copyleft only; used unmodified as a
    # library dependency, which imposes no obligations on this binary).
    "MPL-2.0",
]

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

[sources]
unknown-registry = "deny"
unknown-git = "deny"