@miclivs/pi-psst
Pi extension that injects psst vault secrets into bash and scrubs them from output
Package details
Install @miclivs/pi-psst from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@miclivs/pi-psst- Package
@miclivs/pi-psst- Version
0.2.0- Published
- Apr 7, 2026
- Downloads
- 262/mo · 10/wk
- Author
- miclivs
- License
- MIT
- Types
- extension
- Size
- 10.5 KB
- Dependencies
- 1 dependency · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-psst
A pi extension for psst — automatic secret injection and scrubbing for AI agents.
What it does
- Injects psst vault secrets as environment variables into every bash command
- Scrubs secret values from all tool output — bash, read, grep, everything the LLM sees
- Tells the LLM which secrets are available via the system prompt
- Never exposes secret values to the agent's context
You: "deploy using the stripe key"
Agent runs: curl -H "Authorization: Bearer $STRIPE_KEY" https://api.stripe.com
Agent sees: HTTP 200 OK, Authorization: Bearer [REDACTED:STRIPE_KEY]
Install
# Requires psst-cli
npm install -g psst-cli
# Install the extension
pi install npm:@miclivs/pi-psst
# or
pi install git:github.com/Michaelliv/pi-psst
Setup
# Create a vault and add secrets
psst init
psst set STRIPE_KEY
psst set DATABASE_URL
# Start pi — secrets are automatically available
pi
Commands
| Command | Description |
|---|---|
/psst |
List loaded secret names |
/psst-set NAME [value] |
Add or update a secret |
How it works
- On each bash call, the extension reads secrets from the local psst vault via the SDK
- Secrets are injected into the subprocess environment via
spawnHook - After any tool completes,
tool_resultscrubs secret values from the output before_agent_startadds secret names to the system prompt so the LLM knows to use$SECRET_NAME
The agent orchestrates. psst handles the secrets. The values never touch the context window.
License
MIT