# AX-SYS-33: Scope agent memory, and let people see and erase it

> Memory and state · intermediate · AX-SYS-33

Store what an agent remembers in a place you control, scoped to one user and one project, with an expiry, and give people a way to read, correct and delete each entry.

## Why

Memory lets an agent pick up where the last conversation ended. It also turns one bad inference into a standing instruction: if the agent wrongly records that a customer prefers store credit, every later refund follows that note, and nobody can fix what nobody can see. Anthropic's memory tool shows where the responsibility sits. It operates client-side: the model only requests file operations, and your application decides where and how the data is stored, for example in a per-user directory or as keys in a database. Its security guidance also falls to you: strip sensitive data before a write, cap how large a file can grow, and periodically delete memory files that have not been accessed in a long time. Anthropic applies the same rules to people in its own product. In Claude, a user can see exactly what is remembered, open any topic, edit or delete it, keep each project's memory separate from other projects, and reset all of it permanently. A product that keeps memory for agents owes its users the same controls. [AX-SYS-16](ax-sys-16-persist-state-across-workflows.mdx) keeps one task's progress alive; this principle covers what persists between tasks and who can inspect it.

## Do

Key memory by user and project, expire entries nobody uses, and expose list, edit and delete for every entry and for the whole store.

## Don't

Keep agent memory in a store only the agent can read, or let it hold secrets and stale facts indefinitely.

## Artifact

```http
GET /v1/agents/acme-support-bot/memory?user=usr_481&project=refunds
```

```json
{
  "scope": { "user": "usr_481", "project": "refunds" },
  "entries": [
    {
      "id": "mem_07",
      "text": "Prefers refunds to the original card, not store credit",
      "source": "conv_2291",
      "last_used": "2026-09-28",
      "expires_at": "2027-03-28",
      "actions": ["edit", "delete"]
    }
  ],
  "delete_all": "DELETE /v1/agents/acme-support-bot/memory?user=usr_481&project=refunds"
}
```

Each entry names the conversation it came from, so a person who finds a wrong fact can see where it started before deleting it.

## Citations

1. [Claude Docs: Memory tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool): The memory tool operates client-side: Claude requests file operations and your application executes them, so you control where and how the data is stored, for example in a per-user directory or keys in a database. Its security guidance says to strip sensitive data before writing, cap file sizes, and periodically delete memory files that haven't been accessed in a long time
2. [Claude Help Center: Use Claude's chat search and memory to build on previous context](https://support.claude.com/en/articles/11817273): Users can see exactly what Claude remembers in Settings > Memory, select any topic to read it, edit it or delete it; each project has its own separate memory space; Reset memory permanently deletes all memories, including project memories

---
Source: Agent Experience Principles (axprinciples.com)