Scan a file,
then let it fly.

Plume is a command-line file-sharing tool. Before a file leaves your machine it scans for secrets and personal data, then serves it over a self-destructing link with a QR code. Offline intelligence. No accounts. No cloud.

$pipx install plumefile
Get it on PyPI
Plume terminal: a HIGH risk scan card, a share code and link, a QR code, and a feature list.
offline secret + PII scan self-destructing link LAN or free tunnel data profile + sentiment no accounts, no cloud

See it work

One command tells you what is inside

plume scan inspects a file and prints one insight card. Here it is on a config file with a planted AWS key, a Stripe key and a private key block.

plume scan on a secrets file: risk HIGH, suggested expiry 2m, and a table of redacted findings.

Why Plume

A pre-flight pass, then a link that expires

!

Secret and PII scan

An offline regex ruleset finds private keys, cloud keys (AWS, Google, Stripe), GitHub and Slack tokens, JWTs, passwords, emails, IPs and Luhn-checked card numbers. Findings are redacted before they are shown.

#

Risk to expiry

A deterministic cascade turns the signals into low, medium or high and suggests a link lifetime. A live-looking credential forces a 2 minute default.

=

Data + text profile

CSV, TSV and JSON get row, column, dtype and null counts. Text gets word counts, readability and offline sentiment.

LAN or free tunnel

Shares over your local network out of the box, or a free public *.trycloudflare.com URL with --tunnel. No Plume-run servers.

Self-destructing

The link stops working at its expiry, with a grace window so a slow download still finishes. Chunked streaming, a 1.5 GB cap, nothing stored in the cloud.

Quickstart

Four commands

# inspect a file without sharing it
plume scan customers.csv

# scan, then seed it over a self-destructing link + QR
plume share report.pdf
plume share ./project-folder        # a folder is zipped into one archive
plume share secrets.env --tunnel     # also expose a free public URL

# receive by link or by code
plume get http://192.168.1.7:8737/amber-otter-42
plume get amber-otter-42 --host 192.168.1.7:8737 --out ./downloads
plume scan <path>

Run the pre-flight intelligence pass and print the insight card. Pure local.

  • --quiet, -q skip the banner
plume share <paths...>

Scan, then seed the file(s) over a self-destructing link with a QR.

  • --expire, -e 2m, 5m, 10m, 1h, or 45s
  • --tunnel, -t add a free public URL
  • --no-scan / --yes, -y
plume get <url|code>

Download a shared file with a progress bar and an ETA.

  • --host, -h host:port for a bare code
  • --out, -o save directory
plume serve

Run a persistent serving host for shares registered on this machine.

  • --port, -p default 8737