Local-only command-output containment

Filter · redact · bound · permit

A safe boundary for the commands your agent runs.

HushLine is a thin, local wrapper that runs any command and filters, redacts, and bounds its output before the caller sees it. Built for deterministic, privacy-aware prompt chains where untrusted or noisy output would otherwise leak a secret or break the parser. No network, no telemetry — the Contain layer of the Anulum agent runtime.

Local-onlyno network, no telemetry
4 coresGo, Rust, Python, Node
AGPL-3.0open-source core on PyPI
v0.1.5shipped, early but real

Why a containment layer

The output of a command is an untrusted input to your agent.

A model that pipes raw stdout back into its context inherits whatever is there — a leaked credential, a 4,000-line log that blows the window, an injected instruction. HushLine sits in between.

Without a boundary

Raw output, raw risk

Secrets in logs reach the model and the transcript; noisy output overflows the context or breaks the parser; nothing limits which directory may execute.

HushLine

Filtered, bounded, permitted

Output is redacted, line-shaped, and capped before the caller sees it; a local permit gates which directories may run. Deterministic, on your machine, with no callout.

Where it fits

The Contain layer

Remember (Remanentia), Verify (Director-AI), Connect (Synapse), Contain (HushLine) — the four boundaries a language model cannot supply on its own.

What HushLine gives you

Four things between a command and your context.

Secret redaction

Optional regex redaction strips tokens, keys, and secrets from stdout and stderr before they ever reach the caller or the transcript.

Bounded output

Configurable line width and output limits keep a runaway log from overflowing the context window or breaking downstream parsing.

Execution permit

An optional local gate (.hushline/permitted) means only directories you have explicitly approved will execute when require_permit is on.

No callout

No network reporting, no telemetry, no cloud dependency. HushLine runs entirely on your machine and shapes output deterministically.

Quick start

Wrap one command. Keep the boundary.

# install (Python distribution)
pip install hushline

# create local + global profiles
hushline manifest init
hushline manifest init --global

# run a command through the muting pipeline
hushline mute -- git status
hushline mute --max-lines 80 --max-width 100 -- deploy --verbose

# approve a directory to execute
hushline permit status
hushline permit allow

mute runs the child process and routes its stdout/stderr through the configured filtering, redaction, and limit pipeline before returning.

permit stores a marker in .hushline/permitted, so only approved directories execute when the permit gate is enabled.

Distributed as a Python package on PyPI and a standalone Go binary; the muting core is implemented across four independent language cores for parity.

pip install hushlineGo · Rust · Python · Node coresregex redactionper-directory permitno telemetryAGPL-3.0

Honest status

Early but shipped. Open core on PyPI.

HushLine is at v0.1.5 — the command surface (mute, manifest, permit, version) is in place and the AGPL-3.0 core is public. It is the newest layer of the suite; treat it as an early, working tool rather than a hardened one.