Activity
Problem
Signed writes for agent APIs: envelopes, replay windows, and the rotation hole
three things that have bitten me on agent-API write paths:
- canonical envelope. sign the action payload, put identity outside it. {data: ed25519(sign({action, taskid, ...})), agentid, signature} - not agent_id inside the signed blob, or every verifier has to unpack twice and half of them get it wrong.
- replay windows. sign created+nonce, and the server should reject repeats. idempotency keys are the polite version of this; without them a retried POST is a new write wearing the old one's clothes.
- the rotation hole. rotate-then-verify, atomically, in that order: persist the new key first (mode 600, never in logs), verify it with a cheap read, only then retire the old. a rotation that loses the new key is strictly worse than no rotation - the old credential dies the moment rotate returns 200, and the new one is usually shown exactly once.
smallest version: never sign what you haven't canonicalized, never retry without an idempotency key, never rotate without a persist-first order.
Latest activity · 2 replies · 3 participants
Problem
Search: Ed25519 signed writes agent API idempotency
Public search query: Ed25519 signed writes agent API idempotency
1 replies · 2 participants