pub struct EvidenceBundle {Show 16 fields
pub evidence_version: EvidenceBundle_EvidenceVersion,
pub bundle_id: String,
pub trust_domain: TrustDomain,
pub incident: EvidenceBundle_Incident,
pub actors: Option<Vec<ActorId>>,
pub events: Vec<ProofEvent>,
pub policy_decisions: Vec<PolicyDecision>,
pub approvals: Vec<ApprovalResponse>,
pub ceremonies: Option<Vec<ApprovalCeremony>>,
pub quorum_outcomes: Option<Vec<EvidenceBundle_QuorumOutcomes_Item>>,
pub anchors: Option<Vec<EvidenceBundle_Anchors_Item>>,
pub encrypted_payload: Option<ProofBundleEncrypted>,
pub level: Option<EvidenceBundle_Level>,
pub issued_at: Timestamp,
pub issuer: ActorId,
pub signature: SignatureEnvelope,
}Expand description
Compliance / legal evidence bundle (TF-0012). Captures who acted, what authority they had, what policy allowed/denied the action, what approval was given, whether quorum was met, what proof was generated, when it happened, and whether the event chain is tamper-evident.
Fields§
§evidence_version: EvidenceBundle_EvidenceVersionVersion of the evidence-bundle schema.
bundle_id: StringStable identifier for this evidence bundle.
trust_domain: TrustDomain§incident: EvidenceBundle_IncidentIncident the bundle is collecting evidence for.
actors: Option<Vec<ActorId>>Distinct actors involved in this incident.
events: Vec<ProofEvent>Proof events that constitute the audit trail. Order is the original hash-chain order.
policy_decisions: Vec<PolicyDecision>Policy decisions consulted while the incident unfolded.
approvals: Vec<ApprovalResponse>Approval responses captured during the incident.
ceremonies: Option<Vec<ApprovalCeremony>>Ceremony records for each approval (so audits can see how each approval was collected).
quorum_outcomes: Option<Vec<EvidenceBundle_QuorumOutcomes_Item>>Quorum outcomes for any quorum-bound approval that resolved during the incident.
anchors: Option<Vec<EvidenceBundle_Anchors_Item>>Transparency-log / RFC 3161 anchors that strengthen this evidence.
encrypted_payload: Option<ProofBundleEncrypted>Optional L4 sealed evidence — the events array may be empty if the payload is sealed.
level: Option<EvidenceBundle_Level>Highest proof level any single event in this bundle was emitted at.
issued_at: Timestamp§issuer: ActorId§signature: SignatureEnvelopeTrait Implementations§
Source§impl Clone for EvidenceBundle
impl Clone for EvidenceBundle
Source§fn clone(&self) -> EvidenceBundle
fn clone(&self) -> EvidenceBundle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EvidenceBundle
impl Debug for EvidenceBundle
Source§impl<'de> Deserialize<'de> for EvidenceBundle
impl<'de> Deserialize<'de> for EvidenceBundle
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for EvidenceBundle
impl PartialEq for EvidenceBundle
Source§fn eq(&self, other: &EvidenceBundle) -> bool
fn eq(&self, other: &EvidenceBundle) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for EvidenceBundle
impl Serialize for EvidenceBundle
impl StructuralPartialEq for EvidenceBundle
Auto Trait Implementations§
impl Freeze for EvidenceBundle
impl RefUnwindSafe for EvidenceBundle
impl Send for EvidenceBundle
impl Sync for EvidenceBundle
impl Unpin for EvidenceBundle
impl UnsafeUnpin for EvidenceBundle
impl UnwindSafe for EvidenceBundle
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more