jev-classifies-bots
Event-stream layer labelling signups, logins and checkouts as human, AI agent, crawler or bot, with a bad-intent probability.
Overview
jev-classifies-bots is a real-time customer data pipeline transformation that uses Jev as a System One decision layer to label high-stakes events, such as signups, logins, checkouts and installs, before they reach a warehouse or analytics, marketing and product tools. It classifies who is behind each event (human, AI agent, AI crawler, search crawler, SEO tool, scraper or other automation) and gives a 0-1 probability that the event is abuse.
It is aimed at data teams: known bots can be caught by rules, and this layer classifies the rest so teams can drop abuse, keep AI-agent checkouts acting for real customers, clean bots out of DAU, funnels and A/B tests, and see crawler traffic as its own category. It adds fields such as isBot, bot category, bad-intent probability and kind confidence to each event, and recommends tagging first and dropping later. The README compares the approach with deterministic rules. It is MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Who produced this event? | human · ai_agent · ai_crawler · search_crawler · seo_tool · scraper · other_automation |
| Yes / no | Is this event abuse? | yes · no |
How it works
- Event enters the pipeline
- Rules catch known bots
- Jev classifies the rest and estimates bad intent
- Fields added to the event; tag first, enforce later
Strengths
- Distinguishes useful AI agents from abusive bots
- Cleaner analytics and experiments
- Measure before enforcing
Caveats
- Event data sent to TypeSafe
- Thresholds need tuning per product
At a glance
- Type
- App
- Status
- prototype
- Language
- JavaScript
- Runtime
- data pipeline transformation
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
A jev intelligence layer for event stream to classify the app traffic into human vs aiagent vs seotool vs scraper vs otherautomation with badintent probability.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
What kind of actor produced each event and the probability it is abuse.
Will it block AI agents?
It distinguishes legitimate AI agents from abuse so teams can keep useful agent traffic.
Should I drop flagged events immediately?
The README recommends tagging first and measuring before enforcing.
Related projects
Zero-dependency HTTP traffic and bot defense gate that can escalate requests to Jev for five typed risk questions.
ProjectbetaTypeScript, PythonGallery of small Python demos where Jev answers typed questions on realistic state and explicit policy decides the action or fallback.
AppprototypePythonGEO analytics platform tracking brand visibility in AI answers; a feature flag moves its visibility classifiers onto Jev booleans.
ProjectproductionTypeScriptUnix filter for security alert triage: JSONL alerts in, Jev answers five typed questions, code routes each alert.
ProjectbetaRustOffensive-security triage agent giving typed judgments on exploitability, impact and next attack path, gated by validators.
ProjectprototypePythonSAP S/4HANA proof of concept that sends anonymised purchase-order risk indicators to Jev and classifies orders to release, approve or block.
ProjectprototypeABAP