Skip to content

Scam Shield

Checks a text message for scam signals and turns them into an explainable verdict: code extracts link and sender signals, one parallel Jev call answers eleven typed questions, and a pure policy function weights them into a risk score.

Stars
0
Language
TypeScript
Published by
Community
Author
ShupingR
Last verified
Oct 2026

About this project

Checks a text message for scam signals with TypeSafe's Jev model, then turns those signals into an explainable verdict with rules you control. Code extracts facts it can observe: link domains, URL shorteners, risky TLDs, IP links, and whether the sender is a phone number, short code, or email address (signals.ts).

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

Highlights

  • Code extracts observable facts first: link domains, URL shorteners, risky TLDs, IP links, and whether the sender is a phone number, short code or email.
  • One parallel Jev call answers eleven narrow questions: eight Nouls, one Score for pressure, and one Choice for scam pattern.
  • The policy layer is a pure function, so dragging the threshold sliders re-scores stored results with no further API calls.
  • The API key stays server-side behind a single /api/check handler, served by a Vite plugin in dev and preview and a Vercel Function in production.

Watch out

The accuracy claim needs reading twice: on 16 hand-written samples the default policy flags 9 of 9 scams with 0 of 7 false alarms, but the weights and two of the questions were adjusted after looking at those same samples, and the README itself calls the result a smoke test rather than a measured accuracy. The author's own advice is to run npm run eval -- your-messages.json on real labeled texts before trusting the thresholds. The endpoint has no auth and no rate limit, so anyone with the URL can spend your TypeSafe credits; the README says to take it down or add protection after the demo. The README does not document token cost per message, latency, or which languages messages are expected to be in. 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

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
2GitHub stars
Jevegis wraps Jev into a single guardrail call for LLM apps: one request covering prompt injection, jailbreaks, credential and PII leaks, unauthorized actions, malicious code and indirect injection in retrieved documents, plus Trust & Safety moderation. It returns probabilities rather than booleans.
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
Self-hosted Google Apps Script that classifies Gmail by meaning with Jev Choice over your own dozen-label taxonomy, checking metadata first and full content only when confidence demands it.
Jev Tools & CLIs#community#jevbest#catalog-import
36GitHub stars
Stock decision terminal that gathers Valyu market evidence across five categories and uses Jev for a typed 30-day outlook with probability, signals, and timing.
Jev Tools & CLIs#community#jevbest#catalog-import
4GitHub stars
Playful chat demo that makes Jev hold a conversation one word at a time by picking from a compact 979-word vocabulary through repeated Choice calls.
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