github.com/romaklimenko/obfuscator

An animated time-lapse of how romaklimenko/obfuscator was built, commit by commit.

Open this visualization on its own page →

Contributors

2

Lines of Code

73

From

2022-05-13

To

2022-05-21

About romaklimenko/obfuscator

Obfuscator is a TypeScript command-line tool designed to help developers share JSON datasets that contain sensitive information by replacing all values with random alternatives while keeping the data structure, types, and relationships intact. The tool preserves the overall schema of JSON files so they remain usable for testing and debugging purposes without exposing actual data.

When run on a directory containing JSON files, Obfuscator generates obfuscated versions of each file with randomized content. Additionally, it creates a clues.json file that maps original values to their randomly generated replacements, allowing users to reverse-engineer the data if needed later. The tool is intelligent about preserving certain patterns like email formats, GUIDs, and natural text spacing by maintaining string lengths, whitespace, dots, and at signs, while leaving null values and booleans unchanged.

This utility targets developers and teams who need to share problematic datasets for collaboration or troubleshooting but cannot do so directly due to privacy or security concerns. It offers a practical middle ground between completely anonymizing data and sharing it unmodified.

Share this video