On This Line

A short interactive piece about the year a Greek lawyer realised her phone had been listening.

Inspiration

In 2022 the Greek magazine Inside Story, with reporters Eliza Triantafillou and Tasos Telloglou, broke Predatorgate. Dozens of Greek public figures, journalists and politicians, were targeted by the commercial spyware Predator. Citizen Lab and Amnesty International's Security Lab did the technical work. The reporting is still going. None of the people who ordered the surveillance have been prosecuted.

This piece is fiction. It is not a documentary, and the names are reduced to single letters. But the texture, the small irregularities that warn a target before any tool tells her, came from their reporting.

How it plays

You are a lawyer in Athens. A client cancels a meeting and gives no reason. The card on your desk is from a journalist you have not yet called back. By Friday the document on the encrypted stick has forty two names on it.

You read. You choose. What you keep stays across reads!

A notebook in the right margin holds your annotations. So do other readers, if you let them: the count of who is in the file with you, the fragments they have marked, the cities the wires traced.

A single read takes around 10 minutes.

Features

Six chapters and a coda. Small interactions inside the prose: a phone notification before chapter one, a typed email subject line, a redaction pass. Four registers of paper, including a wiretap chapter set in surveillance log layout. Greek typography. Persistent annotations. A debug menu (backtick), credits (c), the reader file (f).

Tech

Yarn Spinner for the script and narrative systems. React, TypeScript, Vite, Tailwind. The multiplayer surface, presence, ghost margin, aggregate marks, runs on a Cloudflare Worker with a Durable Object and a KV namespace.

Credits

The reporting was done by Inside Story. This piece was made for the Floodlight Jam, 2026. Game written, programmed, and designed by Paris Stelios Efthimiadis Buttfield-Addison.

Privacy & Terms

There's some pseudo-multiplayer features in this. Here's a little info on that!

What stays on your device:

  • Your annotations, the lines you marked, your read count, the letter you wrote to a future reader. Stored in your browser's `localStorage`. Clearing your browser data clears them.

What gets sent to the server

If you have not ticked the off the record toggle on the cover:

  • A short anonymous session ID generated in your browser and stored in `localStorage`.
  • Which page you are on, so other readers can see how many people are sitting in the same chapter.
  • Choices you make on a small set of tracked choice points, but only the choice value (e.g., "called him back"), not your text.
  • Line IDs you mark — these reveal which line you marked, never any text you wrote.
  • Your TLS cipher / HTTP version / Cloudflare datacenter / autonomous-system number / country code, derived automatically from your connection. Used to show you the surveillance metadata that appears on the cover and in the chrome.

We do not collect IP addresses (but Cloudflare probably does), email, names, or any free-form text you type.

Off the record

Tick the *off the record* box on the cover (or in the credits panel) and the worker is never contacted. No presence, no ghost margin, no metadata exchange. The piece runs locally.

Where the server lives

A single Cloudflare Worker with one Durable Object (presence) and one KV namespace (counts).

Comments

Log in with itch.io to leave a comment.

Really slick interface, and interesting stuff you did with multiplayer! ๐Ÿค spyware story