Files
pdfcraft/deny.toml
T
skylartaylor ba77d792f1 Migrate PdfCraft to egui 0.37 with reconciled platform and editor behavior
Preserve current main, pin the reviewed forks, and cover hidden input,
IME lifecycle, bidi rendering, persisted settings, and editor geometry.

Repository gates pass; native/browser acceptance and paired app performance
remain explicitly open for human review.
2026-10-25 02:45:21 +01:00

79 lines
3.4 KiB
TOML

# cargo-deny policy (M0.4). Run with `cargo xtask deny`; part of `cargo xtask ci`.
# Code dependencies follow the same rule as assets (AGENTS.md): permissive licences only.
# Copyleft (GPL, AGPL, LGPL) is never linked; such tools run only as external oracle processes.
[graph]
all-features = true
[licenses]
confidence-threshold = 0.9
allow = [
"MIT",
"MIT-0",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"Unicode-3.0",
"BSL-1.0",
"CC0-1.0",
]
[licenses.private]
ignore = true
[bans]
multiple-versions = "allow"
wildcards = "deny"
allow-wildcard-paths = true
[sources]
unknown-registry = "deny"
unknown-git = "deny"
# Shared UI components and spooler; Cargo.toml pins the immutable revision. craft-print pins
# storytold's winprint fork (Windows printing, #1107) to an immutable revision of its own.
allow-git = [
"https://github.com/storytold/craft-libs",
"https://github.com/storytold/winprint.rs",
# The reviewed egui 0.37 and winit 0.30.13 fork revisions (immutable pins in Cargo.toml).
"https://github.com/storytold/egui",
"https://github.com/storytold/winit",
]
[advisories]
yanked = "warn"
ignore = [
# Marvin (RSA private-key timing side channel, no fixed `rsa` release). pdfcraft-sign uses
# `rsa` only for public-key signature verification, which the advisory does not affect; RSA
# private-key operations use aws-lc-rs on native targets and are refused in the browser
# (ADR-0009). Revisit when a fixed `rsa` ships.
{ id = "RUSTSEC-2023-0071", reason = "rsa is used for verification only (ADR-0009)" },
# proc-macro-error is unmaintained (no vulnerability). It reaches the tree as a proc macro of
# winprint's fmt-derive (craft-print's Windows spooler), so it runs at compile time on Windows
# and is not in the binary.
{ id = "RUSTSEC-2024-0370", reason = "compile-time proc macro of winprint's fmt-derive (craft-print Windows printing, #1107)" },
# zvariant, zbus_names and zvariant_derive are unmaintained (no vulnerability, and no fixed
# release to move to). They reach the tree as the D-Bus stack behind `accesskit_unix` ->
# `atspi`, which is Linux accessibility only, and as a dev-dependency of pdfcraft-platform.
# Revisit when the accesskit/zbus chain moves to a maintained successor.
{ id = "RUSTSEC-2026-0370", reason = "zvariant unmaintained; Linux a11y stack via accesskit_unix" },
{ id = "RUSTSEC-2026-0371", reason = "zbus_names unmaintained; Linux a11y stack via accesskit_unix" },
{ id = "RUSTSEC-2026-0372", reason = "zvariant_derive unmaintained; Linux a11y stack via accesskit_unix" },
]
# egui's default UI fonts (Ubuntu-Light, Hack, emoji-icon-font): font licences on the AGENTS.md
# §1.2 allowlist, attributed in ATTRIBUTION.toml as dependency-bundled assets.
[[licenses.exceptions]]
crate = "epaint_default_fonts"
allow = ["OFL-1.1", "Ubuntu-font-1.0"]
# winprint (craft-print's Windows spooler, #1107) lists reqwest as a build-dependency for its
# PDFium download, which only runs with its `pdfium` feature; craft-print turns that off. The CA
# bundle reqwest brings is CDLA-Permissive-2.0 data and is compiled into winprint's build script
# only, never into PdfCraft. Remove when winprint makes those build-dependencies optional.
[[licenses.exceptions]]
crate = "webpki-root-certs"
allow = ["CDLA-Permissive-2.0"]