# Memory

Memory is what lets JARVIS carry useful information from one conversation into the next. It is a
deliberate, user-controlled list — not a transcript of everything you have ever said.

## Conversation context vs. memory

These are two different things, and the difference matters.

| | Conversation context | Memory |
| --- | --- | --- |
| Scope | One conversation | Your whole account |
| Lifetime | While that conversation is open | Until you delete it |
| What it holds | What was said in the thread | Short facts you asked JARVIS to keep |
| How it is filled | Automatically, from the messages | Only from explicit requests and a small set of clear statements |
| Where you see it | The conversation itself | The [Memory page](https://jarvis.spacekeep.dev/memory) |

**Conversation context** is temporary. JARVIS reads the thread to understand follow-ups like
*"what about it?"* — but that context does not carry into a new conversation.

**Memory** is persistent. A saved memory is available in future conversations, across days and
devices, until you remove it.

> [!TIP]
> "The context window is limited" is not something you need to think about as a user. If JARVIS
> seems to have lost something, it was never saved as a memory — ask it to remember it.

## Saving a memory

Ask for it directly:

```text
Remember that I prefer TypeScript over JavaScript.
Remember that I'm building a Rust CLI called Ferrox, it ships in March.
Keep in mind that my timezone is UTC+2.
Save this: we deploy on Fridays, never weekends.
Merke dir, dass ich 4K-Monitore bevorzuge.
```

JARVIS acknowledges the save in its reply, so you know it landed.

Beyond explicit requests, JARVIS also picks up a small number of clear project statements — for
example *"I'm building a CLI tool for log rotation"*. It deliberately does not infer preferences or
details from ordinary conversation.

## Categories

Memories are filed into three categories, and you can filter by any of them.

| Category | Holds |
| --- | --- |
| User | Context about you — timezone, setup, constraints |
| Preferences | How you like things done — tools, style, formats |
| Projects | What you are building and what it runs on |

The category is re-derived from the text, so editing a memory re-files it automatically.

## What JARVIS will not store

- **Credentials of any kind** — passwords, API keys, tokens, private keys, connection strings.
  Requests that look like these are not saved at all.
- **Trivial chatter.** Memory is for things that still matter next week.
- **Aggressively inferred facts.** If you did not say it or clearly mean it, it is not kept.

If JARVIS cannot tell whether something is worth keeping, it leaves it in the conversation only.

## Making JARVIS forget

Ask it to forget something, and it removes exactly one matching memory:

```text
Forget that I use TypeScript.
Forget my old project notes.
Don't remember that.
```

JARVIS is conservative here on purpose:

- **One clear match** — it deletes that memory and confirms.
- **Several possible matches** — it asks which one you meant, and deletes nothing until you say.
- **No match** — nothing is deleted, and it says so.

Memories you did not ask about are never touched.

> [!NOTE]
> Asking JARVIS to forget works even when memory is switched off — it only ever deletes data, so
> there is no reason to block it.

## Reviewing and editing

Everything JARVIS has stored is on the [Memory page](https://jarvis.spacekeep.dev/memory):

- **Counts** per category, and a one-click filter.
- **About you** — a summary built from what is actually stored.
- **Search memories…** across content and category.
- **Edit** — change the text; the category updates to match.
- **Delete** — remove a single memory, straight away.

Removal is always per memory — there is no bulk delete, because a bulk action would make it easy
to lose something you wanted. To remove everything, delete each one; see
[Privacy](/jarvis/security/privacy/) for what removing a memory actually removes.

## Turning memory off

[Settings](/jarvis/account/settings/#memory) has a Memory **On / Off** switch.

With memory off:

- No new memories are saved.
- Stored memories are **not** used in replies.

Stored memories are **not** deleted by switching off. They stay on the Memory page until you remove
them, so you can switch memory off, look at what is there, and delete anything you do not want.

## Related

- [Conversations](/jarvis/features/conversations/) — temporary context and saved threads
- [Privacy](/jarvis/security/privacy/) — how memories are stored and who can see them
- [Settings](/jarvis/account/settings/) — the memory switch
