Local output boundary
for command execution

HushLine runs a command, then redacts and shapes stdout and stderr before they reach a prompt chain, automation step, or CI log. No telemetry. No cloud dependency.

Beta AGPL-3.0 Active Development
4
Independent Cores
5.07ms
Rust Median
204.7
MB/s Rust
100%
Byte-Identical
0
Telemetry
v0.1.7
GitHub Action
$ hushline mute -- terraform plan
Plan: 3 to add, 1 to change
token = [REDACTED]
… 1,284 noisy lines bounded
✓ exit code preserved
01 / Capabilities

A smaller, quieter execution boundary. HushLine is deliberately thin — it does not replace a secret manager or sandbox; it gives command output a deterministic local filter before the next system sees it.

Local by construction — Filtering happens on the machine running the command, with no network reporting or telemetry.
Regex redaction — Mask tokens, credentials, and project-specific patterns using explicit, reviewable rules.
Output bounds — Limit line count and width so unexpected command output cannot flood prompts or logs.
Noise shaping — Strip ANSI sequences and apply ordered silence rules while preserving useful structure.
Permit gate — Optionally require a local marker before commands can execute in a working directory.
Exit semantics — Keep the child process exit code and choose whether stderr is shaped or discarded.
Command contract

One command surface, implemented identically by all four cores. See Cores for the full registry and isolation rules.

hushline mute -- <command> [args...]  # run and shape output
hushline manifest init [--global|--local]
hushline permit [status|allow] [path] # local permit gate
hushline version
02 / Pipeline

One contract, four implementations. The Go reference, Rust, Python, and Node cores implement the same command contract independently and produce byte-identical output in the published benchmark corpus.

Run command
locally
Capture
stdout + stderr
Redact + bound
strip, mask, limit
Return shaped
output + status
03 / Install

Choose the core that fits your stack. Each core is a standalone package — you do not need the other runtimes.

Go
reference
go install github.com/anulum/HushLine/cmd/hushline@latest
Rust
fastest measured
cargo install hushline
Python
stdlib only
pip install hushline
Node
stdlib only
npm install -g hushline
04 / Evidence

Measured, not generalized. Published results for a 20,000-line, approximately 1.04 MB fixture over seven repetitions. Output was byte-identical across all four cores.

CoreMedian latencyThroughputOutput parity
Rust5.07 ms204.7 MB/sByte-identical
Go12.85 ms80.7 MB/sByte-identical
Node52.94 ms19.6 MB/sByte-identical
Python59.85 ms17.3 MB/sByte-identical

These figures are hardware- and workload-specific, not universal performance claims. Reproduce them from the public repository before making deployment decisions.

05 / Security boundary

Defense in depth, with explicit limits

HushLine reduces accidental disclosure in output; it is not a secret-management guarantee.

The child process still receives its configured environment and permissions.
--raw intentionally bypasses redaction and shaping.
Redaction regexes need review and tests for your own credential formats.
Use sandboxing, least privilege, and a real secret manager alongside it.