Developer tools
clipshield
clipshield scans copied text for API keys, passwords, emails, card numbers and internal hostnames, and swaps them for labels like [HOST_1] in a few milliseconds. It runs entirely on your own computer, and a local vault can put the real values back later.
Everything outside a redacted span comes out byte for byte identical, checked before anything reaches the clipboard.




01 / 04Keys, hosts and customer data swapped for numbered placeholders
Overview
Developers paste logs, stack traces and config files into AI chats all day, and those often carry real keys, database passwords, customer emails and internal server names. clipshield is a hotkey away: it cleans the clipboard first, so the pasted text is safe but still makes sense.
The fast path uses about 60 pattern rules, checksum checks for things like card numbers and IBANs, and an entropy check for random-looking tokens. It needs nothing beyond Python and finishes in a few milliseconds. Optional deeper passes use a small local model to catch names and addresses.
Each value gets a stable numbered label, so [USER_1] means the same person everywhere. When the chat answers with those labels, one command swaps the real values back in from a local vault.
Features
- Redact the clipboard with one hotkey through Raycast script commands on Windows
- Pipe any file or log through the command line and preview the result with --dry-run
- Keep public documentation links, version numbers and plain prose untouched
- Restore the real values in a model's answer from a local vault
- Switch on optional local model passes for names, organisations and addresses
- Benchmark installed Ollama models on your own machine and pin the best one
Challenges
- Guaranteeing the text is never rewritten: detectors return character offsets only, and every run checks that all untouched text survived before writing the clipboard
- Letting a language model help without letting it write output: its suggestions are only used if they match the source exactly, and a test suite runs against a deliberately hostile fake model
- Keeping false positives low so logs stay readable, by skipping git hashes, version strings, timestamps and public docs links
- Splitting long pastes into overlapping chunks so an entity on a chunk boundary is still found and mapped back to the right offset