Dept. of Undefined Behavior
CASE #0001
opening file…
CLASSIFIED
Dept. of Undefined Behavior · Field Office 3000 Filed: today, 3:47 AM · Status: unresolved
Wanted for questioning

Who is
JSON?

Every vibe coder has met him. Nobody has seen his face. He shows up unannounced, wearing a different costume every time, and production goes down. Your job: name his disguise before the clock runs out.

Evidence bag #1 — from your logs
"42"

Which disguise is he wearing? No timer, no score, nothing on the line.

▶ Start the lineup 6 disguises · 1 suspect · no idea
Also known asJavaScript Object Notation · "json" (as typed at 3 AM) · JSON Bourne
Charges47 counts of unexpected token; 1 trailing comma
The rest of the rap sheet
Last seenline 1, column 1 — Unexpected token 'J'
Known hauntsyour node_modules, every API response
Real identity
6'2" 5'8" 5'2" NO PHOTO ON FILE
Suspect sketch · artist gave up
Exhibit A

The prompt that started it all

recovered from an AI editor, 3:47 AM
untitled-1 — agent chatauto-accept: ON

Investigator's note

Subject shipped 4,000 lines they had never read. When production fell over, subject asked the machine "who is json".

The machine explained. Subject did not read that either.

JSON remains at large. He is, allegedly, a data format. We have reason to believe he is much more.

— Det. Console.log
Exhibit B

The lineup

10 cases · identify the disguise · keys 1–6
Evidence0
Day1
Streak×1
Clout0
“You'll never guess what I'm wearing today.”
Exhibit — seized value42
Press START. JSON will show you a costume.
DAY 2!
🔥 ON HIS TRAIL!
Think you can ID him?

JSON wears one of six disguises. Name it before the clock runs out.

Pick your pace
More ways to investigate
Exhibit C

The six known disguises

study these before the lineup
String
"hello" · "42" · ""
Hiding inside quotes. If it wears quotes it's a string — even "42". That one gets everybody.
Number
42 · -7 · 3.14 · 1e3
Bare digits, no quotes. Confident. Unbothered. Occasionally the answer to everything.
Boolean
true · false
Only two outfits, always lowercase. "true" in quotes is an impostor — that's a string.
Null
null
Shows up as nothing at all. Not zero. Not empty. Nothing. Deeply relatable.
Array
[1,2,3] · [] · [null]
Travels in a gang, wears square brackets. Even alone. Even empty.
Object
{"a":1} · {}
The classic look: curly braces and keys. Often has more objects inside. It never ends.
Exhibit D

Witness testimony

"I asked the agent to fix the bug. It just replied 'who is json'. I said same."
@shipsonfriday
"JSON has been living in my node_modules this whole time. Rent free."
@vibesonly
"I hit accept-all 200 times. JSON accepted all of my customer data."
@promptgoblin
"JSON from accounting somehow has root access to prod now. Nobody granted it. Nobody removed it."
@secops_crying
"I don't know what JSON is, but the model does, and honestly that felt like enough at the time."
@nocode_andy
"Worked on my machine. Then JSON showed up at line 1, column 1 and it stopped working on everyone's."
@localhost_hero