feat: add stable sanitized snapshot exports - #4
Merged
Conversation
fly1d
commented
Aug 12, 2026
fly1d
left a comment
Owner
Author
There was a problem hiding this comment.
Security-focused code review completed.
No blocking findings.
Reviewed:
- allowlist output construction and identifier coverage
- HMAC domain separation and stable node/quorum relationships
- environment-only key handling and minimum length validation
- failure order before Management API collection
- malformed enum, timestamp, boolean, metric, and relationship inputs
- duplicate-sanitization rejection and absence of key-derived verifier metadata
- workbench labeling versus actual guarantees
- threat model, residual sensitivity, and rollback path
Verification evidence: 23 local tests, compileall, JavaScript syntax check, product smoke test, passing Python 3.9/3.12 and smoke CI, plus desktop/mobile upload QA with no overflow, overlap, or console errors.
Residual risk is documented and accepted for this local paid-pilot scope: stable pseudonyms remain linkable, and timestamps, rates, workload sizes, resource values, and topology counts remain sensitive. This output is pseudonymized, not anonymous.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sanitizeandcollect --sanitizewith environment-only keysProduct reason
Paid-pilot prospects may not be allowed to share production cluster, node, vhost, queue, user, client, or network identifiers. Stable local pseudonyms let the same customer compare a baseline and retest without sending those identifiers to the operator.
Risk and security review
This is a customer-data change and is treated as high risk.
Threat model and delivery checklist:
docs/PRIVACY.md.Verification
make verify(23 tests, compileall, browser JavaScript syntax)make smokegit diff --checkReview focus
sanitizer.pycollect --sanitizedocs/PRIVACY.mdRollback
Revert this PR. Existing raw snapshot collection, diagnosis, history, and reports do not require a data migration.