Skip to content

feat(cloning): per-run random hash salt + GDPR pseudonymization guidance#120

Merged
rokde merged 3 commits into
mainfrom
split/hash-salt-gdpr
May 22, 2026
Merged

feat(cloning): per-run random hash salt + GDPR pseudonymization guidance#120
rokde merged 3 commits into
mainfrom
split/hash-salt-gdpr

Conversation

@rokde
Copy link
Copy Markdown
Contributor

@rokde rokde commented May 22, 2026

Summary

  • Apply a per-run random salt (`bin2hex(random_bytes(32))`) when the hash strategy omits an explicit `salt`, so hashed values are unlinkable across runs (GDPR Art. 4 Nr. 5 / Recital 26).
  • Make `salt` optional in the cloning YAML schema and validator; persist the generated salt on the writer side so the run is reproducible within itself.
  • Document the GDPR rationale, the per-run salt behavior, and the optional-salt schema change across `docs/cloning-yaml.md`, `specs/PRD-cloning-yaml-schema.md`, and `specs/PRD-pii-matchers.md`.

Test plan

  • `composer test` green
  • `clonio cloning:run` on a config with hash strategy and no salt produces stable, non-replayable hashes
  • Two runs of the same config without explicit salt produce different hash outputs

🤖 Generated with Claude Code

@rokde rokde self-assigned this May 22, 2026
@rokde rokde merged commit 946fe88 into main May 22, 2026
16 checks passed
@rokde rokde deleted the split/hash-salt-gdpr branch May 22, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant