pub struct DeviceBinding {
pub device_id: String,
pub display_name: String,
pub platform: Option<String>,
pub registered_at: String,
pub last_seen_at: Option<String>,
pub disabled_at: Option<String>,
pub wiped_at: Option<String>,
pub hpke_public_key: Option<String>,
pub wake: Option<WakeChannel>,
}Expand description
Metadata for a registered Companion/Service device. M1 stores the field
shape so the ACL row can carry it forward; the registration flow that
populates it lands in M4 (device/register/0.1).
Wire form mirrors the canonical Trust Task shared schema
device/_shared/0.1/device-binding#/$defs/DeviceBinding.
Fields§
§device_id: String§display_name: String§platform: Option<String>§registered_at: StringRFC 3339 — when the device claimed its binding via device/register/0.1.
last_seen_at: Option<String>RFC 3339 — refreshed on every heartbeat / successful auth.
disabled_at: Option<String>§wiped_at: Option<String>§hpke_public_key: Option<String>X25519 public key (did:key form) the maintainer HPKE-seals payloads to
(sealed secrets, session blobs, sync events). Supplied by the device at
device/register/0.1. None on legacy rows and pure ACL entries.
wake: Option<WakeChannel>Push wake channel (opaque gateway handle + VTA-owned trigger allowlist).
None until the device conveys a handle via device/set-wake/0.1;
absent on legacy rows. The push token is never stored here.
Implementations§
Source§impl DeviceBinding
impl DeviceBinding
Sourcepub fn push_capable(&self) -> bool
pub fn push_capable(&self) -> bool
The non-secret pushCapable visibility flag (push binding §2): the
device has a usable wake channel — a handle is set and the device is
neither disabled nor wiped.
Trait Implementations§
Source§impl Clone for DeviceBinding
impl Clone for DeviceBinding
Source§fn clone(&self) -> DeviceBinding
fn clone(&self) -> DeviceBinding
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more