πŸ™ˆ Security

Log Masker & Sensitive Data Anonymizer

Paste logs or text to automatically detect and redact sensitive data β€” emails, IP addresses, API keys, tokens, passwords, credit cards, phone numbers and custom regex patterns. Everything runs in your browser; nothing is sent anywhere.

🎭 Masking Style
πŸ” Detection Rules
βž• Custom Pattern
πŸ“‹ Input Logs
Privacy first: All masking happens entirely in JavaScript in your browser. Sensitive data never leaves your device. Useful before sharing logs with colleagues, submitting bug reports, or storing in ticketing systems.
πŸ“– How to Use This Tool
β–Ό
1
Paste logs containing sensitive data
2
Toggle detection rules (emails, IPs, API keys, etc.)
3
Choose masking style: [REDACTED], ***masked***, etc.
4
Copy the safe output for sharing
πŸ“ Examples
Mask log
Input: admin@co.com from 192.168.1.1
Output: [REDACTED_EMAIL] from [REDACTED_IPV4]

When the Masked Log Still Isn't Safe to Share

The first thing to check when a masking pass looks suspicious is whether the output still contains anything resembling the original patterns after the fact β€” search the masked result for @ symbols, sequences of digits four characters or longer, or the string Bearer to catch a value the built-in regex library didn't recognise. If a value survives masking, the most common cause is a non-standard internal format: a proprietary session token or internal identifier that doesn't match any of the generic api_key=, AWS-key, or JWT patterns the tool ships with β€” the fix is adding a custom regex tuned to that specific format rather than assuming the default library is exhaustive. A second, subtler failure mode shows up specifically with structured logs: if the input is JSON lines and a masking regex matches across a quoted-string boundary, the output can come out as syntactically broken JSON β€” always re-validate that masked structured logs still parse correctly before piping them into a JSON-aware log viewer or shipping them onward. If correlation between log lines seems to have vanished after masking, that's usually not a bug β€” asterisk-style masking intentionally destroys the ability to tell whether two masked lines came from the same original value, which calls for switching to the deterministic hash style instead.

The sed and grep Version of This Same Job

Everything this tool does is, at its core, a set of regular expressions applied with global replacement β€” the same operation sed performs on the command line. A single pattern, like masking email addresses, translates directly to something like sed -E 's/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[REDACTED_EMAIL]/g' piped over a log file. The practical difference is maintenance and coverage: this tool ships a curated library of a dozen-plus pre-tested patterns β€” emails, IPv4 and IPv6 addresses, JWTs, AWS keys, credit card numbers, and more β€” that would otherwise mean hand-maintaining and testing a dozen separate sed expressions, each with its own edge cases around anchoring and escaping. For a one-off log excerpt before a support ticket, pasting into this tool is faster than writing and debugging a regex from scratch; for a repeatable pipeline step processing thousands of log lines a day, the equivalent logic belongs in a compiled script or a log-processor plugin, not a manual paste-and-copy loop.

Redacting a Vendor Support Log, Start to Finish

Say a third-party integration is failing and the vendor's support team needs to see the actual log output, including a stack trace with an embedded auth header and a couple of customer email addresses. First, paste the raw log block into the input panel exactly as captured, without pre-editing it. Second, pick a masking style deliberately: for a support ticket where the vendor needs to know what type of data was present without seeing its value, the labelled placeholder style ([REDACTED_EMAIL], [REDACTED_JWT]) communicates more than a plain asterisk mask would. Third, run the masking pass and manually scan the result for anything that looks like it slipped through β€” a proprietary internal token format is the most likely gap. Fourth, paste the masked output into the ticket. The entire operation happens client-side, so the unmasked log data is never transmitted anywhere during the process β€” only the redacted version you explicitly copy out ever leaves the browser tab.

Rules for Sharing Logs Without Regretting It Later

Frequently Asked Questions

What types of sensitive data does this tool detect?

The tool detects and masks a comprehensive set of PII and secret data types including email addresses, IPv4 and IPv6 addresses, JWT tokens (the eyJ... format), Bearer tokens in HTTP headers, generic API keys matching common patterns (api_key=, api_token=, access_token=), AWS access key IDs (AKIA...), AWS secret access keys, credit card numbers (Visa, Mastercard, Amex, Diners), US Social Security Numbers, phone numbers in common formats, private key PEM blocks, URLs containing embedded credentials (user:password@host), MAC addresses, and high-entropy hex strings of 32 or more characters. You can also define custom regex patterns to catch application-specific secrets.

Is my log data sent to a server?

No. All masking happens entirely in your browser using JavaScript regular expressions β€” no network request is made when you paste logs or click to mask. Your log data never leaves your device, which makes this tool safe to use with production logs that contain real customer data or internal secrets. You can verify this by opening your browser's developer tools Network tab and observing that no outbound requests are made during masking operations. This client-side design is an intentional security decision: sending log data to a server for processing would itself create the type of data exposure the tool is meant to prevent.

What masking styles are available and when should I use each?

Four masking styles are available. [REDACTED_TYPE] replaces each match with a labelled placeholder (e.g. [REDACTED_EMAIL]), preserving information about what type of data was present β€” best for audit logs and compliance documentation. ***masked*** produces a compact, visually obvious redaction marker suitable for human-reviewed log excerpts. sha256(value) produces a deterministic hash token derived from the original value: the same secret produces the same hash every time, enabling you to correlate occurrences of the same value across multiple log lines without revealing the underlying data β€” useful for analytics and debugging. Partial masking preserves the first and last characters while replacing the middle with asterisks (e.g. jo***@example.com), mimicking how payment terminals display card numbers, which aids debugging while reducing exposure.