Documentation

n8n-nodes-promptguard

Thin-client n8n community nodes that call the PromptGuard Gateway.

Install

If published to npm, install via n8n’s Community Nodes UI: n8n-nodes-promptguard.

For local development (unpublished) in Docker, use N8N_CUSTOM_EXTENSIONS.
Important: when installing with npm, point N8N_CUSTOM_EXTENSIONS at the node_modules directory so n8n discovers the package.

docker run --rm -it --name n8n \
  -p 5678:5678 \
  -e N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom/node_modules \
  -e N8N_HOST=localhost \
  -e N8N_PORT=5678 \
  -e N8N_PROTOCOL=http \
  -e WEBHOOK_URL=http://localhost:5678/ \
  -v n8n_data:/home/node/.n8n \
  -v /path/to/.n8n-custom:/tmp/pg \
  --user root \
  --entrypoint /bin/sh \
  n8nio/n8n -lc 'set -e; mkdir -p /home/node/.n8n/custom; chmod -R a+rwx /home/node/.n8n/custom; npm i --prefix /home/node/.n8n/custom /tmp/pg/n8n-nodes-promptguard-*.tgz; chmod -R a+rX /home/node/.n8n/custom; exec su -s /bin/sh node -c "n8n"'

In n8n, add credentials PromptGuard API:

  • Base URL: http://host.docker.internal:8080 (or your gateway URL)
  • API key: optional (leave empty in demo)

Nodes

  • PromptGuardPlanPOST /v1/plan
  • PromptGuardValidatePOST /v1/validate
  • PromptGuardDistillPOST /v1/distill
  • PromptGuardLinearizePOST /v1/linearize
  • PromptGuardApprovePOST /v1/approve

Quickstart

  1. Start the gateway (local dev uses http://localhost:8080).
  2. In n8n, create PromptGuard API credentials with the base URL + API key.
  3. Import the example workflow at packages/examples/workflows/promptguard-approval-roundtrip.json.
  4. Update the example nodes with your intent text and credentials, then run.

The approval flow is: Plan → Validate → Linearize → Approve → Validate. Your execution layer should only run when the second validation returns ALLOW.

Screenshots

TODO: add screenshots:

  • docs/screenshots/plan.png
  • docs/screenshots/validate.png
  • docs/screenshots/distill.png
  • docs/screenshots/linearize.png
  • docs/screenshots/approve.png

Discussion