// guide

What steganography actually is (and why it's older than most people realize)

The word comes from Greek. "Steganos" means covered or concealed. "Graphia" means writing. Put them together and you get the practice of hiding a message so completely that the message's existence is the secret, not just its contents.

That's the part that separates steganography from cryptography. Encryption scrambles a message so nobody can read it. Steganography makes the message disappear into something ordinary. Two different problems, two different tools. Sometimes people use both at once.

A brief and strange history

The oldest recorded account comes from Herodotus, writing in the fifth century BC. A Greek general needed to warn his allies about a planned Persian invasion, but every messenger would be searched. His solution: shave a trusted slave's head, tattoo the message on the scalp, wait for the hair to grow back, then send the slave through enemy lines. The message arrived safely. Nobody thought to check.

That's the essential idea, unchanged for 2,500 years. The hiding place matters more than the lock.

During World War II, German intelligence refined a technique called microdots. A photograph was reduced to the size of a period and pasted into an ordinary letter at the end of a sentence. The letter looked like correspondence. The dot, read under a microscope, was a full-sized document. Allied counterintelligence spent years hunting for them.

Other examples are less dramatic. Mary, Queen of Scots, smuggled letters out of her prison hidden inside beer barrels. The American Revolution relied on invisible ink. Both follow the same logic: get the message past someone who doesn't know to look for it, because the hardest thing to find is something you don't know exists.

Why hiding beats scrambling, sometimes

An encrypted message announces that you have something to hide. The message exists. It's just locked. That fact alone can invite attention or scrutiny, depending on the situation.

Steganography sidesteps that entirely. The message doesn't look like a message. It looks like a photo, or a QR code, or a note about something mundane. An outsider sees ordinary content and moves on. They aren't looking for something they don't know is there.

Security researchers call this hiding in plain sight. The cover object is the decoy. The secret travels inside it, invisibly, to whoever was meant to receive it.

The two approaches solve different parts of the problem. Encryption answers: if someone intercepts my message, can they read it? Steganography answers a different question: will they know there's a message to intercept at all?

What it looks like now

Digital steganography works at the level of pixels and bits. Images are made of color values, and small changes to those values can encode information without visibly affecting what the image looks like. A photograph with a hidden message is still, to the eye, just a photograph.

Audio works the same way. A tiny adjustment to a sound wave carries data the ear doesn't detect.

For most of this technology's history, using it required real technical skill: a command line, a Linux tool, some patience. That changed as phones got more capable and developers started building the process into apps anyone could use.

GhostCode is one of those. I built it to make the concept accessible to an ordinary person. You write a message, choose a key, and the app produces a normal-looking photo or QR code. The recipient opens it in GhostCode with the same key and reads the message. To anyone else, including someone who scans the QR with their phone's native camera, it's just a code or just a photo. Nothing in the output signals that there's anything to read.

The key is the part you share separately, through a different channel from the message itself. It doesn't travel with the photo or the code. That's how steganography has always worked: the channel that carries the cover object and the channel that carries the context for reading it are two different things.

If you want to see the photo side of this in practice, there's a hands-on walkthrough in how to hide a secret message inside a photo.

The limit worth saying out loud

Steganography hides a message. It doesn't protect a conversation. If someone sees the message on screen (a screenshot, a phone held where someone else can see), the hiding is already done. Steganography handled the first problem: the message getting there without anyone knowing. It can't reach back and erase what was seen.

That's not a weakness of the technique. It's an honest description of what it does. Knowing the scope of a tool is the only way to use it well.

What steganography uniquely provides is the invisibility of the exchange itself. Nobody knows to look. That's a real property, and a narrow one. The people who find it useful understand both.

// try it

See it for yourself

GhostCode hides your message inside a photo or QR code so it looks ordinary to everyone except the person you meant to receive it. See how it works.

Back to the blog