What you hand over when you paste
Five ordinary things people paste into a chat box, scanned and counted: an environment file, a customer's email, a stack trace, three spreadsheet rows and a deployment config. Three thousand characters, twenty-six findings, sixteen of them a live credential or a payment card. Here is what is actually in them, what a scanner cannot tell you, and the two habits that cost seconds.
The measurement
Five pieces of text of the kind that goes into a chat box every working day, each written the way a real one looks rather than the way an example does: a project's environment file, a customer's email pasted in to get help writing the reply, a stack trace off a production server, three rows lifted out of a spreadsheet, and a deployment config out of a repository.
Fifty-nine lines. Three thousand one hundred and twenty-five characters. Run through SENTINEL, which reads text in the browser and never sends it anywhere, the five of them together hold twenty-six findings, and sixteen of those are a live credential or a payment card.
| What was pasted | Size | High | Medium | Low | What was in it |
|---|---|---|---|---|---|
| An environment file | 13 lines | 7 | 0 | 2 | AWS key and secret, two database URLs with their passwords, a Stripe live key, a SendGrid key, an OpenAI key |
| A customer's email | 19 lines | 1 | 0 | 2 | Their card number, two addresses |
| A stack trace | 13 lines | 1 | 1 | 2 | A database URL with its password, a session token, a colleague's address and the caller's IP |
| Three spreadsheet rows | 4 lines | 3 | 0 | 3 | Three card numbers, three addresses |
| A deployment config | 10 lines | 4 | 0 | 0 | An npm token, a GitLab token, a storage account key, a basic-auth header |
The last row is the one to sit with. Four credentials and nothing below high: no addresses, no soft warnings, nothing that reads as a near miss. A deployment config is all secret and no filler, so there is no gentle signal that you are holding something you should not paste.
The three that surprise people
The stack trace. It is the single most-pasted artefact in software, because it is the thing you cannot read and want help with. The one measured here carries the database connection string with its password in the frame that failed, a bearer token in the frame above it, and in the last line a colleague's work address and the IP of whoever was using the system when it broke. None of that is what you wanted help with. All of it travels with the part that is.
The customer email. Pasting the message in to get help writing a reply feels like handing over prose. The measured one contains a card number that passes the Luhn check, which means it is either a real card or a deliberate test one; a scanner cannot tell, and neither can whatever you paste it into.
The session token. The one in the stack trace is a JSON Web Token, and a JWT is not encrypted. The middle segment is ordinary base64 and decodes with no key at all — in this case to a subject id, the holder's name, and "role":"admin". It is signed, not sealed. Anybody who has it can read who it belongs to and what it is allowed to do, and until it expires, use it.
What a scanner cannot tell you
Two of the numbers above moved while this was being written, and the reason is worth saying out loud.
The connection-string rule required a username before the colon, so it found postgres://user:password@host and missed redis://:password@host — which is how Redis is written when there is no username, and how RabbitMQ is written too. It read correctly. It was wrong, and it had been wrong since it was written, because nothing was checking it. The environment file above went from six high findings to seven when that was fixed.
Separately, an Anthropic key was being reported under the label OpenAI key: both begin sk-, both are high severity, and whichever pattern ran first took the spot. The severity was right and the name was wrong, which is the worse failure of the two — it sends somebody to rotate a credential that was never exposed while the one that was stays live.
Both are fixed, and there are now fifty-five strings checking the thirty-four patterns, every rule covered, run on every push. The general point stands regardless: a scanner tells you what it recognises. It does not tell you what it missed. Treat a clean result as the absence of a known shape, not as permission.
What to do instead
Not "never paste anything", which nobody follows. Three habits that cost seconds:
- Scan before you send, not after. SENTINEL takes pasted text or whole files and marks what is in them, in your browser. It will also write you a cleaned copy with the values masked, which is usually the thing you actually wanted to paste.
- Swap the names, keep the shape. An assistant almost never needs the real values — it needs the structure. ALIAS replaces names, addresses, phone numbers, amounts and card numbers with consistent placeholders, and puts the real ones back into the reply afterwards. The key stays in your browser. You get the help; the assistant gets
PERSON_1. - Rotate what has already gone. If a credential has been pasted, it is not a secret any more, and no policy page changes that. Rotate it. The value of knowing which one is exactly why the mislabelling above mattered.
And the obvious one: a token that has already expired, a test card, and a database on a laptop are all fine to paste. The point of scanning first is to know which kind you are holding.
Where this leaves the file you were going to attach
Everything above is about text. A file carries more: a Word document remembers who edited it and often what they deleted, a photo remembers where it was taken, a PDF keeps the text under a black box you drew over it. If you were about to attach rather than paste, the question of what a free tool does with an upload and what a Word document is still carrying are the two to read next.
What this is, and what it is not
It reads, it does not judge. A scanner reports the shapes it knows. A clean result means nothing matched, not that nothing is there, and a token that expired last week matches exactly as loudly as one that is live.
Nothing here is uploaded. SENTINEL and ALIAS both run in your browser. Every tool on this site is driven with a real file on every push with the network watched from the moment the file goes in, and nothing has ever sent anything.
The numbers on this page are from one run. Five samples written to look like the real thing, scanned in a browser on 16 September 2026. They are an illustration of what ordinary text carries, not a survey of what everyone pastes.
Questions people ask
Is it safe to paste code into an AI assistant?
The code is rarely the problem. What travels with it is: configuration files, connection strings, tokens in headers, and the addresses and IP of whoever appears in a log line. In the five ordinary samples measured for this page, 3,125 characters of pasted text held 26 findings, 16 of them a live credential or a payment card. Scan the text before you send it rather than after.
Can an AI provider see what I paste?
You are sending it to them, so yes, in the ordinary sense that they receive it. What differs between providers is retention and whether it is used for training, and those are policy promises rather than technical ones. That is a separate question from whether the text needed to contain the secret in the first place, which is the one you control.
Is a JWT safe to share because it is encrypted?
A JWT is signed, not encrypted. The middle segment is ordinary base64 and decodes with no key at all, typically to the holder's id, name and role. Anybody who has the token can read who it belongs to and what it is allowed to do, and use it until it expires.
What should I do if I have already pasted a secret?
Rotate it. Once a credential has been sent somewhere it is no longer a secret, regardless of what happens to the message afterwards. Knowing precisely which credential it was matters, which is why a scanner that names the wrong provider is worse than one that says nothing.
Does scanning my text send it anywhere?
Not here. SENTINEL reads the text in your browser and nothing is uploaded. Every tool on this site is tested on every push with the network watched from the moment a file goes in, and nothing has ever sent anything.