The Lab · Detection

Phish lab

Mail that names a company is only a claim. Six exhibits check it in the order a triage checklist does: the link, the characters, the headers, SPF, DKIM and DMARC. Each one does the arithmetic or the cryptography for real, in the page.

Everything runs in this tab and nothing is sent. Every name, address and message is made up, on reserved names and documentation address blocks.

About

Sources and limits

  • Links: RFC 3986 and the WHATWG URL parsing rules.
  • Punycode: RFC 3492. Internationalised names: RFC 5890.
  • Messages: RFC 5321 and RFC 5322.
  • SPF: RFC 7208. DKIM: RFC 6376. DMARC: RFC 7489.
  • Look-alike characters: 41 entries from Unicode's confusables.txt, the UTS #39 data in version 18.0.0. (c) 2026 Unicode, Inc. Unicode Terms of Use.

The public suffix list here has 12 rules, some of them reserved names or invented for the lab. The IDNA step lowercases, normalises and applies Punycode without the full Unicode tables. SPF macros, exists and ptr are not implemented.

The DKIM key is made in this tab and discarded on reload, so signatures differ on every visit. The page is not affiliated with Unicode, the IETF or any company named in the examples.