Customer service email

The problem

Refund and return requests arrived by email at all hours. Each one needed the same four steps — work out what the customer wants, confirm who they are, find their order, and resolve it — done by hand, one at a time.

The replay

Under the hood: the security fix

Pre-launch UAT with external testers surfaced that an early version of the lookup tools could be asked for one customer's order details while authenticated as a different customer — the tools didn't constrain lookups to the identity that had actually been verified.

The fix was a single authentication gate: identity is resolved exactly once per conversation, and every downstream tool call is constrained to that resolved customer_id for the rest of the interaction. No tool call after that point can be pointed at a different customer, even if the model is prompted to try.