Release v4.3.0
Added
PrincipalKind::Device— hardware-bound identity variant for IoT devices,
edge nodes, and TPM/Secure-Enclave-backed principals. Distinct fromService
because identity is pinned to physical hardware, not to a deployed software
service.PrincipalKind::Agent— first-class variant for autonomous AI / automation
principals (LLM agents, scheduled bots). Distinct fromServiceso credential
policy can apply agent-specific floors (shorter TTLs, smaller scope).Principal::device(uuid: Uuid)— constructor mirroringhuman()with the
same anti-PII guarantee (UUID-only, no labels or serial numbers in audit
output). Requiresuuidfeature.Principal::agent(id: &'static str)— constructor mirroringsystem()
for stable, named agent roles.- Both new variants are wired into the
arbitraryandproptestArbitrary
impls forPrincipalKind.
These additions are non-breaking: PrincipalKind is #[non_exhaustive].
Required by quorumauth to distinguish hardware-bound and AI-agent principals
in its credential-policy floor.