Ghost
Font
Decoder

Ghost fonts are marketed as text AI cannot read. This plugin pulls the hidden message out.

Input: motion-defined random-dot video Decoding…
A paused ghost-font frame containing only random dots
Output: decoded message
HELLO HUMAN

What is a ghost font?

A ghost font writes a message into motion, not into a single frame. In the real video beside this text, dots inside the letters drift against a background of dots moving another way.

Pause the video and the letters disappear. No single frame contains a visible difference, but an agent can measure the motion, rebuild the letter shapes, and return the exact hidden message.

Ghost-font video · original
This is the ghost-font video — the hidden message appears only while it moves.
Agent result · decoded in Codex
This is how the agent finds it — decoded text: I LOVE YOU.

How the decoder breaks it

The claim has one flaw: the message is the motion. The decoder reads that motion in four stages—no model weights and no GPU.

01

Dense optical flow

Compute a motion vector for every pixel between consecutive frames.

02

Subtract the background

Use median flow as the background, then isolate pixels moving against it.

03

Register the drift

Align every score map so drifting glyphs stack sharply instead of smearing.

04

Accumulate & read

Sum the signal, cancel the noise, clean the letters, and pass them to OCR.

They claim it's AI-proof. This plugin breaks through it easily.

Hiding a message in motion is a classic computer-vision problem, not a security boundary. Dense optical flow and phase correlation are decades-old tools.

A protection that collapses to a few hundred lines of Python is a visual novelty—not a defense.

Obfuscation isn't encryption.
Vision isn't a weakness—it's the model.
01

Evidence 01

The claim — “AI can't read this”

Agents read video frame by frame, and every paused frame appears to be pure noise.

02

Evidence 02

The reality — AI reads motion too

The message lives in the relationship between frames, so the decoder reads that relationship.

03

Evidence 03

The verdict — A visual effect

Classic computer vision reveals the text reliably. Nothing cryptographic stays hidden.

The same message. Two ways in.

Four unedited chat captures show Codex and Claude recovering I LOVE YOU from the same ghost-font video.

Codex · reusable prompt Decoded: I LOVE YOU

The decoder prompt is pasted directly into a regular Codex chat.

Claude · reusable prompt Decoded: I LOVE YOU

The same standalone prompt runs in Claude and returns the matching result.

Give your agent the skill.

One repository, two agent plugins, a plain Python CLI, and a reusable chat prompt.

01

Claude Code

Install from the plugin marketplace.

/plugin marketplace add haroontrailblazer/ghost-font-decoder
/plugin install ghost-font-decoder@ghost-font-tools
02

Codex

Install the plugin, then start a new task.

Use $ghost-decode to tell me what ghost-video.mp4 says.
03

Plain Python

Run the decoder without an agent.

pip install -r requirements.txt
python decode.py examples/ghost-message.mp4
04

Any chat — no install

Paste the decoder prompt and attach a video. ChatGPT is not supported because its shorter execution timeout interrupts the decoder.

Open prompts/decode-in-chat.md
Paste it into Claude or Codex.