The dstack chain signs only purpose || publicKey and appId || appRootPub;
owner, chain and epoch are bound to the key by the TDX quote report_data
(keccak256(userPsId || address)), which v1 stores but does not verify
(DCAP is step 4). Until then the agent's derivation check is the backstop.
Verifies the enclave wallet binding against fleet-provisioned trust anchors.