pub struct IdentityClaims {
pub op_did: Option<String>,
pub op_cert: Option<String>,
pub op_pubkey: Option<String>,
pub org_memberships: Vec<OrgMembership>,
pub project: Option<String>,
}Expand description
Identity claims that may be layered onto an agent card. Each field is independently optional — a card may declare an operator anchor without an org membership, or an org membership without a project tag. The fields are orthogonal axes per RFC-001.
Fields§
§op_did: Option<String>Operator DID — did:wire:op:<handle>-<32hex>. Must satisfy
is_op_did(...). The operator’s root key separately signs
op_cert over the session DID this card belongs to, anchoring
the session under the operator.
op_cert: Option<String>Base64 Ed25519 signature by the operator’s key over this card’s
session DID (UTF-8 bytes). Verifiable with identity::verify_op_cert.
Meaningful only when op_did is set.
op_pubkey: Option<String>Base64 Ed25519 operator root public key, carried inline so the operator
binding verifies offline — op_did commits to this key and op_cert is
checked against it. Set whenever op_did is set; without it the operator
claim is unverifiable and a receiver fails it closed (RFC-001 Phase 1).
org_memberships: Vec<OrgMembership>Zero or more org membership entries. An operator may sit in multiple orgs simultaneously; each entry stands on its own.
project: Option<String>Opaque routing tag — NEVER trust-bearing. RFC-001 §6.
Trait Implementations§
Source§impl Clone for IdentityClaims
impl Clone for IdentityClaims
Source§fn clone(&self) -> IdentityClaims
fn clone(&self) -> IdentityClaims
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more