pub struct EvidencePack {
pub schema_version: u32,
pub org: IdentityDID,
pub period: String,
pub framework: ComplianceFramework,
pub equivocation_visibility: HonestyCeiling,
pub generated_at: DateTime<Utc>,
pub rows: Vec<EvidenceRow>,
pub org_bundle: Option<AirGappedOrgBundle>,
}Expand description
A deterministic, offline-verifiable compliance evidence pack.
Fields§
§schema_version: u32Schema version.
org: IdentityDIDThe org whose history this pack covers.
period: StringThe reporting period (free-form, e.g. 2026-Q3).
framework: ComplianceFrameworkThe framework this pack targets.
equivocation_visibility: HonestyCeilingThe honest witness-diversity verdict — NEVER a bare non_equivocation
flag. With only self-run/placeholder witnesses this is policy_met == false (“single-operator — not yet independent”).
generated_at: DateTime<Utc>When the pack was generated (injected clock; never Utc::now() in domain
code). Two runs with the same inputs and timestamp are byte-identical.
rows: Vec<EvidenceRow>One row per classified release.
org_bundle: Option<AirGappedOrgBundle>The embedded, URL-free KEL material (org + member KELs + off-boarding
records + pinned root) that makes authority re-derivable offline. None
for a non-offline pack.
Implementations§
Source§impl EvidencePack
impl EvidencePack
Sourcepub fn canonicalize(&self) -> Result<String, EvidencePackError>
pub fn canonicalize(&self) -> Result<String, EvidencePackError>
Canonicalize with json-canon — the byte-exact, reproducible form an
auditor re-derives and the org signs.
Sourcepub fn from_json(json: &str) -> Result<EvidencePack, EvidencePackError>
pub fn from_json(json: &str) -> Result<EvidencePack, EvidencePackError>
Parse a pack back from its canonical JSON form. Typed identifiers fail closed on malformed input.
Sourcepub fn to_intoto_statement(&self) -> Result<String, EvidencePackError>
pub fn to_intoto_statement(&self) -> Result<String, EvidencePackError>
Render as a canonical in-toto Statement: subject = the artifact digests,
predicate = this pack. The org DSSE signature over these bytes lives in
the SDK’s compliance DSSE module.
Trait Implementations§
Source§impl Clone for EvidencePack
impl Clone for EvidencePack
Source§fn clone(&self) -> EvidencePack
fn clone(&self) -> EvidencePack
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more