SML Risk Firewall
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
Descripción del creador (original en inglés)
Agent-safe secrets (local encrypted vault or Vaultwarden): injected into commands, masked in output
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"keyshroud": {
"command": "npx",
"args": [
"-y",
"keyshroud",
"mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add keyshroud -- npx -y keyshroud mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"keyshroud": {
"command": "npx",
"args": [
"-y",
"keyshroud",
"mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"keyshroud": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"keyshroud",
"mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub dinhkarate, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.8.0) llegó al registro hace 5 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Your agents use the keys. They never see them.
Keep API keys out of Claude Code, Codex, Cursor, Cline, OpenCode, Gemini CLI, pi and omp — secrets stay in an encrypted vault on your machine (or in your own Vaultwarden or Bitwarden, to share them between machines), and every value is masked before the model reads it.
🚀 Quickstart · 🔐 Local vault · 🔄 Sync with Vaultwarden · 🔌 Supported agents · ⚙️ How it works · ❓ FAQ · 🛡️ Security model · 🌐 Website
🇻🇳 Tiếng Việt · 🇨🇳 简体中文 · 🇯🇵 日本語
$ keyshroud run --mask -- sh -c 'echo "deploying with $GH_TOKEN"; gh api user -q .login'
deploying with dinhkarate
The command got the real token. The transcript — and the model reading it — got . (Masking is automatic when an agent runs the command; --mask forces it in a human terminal.)
Coding agents need credentials to do real work: gh, npm publish, cloud CLIs, webhooks, databases. The usual options are bad:
cats it while debugging, or commits itop run needs a 1Password subscription, and most "agent vaults" are hosted SaaSkeyshroud fixes this:
GH_TOKEN and local://GitHub token, never the token | 🙈 Masked output | keyshroud run replaces every secret value in stdout/stderr with — streaming-safe across chunk boundaries. |
| 🔐 Local vault | An AES-256-GCM file whose key is in the macOS keychain, the Linux Secret Service or Windows DPAPI (a passphrase where there is none). No account, no server, no bw. |
| 🪝 Agent hooks | The pi/omp tool_result hook redacts every tool result, failed ones included. Claude Code's PostToolUse hook redacts every *successful* tool result (Bash, Read, Grep, MCP…) — see limits. |
| 🔌 MCP server | For clients without a shell: keyshroud mcp gives them secrets_run, secrets_list, secrets_request, vault_status. No tool ever returns a value. |
| 🔗 Committable references | local://item, bw://item, bw://item/username, bw://item/fields/name, bw://item/totp in .env.refs files and templates: names, not values. |
| ⌨️ Paste-to-create | New secrets go through a masked prompt in the user's terminal or a masked popup in pi — never through the chat. |
| 📄 `inject` | Render {{ local://… }} and {{ bw://… }} templates into 0600 config files for tools that can't read env vars (.npmrc, kubeconfig). |
| 🔎 `scan` | Find vault values that leaked into your working tree (pre-commit friendly). |
| ⚡ Fast | The local vault answers in milliseconds, offline. With Vaultwarden: one batched bw list items per session instead of one bw get (~3 s) per secret. |
| 🔄 Optional sync | Vaultwarden on a $5 VPS or a Raspberry Pi, or Bitwarden, when the same secrets should reach several machines. local:// and bw:// references work side by side. |
| 🧾 Audit log | audit.jsonl records which *names* were used, when, by which command. Never values. |
| Agent | Install | What you get |
|---|---|---|
| Claude Code | plugin | SessionStart + PostToolUse redaction hooks, skill |
| pi / omp | pi install npm:keyshroud | env hydration, tool_result redaction (failed calls too), /secret |
| Codex, OpenCode, Gemini CLI, Cursor agent | npx skills add dinhkarate/keyshroud | skill + CLI with masked output |
| Claude Desktop, chat-only clients | mcpServers JSON | MCP tools with masked output |
| Any shell or CI | keyshroud run -- | env injection + masked output |
Agents with a shell use the CLI: it costs no tool schemas in the context, and keyshroud run masks output whatever the exit code. The MCP server is for clients that cannot run commands.
"Claude Code keeps reading my `.env`." Run keyshroud import to move the values into the vault and write a .env.refs file with lines like GH_TOKEN=local://myapp GH_TOKEN, then start the agent with keyshroud run --env-file .env.refs -- claude. The plugin's hooks mask anything that still slips into a tool result.
"I already self-host Vaultwarden." Log bw in to it and run keyshroud doctor: a machine with a bw login keeps Vaultwarden as the default, and keyshroud adds no server of its own.
"I like `op run` but don't want 1Password." keyshroud run is the same idea — references in, masked output out — with the vault on your machine or on a server you host.
"My agent needs to add a new key." It runs keyshroud add or calls secrets_request (MCP), and a hidden-input dialog pops up on your desktop; in pi it is /secret. You paste the value there. It never enters the chat.
Requirements: Node.js ≥ 22.18. Nothing else: no account, no server.
npm install -g keyshroud
keyshroud add --env GH_TOKEN --item "GitHub token"
keyshroud run -- gh auth status keyshroud run -- claude # start an agent with every wired secret available
keyshroud doctor
$ keyshroud add --env GH_TOKEN --item "GitHub token"
Paste secret for GH_TOKEN: **************************************** keyshroud: created the local vault ~/.config/keyshroud/vault.json; its key is in the macOS keychain (keyshroud-vault-9f2c4e6a1b3d5f70), so programs running as you can open it without asking. created item=GitHub token env=GH_TOKEN targets=~/.omp/agent/auth.json,~/.pi/agent/auth.json verified=yes
Without a terminal (an agent's shell), add opens a hidden-input dialog on your desktop instead, so an agent can start it and you only paste. Already have a .env? keyshroud import moves it.
~/.config/keyshroud/vault.json holds every item, encrypted with AES-256-GCM under one random 256-bit key. Item names are encrypted too; the file is 0600. Where the key lives depends on the machine:
| Machine | Key | Unlocking |
|---|---|---|
| macOS | login keychain, entry keyshroud-vault- | none |
| Linux with a desktop keyring and systemd | Secret Service (secret-tool; found with busctl) | none |
| Windows | DPAPI, bound to your Windows account | none |
| Docker, servers, SSH with a locked keyring, Linux without systemd | derived from a passphrase (scrypt) | keyshroud unlock; a session ends after 30 minutes |
The key mode is chosen once, when the vault is created. To be asked for a passphrase on any machine, create it with KEYSHROUD_VAULT_KEY=passphrase keyshroud unlock in a terminal (typed twice, at least 12 characters). When a session has ended, a command that needs a secret asks again: a masked prompt in a terminal, a dialog on the desktop, and over SSH it tells you to run keyshroud unlock.
Nothing can recover a lost key or a forgotten passphrase, and the vault belongs to one machine. vault.json is safe to copy as long as its key is not. For backups and several machines, use Vaultwarden or Bitwarden.
Keep the secrets in Vaultwarden or Bitwarden instead to have them on several machines; run, the hooks, the MCP server and everything else work the same, through the Bitwarden CLI.
Get a vault — pick one:
keyshroud doctor, plus backups and hardening.bw config server below (EU accounts: bw config server https://vault.bitwarden.eu).npm install -g @bitwarden/cli
bw config server https://vault.example.com bw login
mkdir -p ~/.config/keyshroud && echo bw > ~/.config/keyshroud/backend
keyshroud unlock
keyshroud doctor
keyshroud picks the default once per machine and writes it to ~/.config/keyshroud/backend: Vaultwarden when it finds a bw login or anything keyshroud 0.7 left behind, so upgrades change nothing; the local vault otherwise. KEYSHROUD_BACKEND=local|bw overrides it, and keyshroud setup switches to Vaultwarden by itself. References name their vault, so local://… and bw://… items work side by side, and --item local://Name or --item bw://Name picks one for a single item.
keyshroud never stores the master password unless you do. When Vaultwarden is locked and a command needs a secret, it asks: a masked prompt in a terminal, a native dialog on the desktop (so an agent's command waits for you), and over SSH it tells you to run keyshroud unlock. A session ends after 30 minutes (KEYSHROUD_SESSION_TTL_MS): a timer runs bw lock, so a copied session token stops working too. On a host nobody sits at, keyshroud unlock --unattended asks once, in a terminal only, and opens a session without an end.
To unlock without being asked, store the master password in the OS keychain (security add-generic-password -a "$USER" -s vaultwarden-master-password -w, or secret-tool store on Linux; after setup the entry is keyshroud-master-password; see the vault setup guide). Any program running as you can then read it, agents included. Windows has no keychain support for it.
With the steps above, an unlocked session opens your whole Vaultwarden vault, and an agent that runs bw as you can use it. setup gives keyshroud it
Solo se muestra el principio; lee el resto en el repo