Memory model
Two layers, one recall
UltraMemory keeps two kinds of memory: a private layer that belongs to you alone, and a curated company-knowledge layer that every member's recall draws from. Here's how each works — and the four ways memory gets in.
Your memory — the private layer
This is your AI's memory of you. Every fact your AI saves lands here — private to your login, recalled automatically in your conversations. Retire anything you don't want it to bring up again, from Memory in your dashboard.
Company knowledge — the curated global layer
On multi-seat plans, owners and admins curate a shared layer — everything in it becomes part of every member's recall. Add an update with the same Entity + Key to replace old information: update ‘H1000 / replacement-part’ and every member's AI answers with the new part; the old version retires with its dates.
How updates supersede
Facts are bitemporal. Writing to the same entity + keysupersedes the prior active fact: the old row isn't deleted — it retires with its dates preserved, and recall serves only active facts from that moment on. “What was true in March?” is still answerable. Old truth retires. Current truth answers. Nothing is ever silently made up.
See the full walkthrough with API examples — bitemporal supersede →
Stale-check
The dashboard's Stale-check is an audit of company knowledge that may have gone stale — facts nobody recalls, facts we're not confident in, and pairs that look like they disagree. Keep what still holds; retire what doesn't.
Four ways to add memory
| Method | How | Layer |
|---|---|---|
| In chat, via your connected AI | Automatic — your AI saves facts as you talk, no extra steps. | Private |
| Paste text | Dashboard → Memory → Company knowledge → Add documents (owners & admins). | Company knowledge |
| Upload files | Same place — drag & drop .pdf / .docx / .md / .txt / .csv(owners & admins). | Company knowledge |
| API / MCP | memory_write — pass space:"shared" for the team layer. See the usage guide. | Private or shared |