Skip to main content

Memory

Memory is opt-in, off by default, and forgettable at any granularity. The agent captures preferences and context across conversations to personalize future turns, but only after you say yes. You can revoke consent at any time, forget a single memory, or wipe everything.

Memory, opt-in and forgettable

The lifecycle is the trust mechanic. The agent never extracts or injects until you opt in. Once you do, it captures preferences and context, folds them into your profile, and uses them to tailor future turns. Every step is visible and reversible.

Memory is off by default. The consent toggle lives in Settings, under "Remember me."

Let the agent capture preferences and context across conversations to personalize future turns. Off by default. You can revoke this at any time.

Flipping the toggle calls the consent endpoint. On success, a notice says "Memory capture enabled" or "Memory capture disabled." Revoking consent does not erase what was already captured. Use "Forget me" for that.

2. The Personalized pill

When a turn uses your saved memory, a "Personalized" pill with a sparkles icon appears at the top of the assistant turn. The pill shows a count of how many memories were used.

Click the pill and a popover opens: "What the agent used this turn." Each memory is listed with its category and content. A footnote says "Manage what the agent remembers in Settings, Memory."

If the agent used memory but the full projections are not available, the popover falls back to a count. The shell is forward-compatible as the backend ships each field.

3. The capture row

When a turn captures new memories, a "Remembered N things this turn" row appears below the answer. Expand it and each captured memory renders as a card with a category badge, a "from source" label, the content, and a forget button.

You can forget any of these. The agent will not use it next time.

4. Forget one

Each memory card has a forget button. Click it and a confirm asks: "Forget this memory? The agent will not use it next time." On confirm, the memory is deleted. A notice says "Memory forgotten."

In-thread forget is also available on the Personalized pill's popover. The per-memory forget is the everyday "forget that one thing" action. A caller cannot delete another org's memory by guessing the id. The org-scoped predicate defends cross-tenant erasure.

5. Forget all

The bulk wipe is the "Forget me" button in Settings, under "What the agent knows about me." A confirm asks: "Forget everything the agent has learned about you? This cannot be undone." On confirm, the profile and all entries are cleared. Consent state is also cleared. A user who deletes their memory has implicitly withdrawn consent. A notice says "Your memory has been erased."

The DSR export

The "What the agent knows about me" section in Settings is the self-service DSR (data subject request) surface. "Load memories" pulls the full export: the active profile (preferences, sentiment, traits, consent state, pending and promoted entries) plus all entries for full DSR disclosure.

A formal DSR bundle (legal basis, verification, cross-system artifact collection) routes through the existing DSR service. This section provides the memory-scoped artifacts the formal bundle would collect.

The feedback loop

Thumbs up and thumbs down on a turn feed the memory extraction service. A downvote with a comment is a negative signal: the agent should not learn what it just suggested. The comment also acts as a training signal. This keeps the memory from drifting toward bad suggestions.

Where to go next

  • Chat shell for where the Personalized pill and capture row land in the settled turn.
  • Receipts for the signed receipts that record memory operations.
  • Prompts for asks that exercise memory, like "remember that I prefer plain-text summaries."