A free public tool that detects manipulation and fabrication tells in a passage of text. It names the rhetorical move, marks the exact span that triggered it, and explains in one plain sentence what that move is doing to the reader.
Fog Lifter does not adjudicate true or false. That is the design line, not a limitation. A veil only lightly obscures; fog distorts and confuses. The tool teaches you to see the distortion mechanism so your own judgment gets sharper, instead of outsourcing the verdict to a machine.
One mode. Paste text, lift the fog, read the flags. That is the entire surface.
- Input: any paragraph from an article, post, ad, or speech.
- Output: the source text with flagged spans highlighted and color coded by tell type, a list of every tell found with its mechanism, and a legend defining the tell types present.
- Engine: one Anthropic API call running a fixed taxonomy.
These are v2, not sprint fuel. Held out on purpose so v1 ships in two weeks:
- Speaker attribution
- Valence scoring
- Comparative mode (two passages side by side)
- The investigation-as-verdict fallacy
- Accounts, history, saved analyses
During methodology testing, the thing you iterate on is the tell set and the analysis prompt, not the UI. Both live at the top of src/App.jsx, inside the clearly marked METHODOLOGY-TESTING ZONE:
TELLSis the fixed v1 taxonomy: id, display label, highlight color, and the plain-language definition.buildSystemPrompt()assembles the analysis instruction from that taxonomy and pins the JSON output contract.
Add, cut, or reword a tell in one place and the highlighter, the flag list, and the legend all update from it. To run a new methodology pass, edit TELLS, reload, run the same test passages, and compare what gets flagged.
v1 ships with ten tells: loaded language, vague or unfalsifiable, false urgency, fear or outrage hook, strawman, anecdote as proof, false binary, unsourced authority, manufactured consensus, and deflection or whataboutism.
npm install
npm run devsrc/App.jsx calls the Anthropic API directly from the browser. That works inside a sandboxed preview, but a real public deploy must NOT ship an API key to the client, because anyone can read it and burn your quota. Before launch, move the API call behind a thin server proxy that holds the key and exposes a single /analyze endpoint. The front end then calls your endpoint instead of api.anthropic.com. On Supabase this is an Edge Function.
The whole tool is one self-contained component (App.jsx), so the port is mechanical:
- Spin up a Lovable React project.
- Drop in the
Appcomponent as the page. - Replace the direct
fetchtoapi.anthropic.comwith a call to your Supabase Edge Function (see above). - Keep
TELLSandbuildSystemPromptexactly as they are. They are framework agnostic.
The inline style objects are intentional, so the component carries its own look with no Tailwind config or external CSS to wire up. Once it is stable you can migrate them to Tailwind in Lovable if you want, but it is not required to ship.
Fog Lifter is a media literacy tool. Free, no account, public. It is built and maintained by Peregrine Frontiers, LLC.
Copyright (c) 2026 Peregrine Frontiers, LLC.