Jev: Verify rules
Description
Section titled “Description”Runs a battery of yes/no checks on a text in a single call and exits through Pass (none fires) or Flagged (any exceeds its threshold). jev.failed says which ones and with what probability; jev.blocked is true if any was a block check.
It includes predefined checks (their instructions are in English, where Jev performs best):
| Preset | What it detects | Action |
|---|---|---|
spam | Spam or mass advertising | flag |
credentials | Asks for passwords, keys, codes or cards | block |
pii | Personal data (IDs, phones, addresses, accounts) | flag |
injection | Tries to manipulate an AI assistant | block |
You can add custom checks. Keep deterministic logic (dates, amounts) in code and use Jev only for judgement.
Configuration
Section titled “Configuration”Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | TypeSafe credential (API key). |
| model | select | Yes | Jev model. jev-latest is an alias that moves to new models on release (today jev-1.13.0); in production pin jev-1.13.0 or jev-1.14.0. |
| state_mode | select | Yes | What is evaluated: text (a text), object (object with named fields, recommended) or all (all data reaching the node). |
| state | textarea | No | Text or JSON object to evaluate. Supports \{\{field\}\} variables. |
| long_context | boolean | No | Long context (experimental): raises the text limit from 64k to 262k tokens. It is slower and less accurate; use it only when the text does not fit otherwise. |
| output_key | text | No | Key in the data where the result is stored. Default jev; the rest of the data is kept. |
| presets | text | No | Predefined, comma separated: spam, credentials, pii, injection. Default spam,credentials. |
| checks | json | No | Custom: list [{name, instructions, threshold?, action: "flag" or "block"}]. |
| default_threshold | number | No | A check fires if its probability is at or above. Default 0.7. |
Credentials
Section titled “Credentials”Requires a TypeSafe credential (credentials_id) holding the api_key from the TypeSafe console (TYPESAFE_API_KEY). The key is yours: TypeSafe bills the usage, not Floogos. In the credential, the Test button calls GET /v1/models (no tokens spent).
Output
Section titled “Output”The result is added to the input data (it does not replace it): the ticket or form stays available downstream. Read it as \{\{jev.field\}\}.
{ "nextModule": "selected-route-target", "data": { "...": "input data, untouched", "jev": { "passed": false, "blocked": true, "failed": [ { "name": "credentials", "probability": 0.95, "threshold": 0.7, "action": "block" } ], "checks": { "spam": 0.08, "credentials": 0.95 }, "route": "flag", "route_fallback": false, "model": "jev-1.13.0", "usage": { "input_tokens": 90, "output_tokens": 6 }, "cost_usd": 0.000004 } }}Several outputs: route_pass, route_flag. Each port connects to its target; the node chooses which one to exit through.
Example
Section titled “Example”Guard in front of an AI agent
Section titled “Guard in front of an AI agent”Place Jev: Verify rules with credentials,injection before an agent: Pass continues to the agent; Flagged replies with a neutral message and alerts a person.
- Privacy: the text you evaluate leaves Floogos for TypeSafe, a third party. Per their documentation it is not used for training, and zero retention exists only on their Enterprise plan. Do not send data you cannot share; filter first with the Jev: Verify rules node (
pii) if needed. - Language: Jev performs best in English; other languages, Spanish included, work with lower accuracy. Test with your own data before automating, and write instructions in English if results are unreliable.
- Variables: the engine substitutes
\{\{field\}\}in the configuration before running the node. The node does not substitute again, so user text containing braces travels as-is. - Cost: 0.042 $ per million input tokens; output is free.
jev.cost_usdis a per-run estimate. - Errors:
missing_credentials,validation(configuration or 422),auth_error(401),rate_limited(429),overloaded(529),state_too_large,jev_errorandconnection_error. 429, 529, 5xx and network drops retry automatically (up to 3 times with growing delay); the rest do not. - Confidence:
confidenceis not an accuracy guarantee: calibrate thresholds with your own cases and start conservative. Do not automate destructive actions.