jouleclaw-compliance: EU Cyber Resilience Act Article 14 reporting as an auditable filing chain #282
4 changed files with 1421 additions and 1 deletions
2
jouleclaw/jouleclaw-rs/Cargo.lock
generated
2
jouleclaw/jouleclaw-rs/Cargo.lock
generated
|
|
@ -3280,9 +3280,11 @@ version = "0.1.0"
|
|||
dependencies = [
|
||||
"blake3",
|
||||
"chrono",
|
||||
"ed25519-dalek",
|
||||
"jouleclaw-core",
|
||||
"jouleclaw-energy",
|
||||
"jouleclaw-prov",
|
||||
"jouleclaw-transparency-log",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
|
|
|
|||
|
|
@ -6,14 +6,18 @@ rust-version.workspace = true
|
|||
authors.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
description = "Regulatory-compliance wedge for JouleClaw: ISO/IEC 21031 SCI calculator, signed AI-service energy passport (BLAKE3-hashed for tamper evidence), and CSRD Scope-3 / EU AI Act / EED / ESPR report generators. Built on jouleclaw-energy + jouleclaw-prov."
|
||||
description = "Regulatory-compliance wedge for JouleClaw: ISO/IEC 21031 SCI calculator, signed AI-service energy passport (BLAKE3-hashed for tamper evidence), and CSRD Scope-3 / EU AI Act / EED / ESPR report generators. Built on jouleclaw-energy + jouleclaw-prov. Also an EU Cyber Resilience Act Article 14 filing chain: hash-linked, Merkle-logged, with each stage's deadline."
|
||||
|
||||
[dependencies]
|
||||
jouleclaw-core = { path = "../jouleclaw-core" }
|
||||
jouleclaw-energy = { path = "../jouleclaw-energy" }
|
||||
jouleclaw-prov = { path = "../jouleclaw-prov" }
|
||||
jouleclaw-transparency-log = { path = "../jouleclaw-transparency-log" }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
thiserror.workspace = true
|
||||
chrono = { workspace = true }
|
||||
blake3 = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
ed25519-dalek = { workspace = true }
|
||||
|
|
|
|||
1404
jouleclaw/jouleclaw-rs/crates/jouleclaw-compliance/src/cra.rs
Normal file
1404
jouleclaw/jouleclaw-rs/crates/jouleclaw-compliance/src/cra.rs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -13,6 +13,10 @@
|
|||
//! - **EU compliance reports** — EED (Energy Efficiency Directive),
|
||||
//! CSRD Scope 3, EU AI Act energy disclosure, ESPR Digital Product
|
||||
//! Passport. See [`eu_compliance`].
|
||||
//! - **EU Cyber Resilience Act, Article 14 reporting** — one case's early
|
||||
//! warning, notification and final report as a hash-linked filing chain,
|
||||
//! each filing a leaf in a Merkle log with an inclusion-proof receipt, and
|
||||
//! each stage's statutory deadline read off the chain. See [`cra`].
|
||||
//!
|
||||
//! Every passport links a [`passport::MeasurementMethod`] to a
|
||||
//! [`jouleclaw_energy::Provenance`] tag — measurement honesty travels
|
||||
|
|
@ -40,7 +44,13 @@ pub mod sci;
|
|||
pub mod banding;
|
||||
pub mod passport;
|
||||
pub mod eu_compliance;
|
||||
pub mod cra;
|
||||
|
||||
pub use cra::{
|
||||
Art14Subject, ChainError, DeadlineState, FiledReceipt, Filing, FilingChain, FilingStage,
|
||||
ProductStatement, ProductStatus, ReceiptError, Revision, StageDeadline,
|
||||
article_14_applies_from,
|
||||
};
|
||||
pub use eu_compliance::{
|
||||
AiActReport, CsrdScope3Report, CustomerAllocation, EedReport, EsprReport,
|
||||
generate_ai_act_report, generate_csrd_scope3, generate_eed_report,
|
||||
|
|
|
|||
Loading…
Reference in a new issue