Zellio.io

Sensitive Data Scanner

Find emails, phone numbers, card numbers, keys and tokens in text or logs, then redact them.

Processed locally — nothing is uploaded

About Sensitive Data Scanner

Every finding is a shape — a card number that passes the Luhn check, an IBAN that passes mod-97, a key with the prefix its provider uses — and each one is marked with how confident that shape is. What the scanner cannot do is know that a word is a person's name or a street; it says so on the page rather than implying a clean result means anonymous data.

Before a log goes into a bug report, a CSV export goes to a contractor, or a config file gets pasted into a chat, somebody should read it for what it gives away. Nobody does, because a log is ten thousand lines. This scanner reads it for you, looking for sixteen shapes that personal and secret data take: email addresses, phone numbers, IPv4 and IPv6 addresses, GPS coordinates, card numbers, IBANs, US Social Security numbers, JSON Web Tokens, AWS, GitHub, Slack and Google keys, private-key blocks, credentials embedded in URLs, and passwords or tokens sitting on the right of an equals sign.

Shapes that can be checked are checked, which is what keeps the results useful. A run of sixteen digits is reported as a card only if it passes the Luhn checksum, so order numbers and timestamps do not light up; an IBAN must pass its mod-97 test; an IPv4 address must have four octets in range, so a three-part version number is left alone. Kinds that cannot be verified — phone numbers, coordinates, a four-part version number that is indistinguishable from an address — are marked medium confidence and listed second, because they will sometimes match other numbers.

The result is shown two ways. The highlighted view marks each finding in place, with a list beside it showing the kind and a partial mask — enough to recognise which customer or which key without reproducing it. The redacted view is a copy of the text with every finding replaced, either by a label such as [EMAIL] and [CARD] that keeps the text readable, or by a mask that leaves the last four digits and the domain so a colleague can still tell entries apart. Copy it, or download it as a file.

It is honest about its limits because the limit matters. Detection is by form, not meaning: a person's name, a street address, a date of birth written in words, or a diagnosis have no shape a pattern can recognise, and no finding here says anything about them. A clean result means none of the sixteen shapes were present. It does not mean the text is anonymous, and the page says exactly that above the findings.

Learn how this works

Frequently asked questions

Will it find names and addresses?

No. Those have no recognisable form; detecting them needs a language model, and a scanner that claimed to would be wrong often enough to be dangerous. It finds the structured kinds — contact details, financial identifiers, network addresses, credentials — and tells you that is all it looked for.

Why is a phone number marked medium confidence?

Because eight to fifteen digits with separators is also an order number, a tracking code or a timestamp. The shape is right often enough to be worth reporting and wrong often enough to deserve a look. High-confidence kinds are the ones with a checksum or a provider prefix.

Which redaction style should I use?

Labels when the text will be read by someone who needs to understand its structure — a bug report, a support ticket. Masks when entries must stay distinguishable — a CSV where each row is a different customer and the last four digits or the email domain tell them apart.

Can it scan a whole file?

Yes, up to two million characters, which covers most logs and exports. Open a .txt, .csv, .json, .log or .env file, or drop it on the text box. The file is read in the tab and never uploaded; the redacted download is written in the tab too.

Is my text sent anywhere?

No. Everything runs locally in your browser using standard web APIs — your text, files and inputs are never uploaded to a server, so the tool works even offline once the page has loaded.

Is it free?

Completely. There is no sign-up, no account, no watermark and no usage limit. The tool is supported by unobtrusive ads, not by selling or processing your data.

Pro Tips

  • Scan a config file before committing it: an AWS key or a password assignment is exactly what this catches and exactly what a repository scanner will catch later, publicly.
  • Turn off the medium-confidence kinds when scanning numeric data such as invoices — otherwise every amount is a candidate phone number.
  • Use the label style for logs you are attaching to an issue; the reader keeps the structure and loses the customer.
  • Check the highlighted view before trusting the redacted copy: a finding that is not what it seems can be turned off by kind.
  • Pair it with the Document Privacy Inspector for Office and PDF files, and the EXIF tool for photos — this scanner is for text.

Common Use Cases

  • Cleaning a server log of customer emails and IP addresses before posting it to a public issue.
  • Checking a CSV export from a CRM for card numbers or SSNs that should never have been in it.
  • Catching a leaked API key or password in a config file before it is committed.
  • Redacting a support transcript for a training deck.
  • Auditing a data sample from a vendor for identifiers before agreeing to process it.

How It Compares

Microsoft Presidio and AWS Comprehend detect entities including names and addresses, and they do it with models running on a server, which is the trade this tool refuses. gitleaks and trufflehog are the standard for secrets in repositories and cover many more provider key formats. This scanner sits between them for a single file: the common personal-data and credential shapes, verified where possible, with in-place redaction, in the browser, without the text leaving it.

Related tools