pub struct Posture {
pub signed: bool,
pub encrypted: bool,
}Expand description
A node’s (or a discovered peer’s) trust posture: two orthogonal cryptographic dimensions.
signed— a usable cryptographic identity is present (the node can sign and speak mTLS). This is exactly Koi’s historical “secure” bit (ADR-016 §2).encrypted— group-key confidentiality is available (the future Confidential rung; staysfalseuntil theseal/openencryption rung lands, ADR-020 §4).
Every mode-transparent primitive (sign/verify, serve, client_for, require_auth, seal/open) consults this and adapts. Wire-stable (serde + schema) so a peer’s posture can travel in discovery and the published wire contract (ADR-020 §9).
Fields§
§signed: boolA usable cryptographic identity is present (can sign / speak mTLS).
encrypted: boolGroup-key confidentiality is available (the future Confidential rung).
Implementations§
Source§impl Posture
impl Posture
Sourcepub const fn level(self) -> PostureLevel
pub const fn level(self) -> PostureLevel
The named level this posture resolves to.
encrypted without signed is meaningless (no confidential trust without
an identity), so any unsigned posture is PostureLevel::Open.
Trait Implementations§
impl Copy for Posture
Source§impl<'de> Deserialize<'de> for Posture
impl<'de> Deserialize<'de> for Posture
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 Posture
Source§impl From<Posture> for PostureLevel
impl From<Posture> for PostureLevel
impl StructuralPartialEq for Posture
Auto Trait Implementations§
impl Freeze for Posture
impl RefUnwindSafe for Posture
impl Send for Posture
impl Sync for Posture
impl Unpin for Posture
impl UnsafeUnpin for Posture
impl UnwindSafe for Posture
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.