ContextResponse is queryable like a vector store, with the bonus that retrieval is automatically scoped to the user.
- Synap embeds every ingested document at ingest time and stores the vectors in its vector engine.
mode="accurate"combines vector similarity with graph traversal, so a query about “the project Bob is leading” pulls memories about Bob even if Bob isn’t named in the query verbatim.- All retrievals are scoped: you cannot accidentally fetch another user’s data.
- Ingest them into Synap with
document_type="document"at the CUSTOMER or CLIENT scope. They become part of the same retrieval surface as user history. - Keep a separate vector DB for the document corpus and merge results at the application layer. Use Synap for memory only.
If “I just want a vector DB” is genuinely all you want, pgvector is cheaper. If you’re going to end up building scope isolation, multi-source merge, and reranking on top of pgvector, you’re rebuilding Synap.
Going further
- Guides: Multi-User Memory Scoping
- Cookbook: AI Companion
- Patterns: Multi-Tenant SaaS