Repository navigation
Expand file tree
/
Copy pathdeny.toml
More file actions
118 lines (110 loc) · 5.16 KB
/
Copy pathdeny.toml
File metadata and controls
118 lines (110 loc) · 5.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# cargo-deny Konfiguration (Spec 0090, A2, A12, A13).
#
# Lizenz-Compliance setzt hier technisch durch, was D1 des Architektur-
# Briefs verbindlich festlegt — keine reine Vorsatz-Regel, sondern ein
# CI-Gate. Erzeugt via `cargo deny init` und auf die tatsächlich
# geprüften Abschnitte reduziert/angepasst (Lizenzen, Herkunft, Banne). Advisories werden bewusst NICHT hier konfiguriert — das bleibt
# `cargo-audit`/`audit.toml` (Spec 0090, A3: Ausnahmen nur an einer
# Stelle, keine doppelte Konfiguration derselben Prüfung); der CI-Job
# ruft entsprechend nur `cargo deny check licenses sources bans` auf, nie
# `cargo deny check advisories`.
[graph]
all-features = false
no-default-features = false
[output]
feature-depth = 1
# This section is considered when running `cargo deny check licenses`.
[licenses]
# Allow-Liste gemäß D1: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC,
# Zlib, Unicode-DFS-2016. Jede Lizenz, die hier NICHT aufgeführt ist, wird
# von cargo-deny standardmäßig abgelehnt (deny-by-default) — kein
# stillschweigendes Durchrutschen neuer Abhängigkeiten mit unklarer/nicht
# erlaubter Lizenz.
#
# Unicode-3.0: Nachfolger-Bezeichner von Unicode-DFS-2016 (dieselbe
# permissive Kategorie, nur neuere/präzisere SPDX-Kennung) — genutzt von der
# ICU4X-Kette (`icu_*`/`zerovec`/`yoke`/`litemap`/`tinystr`/...), transitiv
# über `idna`/`url`. Reines Nachziehen der D1-Liste, keine neue Kategorie.
#
# "Apache-2.0 WITH LLVM-exception" (target-lexicon): Apache-2.0 plus
# zusätzliche Ausnahmeklausel — strikt permissiver als reines Apache-2.0,
# das bereits erlaubt ist. Die kombinierte Erwartung von unicode-ident
# ("(MIT OR Apache-2.0) AND Unicode-3.0") braucht keinen eigenen Eintrag —
# sie ist bereits über die Einzel-Atome MIT/Apache-2.0/Unicode-3.0 erfüllt.
#
# CDLA-Permissive-2.0 (webpki-roots/webpki-root-certs): Community Data
# License Agreement, Permissive 2.0 — deckt die gebündelten Mozilla-CA-
# Root-Zertifikate ab (Daten, kein Code), permissiv, kein Copyleft.
#
# MPL-2.0: laut Spec 0090, A12 nur nach Einzelprüfung erlaubt, nicht pauschal.
# Einzelprüfung durchgeführt (Fund: `cssparser`/`cssparser-macros`/
# `dtoa-short`/`option-ext`/`selectors`, transitiv über
# `dom_query → tauri-utils → tauri`) — Ergebnis: erlauben. Begründung:
# MPL-2.0 ist file-level Copyleft (wirkt nur auf die MPL-lizenzierten
# Dateien selbst, keine virale Ausbreitung in unseren eigenen Code); wir
# modifizieren Tauris interne CSS-Parser-Abhängigkeiten nicht; das ist der
# in der Praxis übliche, unproblematische Fall für eine transitive
# Tooling-Abhängigkeit. Nutzer-Entscheidung eingeholt, nicht eigenmächtig getroffen.
#
# GPL/AGPL/LGPL bewusst NICHT enthalten (Spec 0090, A12) — jeder
# Fund muss dem Menschen gemeldet werden, nie automatisch toleriert werden.
allow = [
"MIT",
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"Unicode-DFS-2016",
"Unicode-3.0",
"Apache-2.0 WITH LLVM-exception",
"CDLA-Permissive-2.0",
"MPL-2.0",
# Boost Software License 1.0 (permissive, OSI-approved; not BUSL).
# Maintainer decision (#358): only `clipboard-win` and `error-code`,
# Windows-only, pulled in by `clipboard-rs`.
"BSL-1.0",
]
confidence-threshold = 0.8
# Unlicense (whisper-rs, whisper-rs-sys; Spracheingabe, Spec 0108): Verzicht
# auf Urheberrechte zugunsten der Allgemeinheit, strikt permissiver als MIT,
# kein Copyleft. Bewusst nur als Ausnahme für diese beiden Crates, nicht in
# der allgemeinen Allow-Liste (ADR 0135). Das gebündelte whisper.cpp ist MIT.
exceptions = [
{ crate = "whisper-rs", allow = ["Unlicense"] },
{ crate = "whisper-rs-sys", allow = ["Unlicense"] },
]
[licenses.private]
# Spec 0090, A12 gilt für Abhängigkeiten, nicht für die eigene Lizenz des
# Projekts (`[workspace.package] license = "Apache-2.0"`, Spec 0099, L1) —
# cargo-deny prüft standardmäßig aber auch Workspace-Member-Crates mit.
# `ignore = true` überspringt Crates, die als `publish = false` markiert
# sind (alle 8 Workspace-Crates, s. deren `Cargo.toml`) — die korrekte,
# enge Lösung (überspringt nur unveröffentlichte eigene Crates), kein
# Eintrag der eigenen Lizenz in die Allow-Liste, die weiterhin
# ausschließlich für Drittanbieter-Abhängigkeiten gilt.
ignore = true
# This section is considered when running `cargo deny check bans`.
[bans]
# Für Banne gibt Spec 0090 keine eigenen Regeln vor (A12/A13 betreffen
# Lizenzen und Herkunft) — Default-Werte belassen, damit dieser CI-Job nicht wegen harmloser
# transitiver Versions-Divergenzen rot wird, die nichts mit Lizenz/Herkunft
# zu tun haben.
multiple-versions = "warn"
wildcards = "allow"
highlight = "all"
workspace-default-features = "allow"
external-default-features = "allow"
# This section is considered when running `cargo deny check sources`.
[sources]
# Nur crates.io als erlaubte Quelle (Spec 0090, A13) — keine
# Git-Abhängigkeiten oder unbekannten Registries ohne bewusste, kommentierte
# Ausnahme hier (`allow-git`/`sources.allow-org` bleiben leer).
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []
[sources.allow-org]
github = []
gitlab = []
bitbucket = []