Inspect these instructions
Got custom instructions, a prompt or a skill from someone else? Paste it here before ChatGPT or Claude reads it, and see every character, hidden ones too.
Nothing you paste leaves this page. Your browser reads the text here, sends it nowhere and stores nothing. No model is called.
Reading in the page needs JavaScript. The same check runs on your computer from the command line:
npx driftproof inspect <file>What the check points out
Each kind below is a place to look rather than a judgement about the file. The check reads the text as written and decodes nothing.
- Hidden characters. Characters you cannot see, such as zero-width spaces, joiners and marks that change the direction of text. The page shows each one as a code in curly braces.
- Long encoded runs. A run of more than 128 letters, digits and symbols that may hold encoded text. Nothing is decoded.
- Web addresses. A line that names a web address. Nothing is fetched.
- Tool permissions. A front-matter key at the top of the file that grants or denies tools to the assistant.
- Repeated lines. A line that already appeared, word for word, earlier in the text. Markdown markers such as code fences and table rulers do not count.
- Shell commands. A command that downloads, decodes or runs something, or pipes text into a shell.
- Instructions to the assistant. A few fixed English phrasings that ask the assistant to keep something from you, ignore other instructions, read keys or files that may hold credentials, or send data elsewhere. Reworded or translated text is not caught.
The cost estimate
The page counts lines, bytes and estimated tokens, then shows what sending this text with every call would cost per 1,000 calls at each registered model's input price. Every figure is an estimate, for the input text only. Prices are Driftproof's registry prices in US dollars per million input tokens, last changed on .
On a monthly chat plan you do not pay this per message. These figures matter if you pay per call.
| Model | US dollars per million input tokens |
|---|---|
| Claude Fable 5.1 | 10 |
| Claude Fable 5 | 10 |
| Claude Opus 5.5 | 4 |
| Claude Opus 5 | 5 |
| Claude Opus 4.8 | 5 |
| Claude Opus 4.7 | 5 |
| Claude Opus 4.6 | 5 |
| Claude Opus 4.5 | 5 |
| Claude Sonnet 5.5 | 2 |
| Claude Sonnet 5 | 3 |
| Claude Sonnet 4.6 | 3 |
| Claude Sonnet 4.5 | 3 |
| Claude Haiku 5.5 | 0.1 |
| Claude Haiku 4.5 | 1 |
| Claude Haiku 4.5 (claude-haiku-4-5-20251001) | 1 |
| GPT-5.6 Sol | 5 |
| GPT-5.6 Terra | 2.5 |
| GPT-5.6 Luna | 1 |
| GPT-5.5 | 5 |
| GPT-5.4 | 2.5 |
| GPT-5.4 Mini | 0.4 |
This reads only the text given here, and a clean reading is not a guarantee: when your assistant loads a file it can also pull in other files or fill in values that this check never saw.
If it finds something
Hidden characters or long encoded runs: check what each one is for before you use the text, and ask the person who sent it if you cannot tell. Some emoji hold a hidden joiner or selector.
Lines that ask the assistant to hide something from you, read keys or send data elsewhere: delete them, or do not use the file.
A clean result is not a guarantee. Read every line yourself before you use the file.
What this page does not do
It does not follow links, upload files, call a model or look the file up anywhere. It does not measure whether the instructions help.
Where to go next
To find out whether the instructions make any difference, in your own chat window and with nothing to install, open Try it yourself.
In Claude Code, the Driftproof plugin runs this same check on a local file or skill folder with /driftproof:inspect. The check itself calls no model; Claude Code shows its report in your session.
To see the same-length fake that stands in for your file, open See your file's fake. To measure the file, run npx driftproof run <path> --suite tasks.json --placebo on your computer; a measurement run can call a model and incur costs.