Every AI vendor is shipping a memory feature right now — ChatGPT remembers, Claude remembers, Gemini remembers. Read past the marketing and it's the same play with different branding: keep your context inside their walls so switching costs you something. That's a retention mechanic, not a feature built for you.
Engram is my bet against that. It's a browser extension that captures what you talk about across ChatGPT, Claude, and Perplexity, stores it locally, and resurfaces it wherever you're actually working — not just inside whichever app you typed it into. Your context follows you. No vendor gets to hold it hostage.
This isn't for everyone. If you live entirely inside one assistant, its native memory is fine — use it. This is for people who bounce across three tools a day, the way I do, and feel the tax of re-explaining the same thing every time they switch.
Under the hood: it tags what each conversation was actually about, links related threads across platforms and time, and — the part I'm proudest of — goes back and annotates old research once you've actually built the thing it was about.
Everything runs on-device, encrypted, keys never persisted. I'm not asking you to trust me with your data instead of the vendors — I'm asking you to trust no one with it.
Architecture
Monorepo, two packages: @engram/core (MIT) handles storage, embedding, and API contracts. community (AGPL-3.0) is the browser extension. Protocol stays open, closed forks of the extension don't.
How capture works
Platform APIs don't expose conversation history reliably, so each adapter watches the DOM via MutationObserver. A three-tier fallback chain (CSS selectors → structural patterns → content heuristics) has held 99.7% capture uptime across 47 platform updates without emergency patches.
Search & encryption
Semantic search runs on-device using BAAI/bge-small-en-v1.5 (33M params, ONNX Runtime Web). HNSW index for O(log N) nearest-neighbor lookup. XChaCha20-Poly1305 over AES-GCM for consistent cross-platform performance — 192-bit nonces, Argon2id key derivation, keys never written to disk.