claude-code-sessions-sanitizer 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. claude_code_sessions_sanitizer-0.3.0/.gitignore +68 -0
  2. claude_code_sessions_sanitizer-0.3.0/CHANGELOG.md +859 -0
  3. claude_code_sessions_sanitizer-0.3.0/LICENSE +28 -0
  4. claude_code_sessions_sanitizer-0.3.0/PKG-INFO +347 -0
  5. claude_code_sessions_sanitizer-0.3.0/README.md +321 -0
  6. claude_code_sessions_sanitizer-0.3.0/pyproject.toml +65 -0
  7. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/__init__.py +15 -0
  8. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/_templates/__init__.py +0 -0
  9. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/_templates/ccs-sanitize.example.yaml +66 -0
  10. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/cli.py +811 -0
  11. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/config.py +584 -0
  12. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/orchestrator.py +139 -0
  13. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/pipeline.py +361 -0
  14. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/residual.py +109 -0
  15. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/__init__.py +0 -0
  16. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/_engine.py +65 -0
  17. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/identifiers.py +197 -0
  18. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/jitter.py +27 -0
  19. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/paths.py +115 -0
  20. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/rules/secrets.py +290 -0
  21. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/sidecar.py +408 -0
  22. claude_code_sessions_sanitizer-0.3.0/src/ccs_sanitize/subtable.py +164 -0
  23. claude_code_sessions_sanitizer-0.3.0/tests/__init__.py +0 -0
  24. claude_code_sessions_sanitizer-0.3.0/tests/_helpers.py +50 -0
  25. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-config-remap.yaml +43 -0
  26. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-config.yaml +46 -0
  27. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.expected.jsonl +4 -0
  28. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.expected.jsonl.scrubbed +47 -0
  29. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.expected.remap.jsonl +4 -0
  30. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.expected.remap.jsonl.scrubbed +67 -0
  31. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.jsonl +7 -0
  32. claude_code_sessions_sanitizer-0.3.0/tests/golden/golden-session.jsonl.generator.md +139 -0
  33. claude_code_sessions_sanitizer-0.3.0/tests/test_cli.py +717 -0
  34. claude_code_sessions_sanitizer-0.3.0/tests/test_cli_smoke.py +58 -0
  35. claude_code_sessions_sanitizer-0.3.0/tests/test_config.py +740 -0
  36. claude_code_sessions_sanitizer-0.3.0/tests/test_golden_determinism.py +262 -0
  37. claude_code_sessions_sanitizer-0.3.0/tests/test_identifiers.py +655 -0
  38. claude_code_sessions_sanitizer-0.3.0/tests/test_init_and_check.py +449 -0
  39. claude_code_sessions_sanitizer-0.3.0/tests/test_orchestrator.py +425 -0
  40. claude_code_sessions_sanitizer-0.3.0/tests/test_paths.py +440 -0
  41. claude_code_sessions_sanitizer-0.3.0/tests/test_pipeline.py +537 -0
  42. claude_code_sessions_sanitizer-0.3.0/tests/test_release.py +239 -0
  43. claude_code_sessions_sanitizer-0.3.0/tests/test_residual.py +133 -0
  44. claude_code_sessions_sanitizer-0.3.0/tests/test_secret_patterns_in_sync.py +150 -0
  45. claude_code_sessions_sanitizer-0.3.0/tests/test_secrets.py +533 -0
  46. claude_code_sessions_sanitizer-0.3.0/tests/test_sidecar.py +744 -0
  47. claude_code_sessions_sanitizer-0.3.0/tests/test_subtable.py +141 -0
@@ -0,0 +1,68 @@
1
+ # OS
2
+ .DS_Store
3
+ Thumbs.db
4
+ *.swp
5
+ *~
6
+
7
+ # Editors
8
+ .vscode/
9
+ .idea/
10
+ *.iml
11
+
12
+ # Node (Prettier gate on posts/ — see issue #76; deps installed via `npm ci`)
13
+ node_modules/
14
+
15
+ # Python (for sanitizer when it lands)
16
+ __pycache__/
17
+ *.py[cod]
18
+ *$py.class
19
+ .Python
20
+ .venv/
21
+ venv/
22
+ env/
23
+ .pytest_cache/
24
+ .mypy_cache/
25
+ .ruff_cache/
26
+ .coverage
27
+ htmlcov/
28
+ dist/
29
+ build/
30
+ *.egg-info/
31
+
32
+ # uv — library convention is to not commit the lockfile.
33
+ uv.lock
34
+
35
+ # Jekyll (if local previews are ever built here)
36
+ _site/
37
+ .jekyll-cache/
38
+ .jekyll-metadata
39
+
40
+ # Local-only artifacts
41
+ *.local
42
+ local/
43
+
44
+ # Raw session data — defense in depth on top of the sanitizer policy.
45
+ # Any file matching these patterns must NOT be committed.
46
+ *.raw.jsonl
47
+ fixtures/raw/
48
+ fixtures/_quarantine/
49
+
50
+ # Sanitizer config (PRD section 12 -- the `.ccs-sanitize.yaml` rule file).
51
+ # A per-project sanitizer config holds the LITERAL strings to scrub:
52
+ # real home dir, real email, real name, real GitHub handle, real branch
53
+ # names, etc. Committing the live config to a public repo would leak the
54
+ # very PII the sanitizer is meant to remove. The sidecar's `config_source`
55
+ # field intentionally records only the basename, so sidecars stay safe to
56
+ # commit -- only the config file itself is sensitive.
57
+ #
58
+ # `.ccs-sanitize.example.yaml` (committed) is the schema-only reference;
59
+ # copy it to `.ccs-sanitize.yaml` locally and fill in your own match values.
60
+ .ccs-sanitize.yaml
61
+
62
+ # Claude Code settings (local-only)
63
+ .claude/settings.local.json
64
+
65
+ # Social drafts — pre-publication scratch, not tracked.
66
+ # Scoped to drafts/ so curated/finalized social assets under social/ can be
67
+ # tracked later if desired.
68
+ social/drafts/