pub struct ContextObjectPassportV1 {Show 13 fields
pub schema_version: u32,
pub object: Sha256Digest,
pub source: SourceRefV1,
pub principal: PrincipalV1,
pub task: Option<TaskId>,
pub classification: ClassificationV1,
pub trust: TrustLevelV1,
pub policy_refs: Vec<PolicyRefV1>,
pub risk_signals: Vec<DetectorSignalV1>,
pub destination_constraints: Vec<DestinationConstraintV1>,
pub tokens: u64,
pub bytes: u64,
pub lineage: Vec<TransformationRecordV1>,
}Expand description
Security and optimisation metadata that travels with one object. Content is referenced by digest, never embedded.
Fields§
§schema_version: u32§object: Sha256Digest§source: SourceRefV1§principal: PrincipalV1§task: Option<TaskId>§classification: ClassificationV1§trust: TrustLevelV1§policy_refs: Vec<PolicyRefV1>§risk_signals: Vec<DetectorSignalV1>§destination_constraints: Vec<DestinationConstraintV1>§tokens: u64§bytes: u64§lineage: Vec<TransformationRecordV1>Implementations§
Source§impl ContextObjectPassportV1
impl ContextObjectPassportV1
pub fn validate(&self) -> Result<(), ValidationError>
Sourcepub fn derive(
inputs: &[&Self],
step: TransformationRecordV1,
source: SourceRefV1,
tokens: u64,
bytes: u64,
) -> Result<Self, ValidationError>
pub fn derive( inputs: &[&Self], step: TransformationRecordV1, source: SourceRefV1, tokens: u64, bytes: u64, ) -> Result<Self, ValidationError>
Passport of an object derived from inputs by step (selection,
summary, dedup, …). Information-flow rule: the result is at least as
restricted as every input — classification is the join, constraints,
policies and risk signals accumulate, trust drops to the least trusted
input. Inputs must share one principal: context never silently crosses
principals.
Trait Implementations§
Source§impl Clone for ContextObjectPassportV1
impl Clone for ContextObjectPassportV1
Source§impl Debug for ContextObjectPassportV1
impl Debug for ContextObjectPassportV1
Source§impl<'de> Deserialize<'de> for ContextObjectPassportV1
impl<'de> Deserialize<'de> for ContextObjectPassportV1
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ContextObjectPassportV1
Source§impl PartialEq for ContextObjectPassportV1
impl PartialEq for ContextObjectPassportV1
Source§impl Serialize for ContextObjectPassportV1
impl Serialize for ContextObjectPassportV1
impl StructuralPartialEq for ContextObjectPassportV1
Auto Trait Implementations§
impl Freeze for ContextObjectPassportV1
impl RefUnwindSafe for ContextObjectPassportV1
impl Send for ContextObjectPassportV1
impl Sync for ContextObjectPassportV1
impl Unpin for ContextObjectPassportV1
impl UnsafeUnpin for ContextObjectPassportV1
impl UnwindSafe for ContextObjectPassportV1
Blanket Implementations§
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
Mutably borrows from an owned value. Read more