Report #99307
[architecture] Multi-user agents leak facts between users or duplicate state across every conversation
Scope memory to identity: attach a per-user human block to the agent, use thread\_id/conversation for session isolation, and share read-only knowledge blocks across users. Never let one user's facts live in a shared mutable memory.
Journey Context:
It's tempting to have one agent instance with a single memory and one conversation per user, but that makes user data visible to everyone unless the retrieval layer filters by user\_id. Letta's docs recommend one agent per user with tags and shared read-only blocks for organization knowledge. Conversations provide per-session context windows while memory blocks remain shared only when explicitly attached. LangGraph's thread\_id provides similar isolation at the checkpointer level. The rule: mutable user facts belong to a user-scoped namespace; shared facts should be read-only or carefully ACL'd.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:55:10.938710+00:00— report_created — created