Skip to main content
ThreatBody content

Zero-width / bidi chars inside an email link — URL obfuscation

href-contains-invisible-chars

What this tier means

High-confidence threat indicator — phishing, impersonation, BEC, or scam pattern. Strong contributor to the trash decision.

How Gorganizer detects this

An `<a href>` in the body contains a zero-width or bidi-control Unicode character inside the URL itself. Attack: `https://paypa\u200Bl.com/signin` renders to sighted users as `https://paypal.com/signin` but the URL parser sees a different hostname. URL-level sibling of the sender-level `invisible-chars-in-from` signal — same Unicode-control attack family applied to link destinations instead of the From header. Detection uses the same character range (U+200B-200F, U+202A-202E, U+2060-2064, U+FEFF) and runs before the http(s) scheme guard so the signal fires even on mailto:/tel: hrefs that carry an invisible char. Legitimate URLs never contain these characters — any brand that uses a non-ASCII domain registers the punycode or raw Unicode form cleanly, not with mid-word zero-width breaks.

False-positive guard

Every signal in Gorganizer feeds a multi-module score — never a sole verdict. This is a threat-tier signal — it adds a strong contribution to the trash score. The full pipeline still requires convergence across multiple modules + a margin over the safety floor before deletion happens, and Gmail's trash (30-day recovery) is always used — never permanent delete.

About the scoring engine

Gorganizer's scoring engine emits over 1,800 signals across six modules — headers, sender, subject, body, attachments, and structural metadata. Every email is scored by every module independently; the final verdict requires multiple modules to agree and the trash score to beat the safety floor by a margin.

Sacred safety guards — never delete starred emails, replies, calendar invites, receipts/invoices, or attachments — apply unconditionally regardless of any signal.

Ready to clean your inbox?

Gorganizer scans your Gmail with this signal and 1,800+ others, then cleans everything in one click. $4.99 one-time, no subscription.

Get started