How to mask API keys and secrets for screenshots and bug reports
1. The Problem: Accidental Public Key Leaks
Developers frequently need to paste configuration files, curl commands, or error stack traces into GitHub Issues, Discord, or Slack. If an API key is pasted in full, automated web scrapers ingest and exploit it within minutes.
2. The Standard Redaction Pattern
Good redaction preserves the provider prefix and the last four characters so that engineers can verify which key was in use while rendering the rest unrecoverable:
- Stripe:
sk_live_51OzAbcdef...xyz123→sk-live-••••••••z123 - AWS:
AKIAIOSFODNN7EXAMPLE→AKIA••••••••MPLE - OpenAI:
sk-proj-abc123...456yz→sk-proj-••••••••56yz
3. Command Line Script for Redaction
You can mask a secret string with a short awk command that retains the prefix and suffix while replacing the body with bullets:
echo "sk_live_51OzAbcdefghijklmnopqrstuvwxyzA" | awk '{
len=length($0);
if (len > 12) {
print substr($0, 1, 8) "••••••••" substr($0, len-3, 4);
} else {
print "••••••••";
}
}'
4. The Native Solution: RedactBar
RedactBar includes a built-in Copy Masked action. Whenever a key is copied, RedactBar recognizes the secret format and offers one-click copy of the safely redacted variant directly to your clipboard.