Compare commits

..

1 Commits

Author SHA1 Message Date
5448185d12 fix(#1427): disable ChromaDB telemetry for sovereignty
Some checks failed
CI / test (pull_request) Failing after 1m27s
CI / validate (pull_request) Failing after 1m0s
Review Approval Gate / verify-review (pull_request) Failing after 15s
ChromaDB enables anonymous telemetry by default, leaking usage
patterns to Chroma Inc. This violates local-first sovereignty.

Two layers of protection:
1. Set ANONYMIZED_TELEMETRY=false env var at import time
2. Pass Settings(anonymized_telemetry=False) to PersistentClient

Closes #1427
2026-04-15 04:12:03 +00:00
2 changed files with 19 additions and 58 deletions

View File

@@ -46,7 +46,9 @@ class MemPalaceResult:
def _get_client(palace_path: Path):
"""Return a ChromaDB persistent client, or raise MemPalaceUnavailable."""
try:
import chromadb # type: ignore
import os
os.environ["ANONYMIZED_TELEMETRY"] = "false"
import chromadb # type: ignore
except ImportError as exc:
raise MemPalaceUnavailable(
"ChromaDB is not installed. "
@@ -59,7 +61,11 @@ def _get_client(palace_path: Path):
"Run 'mempalace mine' to initialise the palace."
)
return chromadb.PersistentClient(path=str(palace_path))
import chromadb.config
return chromadb.PersistentClient(
path=str(palace_path),
settings=chromadb.config.Settings(anonymized_telemetry=False),
)
def search_memories(

View File

@@ -129,22 +129,13 @@
"type": "harness",
"params": {
"mode": "creative"
},
"action_label": "Enter Workshop"
}
},
"agents_present": [
"timmy",
"kimi"
],
"interaction_ready": true,
"portal_type": "operator-room",
"world_category": "workspace",
"environment": "production",
"access_mode": "operator",
"readiness_state": "active",
"telemetry_source": "workshop.timmy.foundation",
"owner": "Timmy",
"blocked_reason": null
"interaction_ready": true
},
{
"id": "archive",
@@ -166,21 +157,12 @@
"type": "harness",
"params": {
"mode": "read"
},
"action_label": "Enter Archive"
}
},
"agents_present": [
"claude"
],
"interaction_ready": true,
"portal_type": "research-space",
"world_category": "archive",
"environment": "production",
"access_mode": "operator",
"readiness_state": "active",
"telemetry_source": "archive.timmy.foundation",
"owner": "Timmy",
"blocked_reason": null
"interaction_ready": true
},
{
"id": "chapel",
@@ -202,19 +184,10 @@
"type": "harness",
"params": {
"mode": "meditation"
},
"action_label": "Enter Chapel"
}
},
"agents_present": [],
"interaction_ready": true,
"portal_type": "operator-room",
"world_category": "reflection",
"environment": "production",
"access_mode": "visitor",
"readiness_state": "active",
"telemetry_source": "chapel.timmy.foundation",
"owner": "Timmy",
"blocked_reason": null
"interaction_ready": true
},
{
"id": "courtyard",
@@ -236,22 +209,13 @@
"type": "harness",
"params": {
"mode": "social"
},
"action_label": "Enter Courtyard"
}
},
"agents_present": [
"timmy",
"perplexity"
],
"interaction_ready": true,
"portal_type": "operator-room",
"world_category": "social",
"environment": "production",
"access_mode": "visitor",
"readiness_state": "active",
"telemetry_source": "courtyard.timmy.foundation",
"owner": "Timmy",
"blocked_reason": null
"interaction_ready": true
},
{
"id": "gate",
@@ -273,19 +237,10 @@
"type": "harness",
"params": {
"mode": "transit"
},
"action_label": "Enter Gate"
}
},
"agents_present": [],
"interaction_ready": false,
"portal_type": "operator-room",
"world_category": "transit",
"environment": "production",
"access_mode": "operator",
"readiness_state": "blocked",
"telemetry_source": "gate.timmy.foundation",
"owner": "Timmy",
"blocked_reason": "Awaiting live transit wiring for the gate harness."
"interaction_ready": false
},
{
"id": "playground",
@@ -337,4 +292,4 @@
"agents_present": [],
"interaction_ready": true
}
]
]