pub struct DecisionSubject {
pub handle: String,
pub scheme: Option<String>,
pub purpose: Option<String>,
}Expand description
The party a decision is about, as a pseudonymous reference.
A handle, not an identity: it addresses a party without naming one, so a record can say who a decision concerned without becoming a place personal data accumulates. Resolving it back to a person is a separate authority’s job, and deliberately not this one’s.
Its integrity comes from the record that carries it — every entry here is signed and chained — so a handle read out of a verified record is as trustworthy as the record, and one read anywhere else is not trustworthy at all.
Fields§
§handle: StringThe pseudonymous reference itself.
scheme: Option<String>The namespace the handle belongs to, and so how it could be resolved.
purpose: Option<String>What the handle was minted for. Pairwise per purpose, so the same party is not linkable across two of them.
Trait Implementations§
Source§impl Clone for DecisionSubject
impl Clone for DecisionSubject
Source§fn clone(&self) -> DecisionSubject
fn clone(&self) -> DecisionSubject
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 DecisionSubject
impl Debug for DecisionSubject
Source§impl<'de> Deserialize<'de> for DecisionSubject
impl<'de> Deserialize<'de> for DecisionSubject
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Accepts a bare handle or the full object, since a caller with nothing to say about scheme or purpose should not have to write an object to say it.