The failure: A production AI support agent serves hundreds of customers on a shared deployment. The agent uses an in-memory context cache to speed up responses — keyed on session tokens. Under load, a cache key collision causes User A's conversation state to be read during User B's session. The agent doesn't notice. It starts referencing User A's data in responses to User B. User B sees another customer's email, account details, and billing info in their chat window.
This is real: tracked in openclaw/openclaw issue #15990, reported in shared vector DBs (AI Weekly, May 2026), and documented in multiple production post-mortems. The fix requires tenant namespacing at every state layer — context, memory, tool results, and cache.
ctx:{tenant_id}:{session_id}:* — NEVER bare session tokens as keys
user_id == session.user_id before returning