diff --git a/nexus/mempalace/searcher.py b/nexus/mempalace/searcher.py index 6cba1194..4c6c11b0 100644 --- a/nexus/mempalace/searcher.py +++ b/nexus/mempalace/searcher.py @@ -44,9 +44,13 @@ class MemPalaceResult: def _get_client(palace_path: Path): - """Return a ChromaDB persistent client, or raise MemPalaceUnavailable.""" + """Return a ChromaDB persistent client, or raise MemPalaceUnavailable. + + Telemetry is disabled for sovereignty — no data leaks to Chroma Inc. + """ try: import chromadb # type: ignore + from chromadb.config import Settings except ImportError as exc: raise MemPalaceUnavailable( "ChromaDB is not installed. " @@ -59,7 +63,10 @@ def _get_client(palace_path: Path): "Run 'mempalace mine' to initialise the palace." ) - return chromadb.PersistentClient(path=str(palace_path)) + return chromadb.PersistentClient( + path=str(palace_path), + settings=Settings(anonymized_telemetry=False), + ) def search_memories( diff --git a/scaffold/deep-dive/relevance/relevance_engine.py b/scaffold/deep-dive/relevance/relevance_engine.py index 727bb8aa..f13c542d 100644 --- a/scaffold/deep-dive/relevance/relevance_engine.py +++ b/scaffold/deep-dive/relevance/relevance_engine.py @@ -26,7 +26,7 @@ HERMES_CONTEXT = [ class RelevanceEngine: def __init__(self, collection_name: str = "deep_dive"): - self.client = chromadb.PersistentClient(path="./chroma_db") + self.client = chromadb.PersistentClient(path="./chroma_db", settings=chromadb.config.Settings(anonymized_telemetry=False)) self.embedding_fn = embedding_functions.SentenceTransformerEmbeddingFunction( model_name="all-MiniLM-L6-v2" ) diff --git a/scripts/audit_mempalace_privacy.py b/scripts/audit_mempalace_privacy.py index 5b1b61dd..725db403 100644 --- a/scripts/audit_mempalace_privacy.py +++ b/scripts/audit_mempalace_privacy.py @@ -34,7 +34,7 @@ VIOLATION_KEYWORDS = [ def audit(palace_path: Path): violations = [] - client = chromadb.PersistentClient(path=str(palace_path)) + client = chromadb.PersistentClient(path=str(palace_path), settings=chromadb.config.Settings(anonymized_telemetry=False)) try: col = client.get_collection("mempalace_drawers") except Exception as e: diff --git a/scripts/mempalace_export.py b/scripts/mempalace_export.py index 3588ec64..9d5fe74e 100644 --- a/scripts/mempalace_export.py +++ b/scripts/mempalace_export.py @@ -18,7 +18,7 @@ DOCS_PER_ROOM = 5 def main(): - client = chromadb.PersistentClient(path=PALACE_PATH) + client = chromadb.PersistentClient(path=PALACE_PATH, settings=chromadb.config.Settings(anonymized_telemetry=False)) col = client.get_collection("mempalace_drawers") # Discover rooms in this wing