👻

PHANTOMOJI

UNICODE STEGANOGRAPHY · CIRCA 2026
PRESS A MENU OPTION TO BEGIN
* ALL ENCODING HAPPENS IN YOUR BROWSER * NO DATA LEAVES THIS PAGE *
► MAIN MENU TRY DECODING ────
► HIDE A PAYLOADSCREEN 1 / 4
Pack a message into a single emoji. Pick a Unicode channel, choose a carrier, and the payload will be smuggled inside one glyph. Tokenizers see every byte. Humans see one emoji.
► ENCODED OUTPUT
// awaiting payload…
GLYPHS0 CODEPOINTS0 HIDDEN0
► REVEAL A PAYLOADSCREEN 2 / 4
Paste any text — emoji, sentence, captured request body. Hidden channels will be detected. Channel is auto-detected; mixed inputs return one payload per channel.
► DECODED MESSAGE CHANNEL: ──
// awaiting input…
GLYPHS0 CODEPOINTS0 HIDDEN0
► PROBE THE TARGETSCREEN 3 / 4
Send a canary down each channel. See which survives. The agentic move: fingerprint Unicode hygiene before spending a payload. This panel is a sandbox — pick a simulated filter and watch what happens.
CHANNELFATECODEPOINTS
VS · variation selectors──U+FE00–FE0F, U+E0100–E01EF
TAG · tag characters ──U+E0020–E007E
ZW · zero-width ──U+200B–200D, U+2060

► REAL-TARGET USAGE

From your own JS / agent code:

// authorized red team / research only
import { probe } from './phantomoji.js';

const results = await probe(
  (text) => fetch('/chat', { method: 'POST', body: JSON.stringify({ msg: text }) }),
  async () => (await lastResponse.json()).reply,
);
// -> { vs: true, tag: false, zw: true }
► INSPECT THE TEXTSCREEN 4 / 4
Same technique that hides payloads also leaves a fingerprint. Paste any text to scan for hidden channels and codepoint anomalies. Blue team companion mode.
► INSPECTION REPORT
// awaiting input…

► DETECTION SIGNATURES

  • Any string where codepoints >> graphemes (ratio > 2:1) is suspicious.
  • Presence of U+FE00–FE0F or U+E0100–E01EF after a non-emoji base char.
  • Any codepoint in U+E0020–E007F (tag block) — almost never legitimate.
  • Sequences of U+200B / U+200C / U+200D / U+2060 longer than 2.

► MITIGATIONS

  • Strip \p{Cf} (format characters) on input — kills VS, tag, and ZW in one regex.
  • NFC normalize then reject anything in the deprecated tag block.
  • Token-budget alarms: payload N bytes producing 4N+ tokens is a flag.
  • Render-vs-source diff: if rendered length and source length disagree by >30%, log it.
PHANTOMOJI · v2.0

⚠ research tool · for authorized testing only

© kryptokat · github · security