Skip to content

scam-shield

Scam text checker where code extracts link and sender facts, Jev answers eleven narrow questions, and a pure policy scores risk.

Projectprototype

Overview

Scam Shield checks a text message for scam signals and turns them into an explainable verdict with rules you control. Code first extracts observable facts: link domains, URL shorteners, risky TLDs, IP links and whether the sender is a phone number, short code or email address. Jev then answers eleven narrow questions in one parallel call, including eight Nouls (such as whether it asks for credentials, requests unusual payment, or has a link that does not match the brand), a pressure Score and a scam-pattern Choice.

A pure policy function combines the judgments and code signals into a weighted risk score, with a floor so any single serious red flag at 90% or above cannot be marked safe; threshold sliders re-score results without new API calls. The key stays on the server behind one Web-standard handler. The README is honest that on 16 hand-written samples it flags 9/9 scams with 0/7 false alarms, but weights were tuned on those same samples, and it warns the hosted demo endpoint has no auth or rate limit.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this message ask for credentials?—
Yes / noDoes the link not match the claimed brand?—
ScoreHow much pressure does this message apply?—
ChoiceWhich scam pattern does this message follow?—

How it works

  1. Extract link and sender facts in code
  2. Ask Jev eleven questions in one call
  3. Combine into a weighted risk score with a red-flag floor
  4. Show an explainable verdict; sliders re-score locally

Strengths

  • Explainable verdict from named signals
  • Threshold changes need no new calls
  • Unit tests for parsing and policy without API calls

Caveats

  • Accuracy only smoke-tested on 16 samples used for tuning
  • Demo endpoint lacks auth and rate limiting
  • No licence stated

Getting started

cp .env.example .env.local (add TYPESAFE_API_KEY), then npm run dev; npm run eval runs labelled samples.

At a glance

Type
Project
Status
prototype
Language
TypeScript
Runtime
Vite app / Vercel Function
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Eleven narrow scam signals per message, such as credential requests, payment pressure and brand mismatch.

How accurate is it?

Unmeasured; the README calls its 9/9 and 0/7 result a smoke test on tuning samples.

Can I change sensitivity?

Yes, sliders adjust thresholds and re-score without new API calls.

Related projects

  • Discord bot where Jev flags spam and scam links in real time, drives an escalating timeout ladder and profiles members.

    ProjectbetaPython
  • Dry-run-first Proton Mail Bridge triage on macOS where Jev answers whether each message is spam or phishing.

    ProjectbetaPython
  • Reproducible benchmark of Jev vs Claude Haiku 4.5 on 2,000 emails deciding whether an agent should click a link, with calibration audit.

    BenchmarkresearchPython
  • Workflow design article: one Jev Noul asks whether a domain name refers to a protected brand, with the TLD kept out of the input.

    Articleproduction
  • Chrome extension that uses your Jev key to hide high-confidence sexual and solicitation replies on X behind reversible placeholders.

    Browser extensionproductionTypeScript
  • Android notification and SMS noise gate: local OTP and blacklist rules first, then Jev decides what is noise, failing open on uncertainty.

    ProjectbetaKotlin