docs: privacy audit of AMS telemetry/export surfaces for cross-tenant leakage - #5759
Conversation
… leakage Field-level review of every telemetry/export/metrics surface AMS emits (orb-export, portfolio-dashboard, prediction-ledger, prediction + governor metrics), flagging which fields would leak cross-tenant information if hosted as-is, each with a redact / aggregate / partition-per-tenant remediation category, as the AMS counterpart to ORB's JSONbored#4893 privacy pass. Audit and documentation only; no redaction/partitioning implemented here. Closes JSONbored#5219
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-14 19:55:16 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Closes #5219.
Field-level review of every telemetry / export / metrics surface AMS emits in
packages/loopover-miner/lib, documenting which fields would leak cross-tenant information if AMS were hosted as-is — the AMS counterpart to ORB's #4893 privacy pass, and a sibling of the just-merged singleton-state audit (#5218).Audit and documentation only — nothing redacted/partitioned here (each is its own follow-up).
Deliverable
A findings doc at
packages/loopover-miner/docs/telemetry-export-privacy-audit.mdlisting each surface's field-level contents and, per flagged field, a remediation category (redact / aggregate / partition per-tenant) — the exact shape the issue requested.Findings in brief
orb-export.jsis the model — already HMAC-anonymizesrepoHash/prHashand bucketsreasonBucket; its one hosted flaw is a per-machine anon secret (getOrCreateAnonSecret, orb-export.js:108) that a shared store would make cross-tenant-correlatable → per-tenant secret.portfolio-dashboard.js/prediction-ledger.jscarry raw identifiers —repoFullName, plustargetId(issue/PR) andheadSha(commit) in predictions → partition per-tenant / redact SHAs.renderMinerPredictionMetricsoutput is identifier-free (counters keyed byconclusion); the leak is the shared input store, which folds into Audit: enumerate AMS's global-singleton state with tenant-leak risk #5218 rather than re-opening store scoping here.repoFullNameflagged as a maintainer-owned tenancy boundary.Every
file:linereference was verified against the currentmain.