pub struct GrantEntry {
pub pubkey: String,
pub scope: Vec<String>,
pub issued_at: String,
pub expires_at: String,
pub issuer: String,
}Expand description
A short-lived agent grant: an ephemeral identity with read access to a
narrow set of keys. The grant’s pubkey is also a Vault::recipients
entry, and each granted key carries a scoped ciphertext under that pubkey —
so the agent’s access is governed (and MAC-covered) by the scoped entries.
This record is the audit/TTL layer: it lives in the encrypted meta (so an
agent’s existence and scope don’t leak) and is covered by the keyed MAC
(blake3v5:) so TTL, scope, and issuer cannot be tampered with undetected.
Fields§
§pubkey: StringThe agent’s ephemeral age public key (also in Vault::recipients).
scope: Vec<String>Keys this grant can read (the --only set). Display/audit only — actual
access is the set of scoped ciphertexts encrypted to pubkey.
issued_at: StringWhen the grant was issued (ISO-8601 UTC).
expires_at: StringAdvisory expiry (ISO-8601 UTC). agent ls flags grants past this; nothing
auto-revokes. age keys cannot self-destruct, so the real close is
agent revoke + rotate.
issuer: StringPubkey of the recipient who issued the grant (minimal accountability).
Trait Implementations§
Source§impl Clone for GrantEntry
impl Clone for GrantEntry
Source§fn clone(&self) -> GrantEntry
fn clone(&self) -> GrantEntry
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 GrantEntry
impl Debug for GrantEntry
Source§impl Default for GrantEntry
impl Default for GrantEntry
Source§fn default() -> GrantEntry
fn default() -> GrantEntry
Source§impl<'de> Deserialize<'de> for GrantEntry
impl<'de> Deserialize<'de> for GrantEntry
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>,
impl Eq for GrantEntry
Source§impl PartialEq for GrantEntry
impl PartialEq for GrantEntry
Source§fn eq(&self, other: &GrantEntry) -> bool
fn eq(&self, other: &GrantEntry) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for GrantEntry
impl Serialize for GrantEntry
impl StructuralPartialEq for GrantEntry
Auto Trait Implementations§
impl Freeze for GrantEntry
impl RefUnwindSafe for GrantEntry
impl Send for GrantEntry
impl Sync for GrantEntry
impl Unpin for GrantEntry
impl UnsafeUnpin for GrantEntry
impl UnwindSafe for GrantEntry
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
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