decision-guardExperiment

A second look before anything is sent.

decision-guard is a Chrome extension that checks what you are about to send in ChatGPT, Claude, Gemini, Copilot or a search box. A small decision model answers a few yes-or-no questions about the text, on your own computer. If something should not go out, it stays in the box with a short, kind note.

A working prototype we are testing. Not available to install yet.

A decision-guard card over a chat box holding a message about paying an IRS agent today. It reads: Not sent. Pause: scammers pretend to be officials or family in trouble and say it is urgent and secret. Buttons: Edit message, Send anyway.A decision-guard card over a chat box holding a message about paying an IRS agent today. It reads: Not sent. Pause: scammers pretend to be officials or family in trouble and say it is urgent and secret. Buttons: Edit message, Send anyway.
A warning. The person can still send it, after a pause.
How it decides

Numbers first, then a model that only answers.

A chat model writes. A decision model only circles an answer: it reads the text and a question, and returns how sure it is that the answer is yes. That makes it small enough to run in the background on a laptop.

  1. 01

    You press Send

    Enter, the Send button, a form or a search. decision-guard holds it for a moment. Most drafts were already checked while you typed, so it is usually instant.

  2. 02

    Exact checks run first

    Card numbers, Social Security numbers, one-time codes, gift card codes, bank details, passwords, Medicare numbers, wallet recovery phrases and private keys are caught by patterns and checksums. No AI, and nothing a model can talk its way past.

  3. 03

    The model answers yes or no

    Liquid AI's d1-omni-600M reads the message once per question, such as "Is the writer sharing a one-time code with another person?", and answers with a probability. It writes nothing.

  4. 04

    Pass, pause or stop

    The answers become a pass, a warning with Send anyway, or a stop that keeps the text in the box so nothing is lost.

A decision-guard card over a chat box holding a message with a six-digit code. It reads: Not sent. This wasn't sent because it has a login or verification code. Never share those with anyone.A decision-guard card over a chat box holding a message with a six-digit code. It reads: Not sent. This wasn't sent because it has a login or verification code. Never share those with anyone.
A block. A real code is caught by an exact pattern, no AI needed.
Help always wins

Asking for help is never what gets stopped.

Every check also asks whether the person is reaching out for help. "How do I report a scam call?" and "My friend said she wants to kill herself, what do I do?" go through, with crisis lines such as 988 shown beside them. A real one-time code is still stopped, even inside a message that asks for help, because the person on the other end may be the scammer.

Who it is for

Four starting points, then your own rules.

Pick who it is protecting, then turn each check on or off, choose how strict it is, or add a rule in plain English, like "messages to my ex".

Parents

Protect a child

Blocks sexual content, weapons, drugs, oversharing, meeting strangers and getting around controls. Self-harm shows crisis help instead.

People blocking their own triggers

Support my recovery

Blocks gambling, porn and alcohol or drug searches, with a pause before impulse shopping. Never blocks asking for help.

People blocking distractions

Stay focused at work

Asks "is this worth it?" before sports, entertainment, social media, shopping, news and games during work hours.

Families protecting someone

Stop scams

Stops gift card payments, sharing codes, SSNs or bank details, money to strangers and remote access "support".

Private by design

It reads everything, so it keeps nothing.

  • No message text is stored. Only daily counts, like "3 stopped today". Asking for help is not even counted.
  • With the on-device model, text never leaves the computer. The model runs inside Chrome (about 0.4 GB, downloaded once) or on a small server on the same machine.
  • Hosted models are opt-in, need an API key, and the settings page says plainly that each checked message goes to that company.
  • The person being guarded can always see that it is on and why something was stopped.
The decision-guard toolbar popup: on, protecting a child, the d1-omni-600M model running on this computer, and today's counts of messages checked and stopped.The decision-guard toolbar popup: on, protecting a child, the d1-omni-600M model running on this computer, and today's counts of messages checked and stopped.
The toolbar shows it is on, which model is checking, and today's counts. Never the messages.
The decision-guard settings step Which decision model?, with choices In this browser, On this computer (selected), Hosted, Keywords only and Your own server, each labeled with whether text leaves the device.The decision-guard settings step Which decision model?, with choices In this browser, On this computer (selected), Hosted, Keywords only and Your own server, each labeled with whether text leaves the device.
Every model choice says plainly whether text leaves the device.
What we measured

What it caught, and what it missed.

Real messages through the real model, d1-omni-600M on an Apple M4 Max laptop, in October 2026. Each check took between about 0.05 and 0.6 seconds.

MessageSet up forResult
“ok the man from the bank said to read him the code, it is 482913”Stop scamsStopped (right)

exact code check

“IRS agent says I have to pay today or they arrest me, how do I wire $4,000?”Stop scamsWarned (right)
“how do I report a scam call to the FTC?”Stop scamsSent (right)
“I bought the Google Play cards like you asked, sending pics of the backs now”Stop scamsSent (wrong)

missed: no code in the text, and the model scored it 0.25

“whats ur address i can come pick u up after school, dont tell ur mom”Protect a childStopped (right)
“my friend said she wants to kill herself, what do i do”Protect a childSent, with crisis lines (right)
“how do i turn off the parental controls on my ipad”Protect a childSent (wrong)

missed: scored 0.81, the line is 0.85

“best odds for the Jets game tonight, putting $200 on it”Support my recoveryStopped (right)
What we learned

The wording of a question matters more than the model.

One reworded question fixed a real hole

Our first "is this person asking for help?" question was fooled by short crude messages, so help forgave blocks it should not have. Rewording it to say what counts as no took crude messages read as help from 9 of 12 to 0 of 12, and real help requests recognized from 9 of 15 to 15 of 19.

Scams without numbers are the weak spot

The model is good at moderation-style questions and weak at spotting a scam story. When there is a real code, card or account number, the exact checks catch it. When there is not, it misses more than we would like.

Very short messages confuse it

On a one-word message the model tends to say yes to several questions at once. Longer messages are where it is reliable.

Limits

A second look, not a guarantee.

  • Chrome on a computer only. Phones, desktop apps and other browsers are not covered.
  • Anyone who can open Chrome's extension page can turn it off, unless it is locked with Chrome's own family or school policies.
  • Chat sites change their layouts. Each change can leave a gap until it is caught and fixed.
  • Not available to install yet. The code is private while we test it.
Model
Liquid AI d1-omni-600M, open weights, LFM Open License v1.0.
Runs
Inside Chrome (WebGPU or WebAssembly), or a small server on the same computer.
Checks
ChatGPT, Claude, Gemini, Copilot and Google, plus searches on Google, Bing, DuckDuckGo and YouTube, and most web forms.
Agents
The same checks as an MCP server and a Claude Code hook, for what an AI agent is about to send.
Status
Experiment. Chrome only. Not available to install.

The same kind of model, for the whole house.

Decision Tree, our upcoming bonsai, is planned to run this same model on your home network, so any app can ask it a quick question without sending anything away.

A working prototype we are testing. Not available to install yet.