Skip to content

Triagedy

A Rust filter that reads JSONL security alerts on stdin and asks five Jev questions per alert — disposition, severity, false positive, escalation, ATT&CK class — then applies the routing policy in ordinary code you control.

Stars
1
Language
Rust
License
MIT
Published by
Community
Author
m0rphtail
Last verified
Oct 2026

About this project

Alert triage as a UNIX filter: JSONL security alerts in, typed decisions out. Powered by TypeSafe Jev (System One) by default — typed decisions with calibrated probabilities in 200 ms, cheap enough to run a screen in front of every alert so your expensive triage tools (and your humans) only see what survives it. One binary. No daemon, no database, no framework. Pipe it, host it, cron it.

Quoted from the project's README. Read the full README.

Highlights

  • The model judges and your code decides: the routing thresholds live in src/policy.rs as plain Rust, with no prompts and no framework.
  • Five orthogonal questions use all three primitives — two Choice, one Score, two Noul — mapped to NIST SP 800-61 triage and the ATT&CK Enterprise Matrix.
  • Answers are validated against the declared option sets and ranges first, and an invalid answer becomes an error record rather than a silent default.
  • Parallel runs keep input order, a bad line becomes an error record instead of killing the batch, and --context lets a previous run downgrade restatements.

Watch out

Triage is not detection. The tool assumes something upstream already produced the alert, and applies a codified SOC Tier-1 workflow whose five questions map to specific NIST SP 800-61 sections and ATT&CK technique categories, with the formal spec in docs/SECURITY_WORKFLOW.md — so an attack that never produces a recognisable alert never reaches it. The routing thresholds are authored constants in src/policy.rs, not values fitted to your traffic: a close must clear a false-positive gate that tightens as severity rises, an investigate escalates only when escalation probability and severity both clear their bars, contain is never downgraded, and any confidence under 0.6 flags the record for review. The README documents no procedure for re-fitting those thresholds to your own environment. The on-prem fallback is honest about its cost: --backend openai works against any OpenAI-compatible server and keeps the same output shape, but there the confidences are the model's self-report, so records are marked confidence_calibrated false, get an advisory note, and high-impact actions force review. The claimed round trip is roughly 200 ms per alert, which is what makes a screen in front of every alert plausible. --backend ollama and --ollama-url still work but are legacy aliases. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

30GitHub stars
Rust CLI that checks each PDF page for a usable text layer, extracts text pages locally, sends only the rest to an OCR model via LiteLLM, and merges a page-ordered result.
Jev Tools & CLIs#community#jevbest#catalog-import
2GitHub stars
A Tauri desktop workspace for running coding agents side by side: parallel task queues in isolated Git worktrees, your existing agent sign-ins, and a review step before anything is merged.
Jev Tools & CLIs#community#jevbest#catalog-import
38GitHub stars
Python memory filter that judges every stored memory against the current request with one calibrated yes/no per memory in a single Jev request, keeping everything above a threshold.
Jev Tools & CLIs#community#jevbest#catalog-import
30GitHub stars
Browser extension that filters your X timeline with a model you choose and pay for, using plain-language rules plus per-author and blocked-word controls.
Jev Tools & CLIs#community#jevbest#catalog-import
39GitHub stars
Video tool where Jev scores subtitle segments and code assembles a short highlights cut plus a de-watered full cut with timestamped summaries.
Jev Tools & CLIs#community#jevbest#catalog-import
24GitHub stars
macOS floating WeChat companion that reads the visible chat with on-device Vision OCR, judges intent and reply risk with Jev, drafts toned replies with GPT, and only fills text after you approve it.
Jev Tools & CLIs#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

The request shape barely changes across surfaces; the surrounding contract does. When to call the API directly and when a gateway, a Worker binding, or a router entry earns its extra hop.
Jev Tools & CLIs#gateway#vercel#cloudflare
Read article
Taking a decision checkpoint out of Python: what the GGUF and browser WebGPU exports preserve, what they change, and the parity evidence the model cards publish.
Jev Tools & CLIs#open-models#local#onnx
Read article
Jev labels a record that already exists. Code moves, flags, or holds it. How the document, mail, and transfer tools keep the action out of the model.
Jev Tools & CLIs#classification#email#security
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai