n8n-nodes-tenebrae-solo
v0.1.0
Published
n8n community node to screen AI prompts and text for security threats with Tenebrae Solo (POST /api/inspect) before they reach your AI step.
Downloads
181
Maintainers
Readme
n8n-nodes-tenebrae-solo
An n8n community node for Tenebrae Solo — the hosted AI security API. Add one node to any workflow to screen prompts and text for AI security threats (prompt injection, jailbreaks, and more) before they reach your AI/LLM step, and gate the workflow on the verdict.
We run the security layer — you add one node to your workflow.
Installation · Credentials · Operation · Gating your workflow · Response · Publishing status
Installation
From the n8n GUI (recommended — closest to one-click)
- In n8n, go to Settings → Community nodes.
- Click Install.
- Enter the npm package name
n8n-nodes-tenebrae-soloand confirm you understand the risks of community nodes. - Click Install. The Tenebrae Solo node now appears in the node panel.
GUI install requires self-hosted n8n (or an n8n instance where the owner has enabled community-node installs). See the n8n docs.
Manual / npm
# inside your n8n custom-extensions folder (~/.n8n/nodes by default)
npm install n8n-nodes-tenebrae-soloRestart n8n after installing.
Credentials
Create a Tenebrae Solo API credential:
| Field | Value |
|-------|-------|
| API Key | Your solo_ API key (48 hex chars, starts with solo_). Generate it in the Tenebrae Solo dashboard under Setup. |
| Base URL | https://solo.tenebraesecurity.com (default). Change only for a self-hosted/staging deployment. |
n8n sends the key as Authorization: Bearer <your solo_ key>. Saving the credential runs a connection test against POST /api/inspect, so an invalid key is caught immediately.
Operation
The node exposes a single operation:
Screen Text (inspect) — sends your text to POST /api/inspect and returns the security verdict.
| Parameter | Required | Description |
|-----------|----------|-------------|
| Text | Yes | The prompt/text to screen. Max 32768 bytes (32 KB). |
| Workflow Name | No | Label stored with the inspection to group activity in your dashboard. |
| Options → Context (JSON) | No | Optional JSON object passed through as request context. |
| Options → Error on Block | No | When on, the node fails on a block verdict, stopping the workflow before the AI step. |
Gating your workflow
Place the Tenebrae Solo node before your AI/LLM node. Two ways to gate:
- Simplest — Error on Block: enable Options → Error on Block. A blocked input throws, so the AI node never runs. (Connect an error branch if you want to handle it.)
- Explicit branch — IF node: leave Error on Block off and add an IF node after Tenebrae Solo. Continue to the AI step only when
{{ $json.blocked }}is nottrue(or branch on{{ $json.action }}—allow/warn/block).
Trigger ──▶ Tenebrae Solo ──▶ IF ($json.blocked is not true) ──▶ AI / LLM step
└── (blocked) ─────────▶ stop / alertResponse
POST /api/inspect returns (the node emits this as the item JSON):
{
"safe": true,
"action": "allow",
"blocked": false,
"message": "Plain-English explanation",
"detail": { "threat": "…", "severity": "Low", "confidence": 0.0 },
"latency_ms": 0
}action—allow|warn|block.blocked—trueonly on a block verdict; gate on this.- Tenebrae Solo fails open: if its detection engine errors,
/api/inspectreturns anallowverdict rather than blocking your workflow — availability is preserved.
Errors surfaced by the node
| HTTP | Meaning |
|------|---------|
| 401 | Invalid solo_ API key. |
| 400 | Bad input (empty, non-string, or over 32 KB). |
| 429 | Rate limit or monthly quota exceeded (Retry-After surfaced when known). |
| 503 | Tenebrae Solo database error. |
Enable Continue On Fail on the node to route errors to the output instead of stopping the workflow.
Compatibility
- Requires n8n with
n8nNodesApiVersion: 1and Node.js >= 20.15. - No runtime dependencies (calls the Tenebrae Solo HTTP API directly).
Build from source
npm install
npm run build # compiles TS + copies icons into dist/ via @n8n/node-cli
npm run lint # n8n community-node lint (strict)Publishing & verification status
- Ships in this repo (buildable now): the full community-node source — credential, node, icons,
package.jsonwith then8nblock, README. Any n8n user can install it via Settings → Community nodes once it is published to npm. - Requires owner external action to publish:
- Publish to npm as
n8n-nodes-tenebrae-solo(public). Per n8n's rules, from May 1, 2026 nodes submitted for verification must be published via GitHub Actions with npm provenance — not from a local machine. - Submit for verification to appear as a verified node in n8n's in-app registry (n8n review; verified nodes may have no runtime dependencies — this package has none). See the n8n Submit community nodes guide.
- Publish to npm as
Until then, users install by npm package name (GUI or npm install) — verification only adds the in-app "verified" listing and search.
License
MIT © J & M International Group LLC (d/b/a Tenebrae Security). This n8n integration package is a thin client of the public POST /api/inspect HTTP endpoint; it contains no Tenebrae Solo product source. The Tenebrae Solo service itself remains proprietary.
