guard-jev
Comment-moderation demo: one Jev call screens seven hazard Nouls and a severity Score, with the verdict computed by policy thresholds.
Overview
Moderation Guard is a small text moderation demo. Paste a comment and one Jev systemOne call screens it for seven hazards as Nouls plus one severity Score, in parallel. The verdict is computed in code from policy thresholds, with strict and permissive policies available through the API.
The API accepts up to 1,000 characters at 10 requests per minute per IP. Without a TypeSafe key it returns a keyword-heuristic mock flagged as such; with a key it calls Jev server-side. Hazards, policies and routing live in one file, and the README advises fitting thresholds on labelled traffic rather than treating them as universal. It deploys to Vercel. It is meant as a playground for trying typed moderation rather than as a production service.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this comment contain each of seven hazards? | yes · no |
| Score | How severe is this comment? | — |
How it works
- POST text with a policy to /api/moderate
- Jev answers seven hazard Nouls and a severity Score
- Code applies policy thresholds
- Return a verdict
Strengths
- One call for all checks
- Mock mode without a key
- Explicit advice to fit thresholds on real data
Caveats
- Demo; in-memory rate limiting
- Thresholds are illustrative
Getting started
bun install, cp .env.example .env.local (optionally add TYPESAFE_API_KEY), bun dev, then open http://localhost:3000.At a glance
- Type
- App
- Status
- prototype
- Language
- TypeScript
- Runtime
- Next.js web app
- Has code
- yes
Use cases and integrations
How curated lists describe it
Comment-moderation playground: paste a comment, Jev decides what to do with it.
hellogumbo/awesome-jev
Frequently asked questions
How many checks per comment?
Seven hazard Nouls and one severity Score in one call.
Can I run it without a key?
Yes, it returns a keyword-heuristic mock.
Who decides the verdict?
Code, using policy thresholds.
Related projects
Chrome extension that uses your Jev key to hide high-confidence sexual and solicitation replies on X behind reversible placeholders.
Browser extensionproductionTypeScriptOne-file Mastra input processor that asks Jev whether a message must be blocked, failing open behind a deadline and circuit breaker.
ProjectproductionTypeScriptChrome and Firefox extension that hides AI-written posts on X, LinkedIn, Reddit and YouTube by asking Jev 30 narrow style questions.
Browser extensionproductionJavaScriptText-only pseudonymous Spanish forum where Jev approves clearly clean posts and everything else goes to Claude, then humans.
ProjectproductionJavaScriptNode.js profanity and toxicity screener using Jev to catch leetspeak, spacing and romanised profanity in Indic and other languages.
ProjectbetaTypeScriptDiscord bot where Jev flags spam and scam links in real time, drives an escalating timeout ladder and profiles members.
ProjectbetaPython