Java/Spring Boot code
Java Code Masking Tool replaces packages, classes, methods, fields, variables, strings, comments, etc. You can also check the SQL fragments contained within the Java source.
SQL
SQL Masking Tool selects Oracle, PostgreSQL, MySQL, SQL Server, and SQLite dialects and replaces table names, column names, strings, numbers, and comments. Suitable for sharing standalone SQL rather than SQL embedded as a Java string.
JSON
JSON Masking Tool replaces keys, strings, and numbers while preserving object and array hierarchy. Suitable for checking API requests/responses and configuration files.
Logs
Log Masking Tool detects IP addresses, URLs, email addresses, paths, and identifiers in Log4j, Syslog, JSON Lines, access logs, and more. Always review free-form text and stack traces manually.
Vue, React, and jQuery
For front-end code, choose the tool that matches your syntax: Vue, React, jQuery. Each tool accounts for differences in components, JSX/TSX, templates, and selectors.
C, C++, Python, C#, PHP, VB.NET, VBA, and Rust
For backend, desktop, macro, embedded, and systems code, use the dedicated tools for C, C++, Python, C#, PHP, VB.NET, VBA, Rust. Each tool accounts for the language's reserved words, comments, strings, and type and function declarations.
TypeScript
For web and Node.js code with type information, use the TypeScript Code Masking Tool. It replaces types, functions, variables, and values while accounting for interfaces, type aliases, enums, generics, and decorators.
COBOL and Bash
Use the COBOL Code Masking Tool for COBOL code and the Bash Script Masking Tool. The tools account for COBOL fixed-format code and PIC clauses, and for Bash shebangs, variable expansion, and heredocs.
Ruby, Swift, and Objective-C
For web and business applications, use Ruby. For Apple-platform code, use Swift or Objective-C as appropriate. Each tool accounts for the language's strings, comments, and type and method declarations.
If You Are Unsure Which Tool to Use
- When working with whole files, choose a tool that matches the extension and main syntax.
- When a log contains nested content such as JSON, mask the outer log format first, then review the embedded format as well
- Remove credentials before pasting them into any tool; do not rely on masking alone.
- After processing, use the Masking Checklist to review the output before sharing.
Specific example: How to select troubleshooting materials that are mixed in multiple formats
If you want to share Spring Boot Java code, SQL, API response JSON, and access logs all at once, separate the documents by format instead of pasting the entire document into one tool. Java is Java, SQL is a selected DB dialect, JSON is a hierarchical structure, and logs are masked to maintain chronological order.
- Classifies documents into code, SQL, JSON, and Log based on file extension and main syntax.
- Remove credentials before entering the data, then process it with a dedicated tool for that format.
- Search across all documents to make sure the same business terms have not been left in multiple files.
- Verify the consistency of required dummy IDs so investigators can track their correspondence.
Frequently asked questions
- What should you choose if the extension and content language are different?
- Choose a tool that corresponds to the main syntax you want to share, not the extension. For SQL in Java strings, check the actual value inside after processing the outside.
- Is general-purpose character replacement insufficient?
- It is easy to break the correspondence between parentheses, quotation marks, and the same identifier, and it can also lead to missing substitutions. It is safer to use tools appropriate for the structure and perform a visual check at the end.