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 more