Crates.io | biip |
lib.rs | biip |
version | 0.8.0 |
created_at | 2025-08-03 14:03:55.621386+00 |
updated_at | 2025-08-30 11:45:13.618789+00 |
description | Redact sensitive information from text! |
homepage | https://github.com/crodjer/biip |
repository | |
max_upload_size | |
id | 1779761 |
size | 80,734 |
biip
(Beep + PII) is a tool (and a library) to scrub PII from text.
For Linux and MacOS, you can install biip
using the pre-built binaries:
curl -sfSL https://raw.githubusercontent.com/crodjer/biip/main/download.sh | bash
If you have Rust installed, you can install biip
using Cargo:
cargo install biip
Pipe any text to biip
to have it scrub away sensitive information.
For example, if you have a file with content:
Hi, I am "awesome-user"
Current Directory: /Users/awesome-user/foo/bar/baz
My Secret Key: mAM3zwogXpV6Czj6J
My Email: foo@bar.com
My IPs:
- 2001:db8:85a3::8a2e:370:7334
- 8.8.8.8
Connect via ftp://user:pass@example.com
Auth token is eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.sZtZQ...
My MAC address is 00-1A-2B-3C-4D-5E.
biip
can redact some sensitive information from it:
$ biip /tmp/info.txt
─── /tmp/info.txt ───
Hi, I am "user"
Current Directory: ~/foo/bar/baz
My Secret Key: ••••⚿•
My Email: •••@•••
My IPs:
- ••:••:••:••:••:••:••:••
- ••.••.••.••
Connect via ftp://••••:••••@example.com
Auth token is ••••🌐•
My MAC address is ••:••:••:••:••:••.
Other ways to run:
cat /tmp/info.txt | biip
biip
, type in or paste your text in the editor. For
example: biip | pbcopy
can be used to paste or type in arbitrary text and
copy it to the clipboard.Biip can scrub:
~
.https://user:pass@...
).•••@•••
.••••⚿•
.BIIP
(e.g., BIIP_PERSONAL_PATTERNS
, BIIP_SENSITIVE
) has its value redacted with ••••⚙•
.When sharing code with LLMs for AI assistance, running it through biip
would
be beneficial to strip out any sensitive info. Like this:
fd -t f | xargs biip | pbcopy
This will copy your entire codebase to clipboard, excluding large files and
redact sensitive information. On Linux, use xclip
(for X11) and wl-copy
(for
wayland) instead of pbcopy
.
To exclude files (like LICENSE, Cargo.lock, .svg, etc.) which could unnecessarily
bloat context, use .fdignore
.
Note: When reading files via arguments (including
xargs biip
),biip
automatically skips binary files. You usually don't need to exclude image formats explicitly.
biip
considers .env
, so it'll remember to not share any sensitive keys even
if .env's content was in the stdin.
So, biip
would redact (keys, secrets etc) from the output:
$ cat .env | biip
S3_KEY="••••⚿•"
S3_SECRET="••••⚿•"
OPENAI_API_KEY="••••☁️•"
BIIP_PERSONAL_PATTERNS="••••⚙•"
BIIP_SENSITIVE="••••⚙•"