Message Loupe

Methodology

What Message Loupe actually checks, and what it deliberately doesn't.

The signals we read

Every email carries a set of routing headers that travel with it from the sender's mail server to yours. They're invisible by default but preserved in the file you save. We read them locally in your browser and evaluate four broad categories:

How we get to a verdict

We don't score-and-threshold; we apply a small set of rules that mirror how an analyst triages a phish:

The money & credential cap

If the message body mentions money, banking changes, wires, gift cards, credentials, or login info, we never let the verdict rise above "Caution — verify by phone." Even a perfectly-authenticated email can be malicious if an attacker has compromised a real account at a real vendor. Header analysis is structurally blind to that case. The cap is our way of being honest about that blind spot.

The forwarded-message guard

Regular forwarding replaces the original headers with the forwarder's own, which destroys the evidence we need. If we detect a forward — by subject prefix, by a forward-separator block in the body, or by a Received chain that looks like a Sent-Items export — we short-circuit with a request to use "Save Original" or "Show Original" instead. We'd rather refuse to answer than answer wrong on a forwarded phish.

What we deliberately don't do

How we test ourselves

The engine is a port of an internal triage tool that has been calibrated against a curated set of real phishing samples and ground-truth analyst verdicts. We carry that fixture set forward as a regression check whenever the engine changes. If you find a sample where we get the wrong answer, email it (as a saved file, never just the body) to hello@messageloupe.com and we'll add it to the test set.