Chapter 29 - Felix

Felix

The facial recognition algorithm had been running for over twelve hours now, and my eyes burned from staring at endless streams of pixelated faces. I rubbed them hard, then focused back on the monitor displaying London Underground’s CCTV network.

But I had seventeen possible matches. Seventeen moments where the system thought it might have glimpsed Kit’s face in the maze of tunnels and platforms beneath the city. Each one had been a false alarm—wrong jaw structure, different height, shadows playing tricks with the resolution.

I pulled up the map again, tracing the Piccadilly line with my cursor.

Kit had entered at Clapham North on Wednesday evening, captured on camera striding confidently towards the barriers.

Unaware he’d never come back out. From there, I could follow him: Northern line to King’s Cross, transfer to Piccadilly.

Then… nothing. No more cameras picked him up until whatever happened at Arnos Grove. The trail went cold.

Of course it bloody did. End of the line, quiet residential area, older infrastructure that the Met barely bothered maintaining.

Half the cameras on the network were broken anyway—they refused to publish official numbers because it would be embarrassing.

I’d hacked their maintenance logs multiple times.

Sixty-seven percent operational on a good day.

Kit knew this. He’d been overconfident in his plan. Foolish. Thought a station selected at random, with the eyes of the public streaming past them, was a sensible precaution. Thought he could handle whatever vampire he was meeting without backup.

But he’d been wrong.

My hands clenched into fists. If he’d told me he was going to Arnos Grove, I’d have explained exactly why it was a terrible idea. I’d have made him choose somewhere else, somewhere with proper coverage, somewhere safe.

But Kit had only vaguely mentioned he had a meeting set up, and little else.

The anger shifted, turning inward like it always did. Sharp and familiar, cutting deeper than rage at Kit ever could.

I should have known something was wrong sooner, when Kit didn’t text me goodnight on Wednesday. He always texted goodnight. Even when he was working late, even when he was exhausted. Sometimes words, sometimes simply emojis. Small things that anchored my day.

Wednesday night, nothing.

Thursday morning, I’d waited under the lime tree for a stupid amount of time before accepting he wasn’t coming.

My head dropped onto the desk with a hollow thud. The cool surface pressed against my forehead, and I closed my eyes, breathing in the smell of electronics and stale coffee.

Three entire days since Kit had vanished. Seventy-two hours of feeling like half of myself had been torn away.

I forced my head up. Forced my hands back to the keyboard.

I’d exhausted Clapham North and Arnos Grove. Time to expand the search. Three more stations beyond Arnos Grove—Southgate, Oakwood, Cockfosters. Maybe Kit had stayed on the Tube for some reason. Maybe the meeting location had changed. Maybe—

My analysis software chimed. Anomaly detected.

I sat up straighter, clicking through to the flagged file. Oakwood station, Wednesday 21:47 to 22:27. Forty minutes of standard platform footage.

The metadata made me frown. File size: 2.3GB. For forty minutes of static footage, that should compress to maybe 800MB. The timestamp microseconds showed gaps that shouldn’t exist in standard H.264 encoding. The hash values didn’t match Transport for London’s compression algorithms.

I ran a hex dump on the raw file data, my pulse quickening. Repeating byte sequences appeared in what should have been random compression artifacts. The FFmpeg analysis revealed embedded data streams that weren’t supposed to be there.

Someone had tampered with this footage.

Greywatch. Had to be. They’d tried to scrub their tracks but hadn’t counted on someone with my skillset digging this deep.

Ha!

I launched my steganographic analysis tools, targeting frames 1247 through 1251 where the anomalies clustered thickest. The software peeled back layers of hidden data, revealing information embedded in the least significant bits of the video frames—invisible to the naked eye but detectable through pixel value analysis.

The first pass came back encrypted. Of course it was.

I cracked my knuckles and got to work. XOR encryption with a rotating key—took three attempts with different cipher algorithms before the data unfurled across my screen.

Current Location Coordinates: 46.5347° N, 9.8156° E

Transfer scheduled: 2026-12-15 02:15:00 CET

Twenty-seven hours and fourteen minutes from now.

Below that, three words that made my blood freeze: Verification footage follows.

Then a link to an encrypted partition.

My hands shook as I copied the coordinates into Google Earth. Grisons mountains, Switzerland. Middle of nowhere, Switzerland. Nothing marked on satellite imagery.

I stared at the timestamp again. Military format. Someone was telling me Kit was there. In bloody Switzerland. Would be transferred from there in twenty-seven hours and fourteen minutes.

But why tell me? Why embed a message this sophisticated in Transport for London’s CCTV system?

The link sat on my screen like a loaded weapon. Part of me didn’t want to click it. Didn’t want to see whatever proof they were offering.

But I needed to know.

The decryption took three minutes. Three minutes of watching progress bars crawl across the screen while my heart threatened to explode from pounding so fast.

When the video file opened, I saw Kit.

Kit’s unconscious form being dragged from a van by two men in tactical gear, a black hood pulled over his head.

But I’d know that frame anywhere—the broad shoulders, the familiar grey cardigan beneath his dark coat, those battered brown boots he refused to replace.

Kit’s body limp against zip-tie restraints as they hauled him across the screen, into a van.

The timestamp in the corner read Wednesday 22:43:17.

Many hours after he’d entered Clapham North at 19:20.

I watched the footage loop three times before the reality hit me properly. Someone with serious cryptographic skills had deliberately left this breadcrumb trail. But they’d hidden it so deep, encrypted it so thoroughly, that only someone with my exact skillset would ever find it.

They’d chosen me specifically.

Why? What? How?

My brain almost crashed completely.

Almost crashed completely.

Because Kit needed me.

I forced myself to keep working, to push through the panic and terror clawing inside me. The van’s number plate wasn’t visible—the camera’s angle meant the vehicle was half off screen. But the footage itself… I could work with this.

I ran the video through my geolocation software, cross-referencing the background architecture against satellite imagery. The timestamp metadata showed the original source camera designation: HARGY_CCTV_EXT_07.

Twenty minutes of analysis later, I had it.

External camera seven from Haringey Council’s traffic monitoring network, mounted on a council building exactly 0.

7 miles northwest of Oakwood station. The angle matched perfectly—lamppost height, concrete wall texture, even the distinctive red post box in the corner of the frame.

This had really happened. Kit had really been taken from that exact spot on Wednesday night.

My hands shook as I reached for my phone. Seb was out of the hotel, but my legs felt like jelly anyway; there was no way I could’ve managed the spiral staircase to his office.

He answered on the second ring. Traffic noise rumbled in the background.

“Magpie?”

“I’ve got something!” The words came out as a screech. “Something massive!”

Silence.

“I found Poodle—I mean, I found footage of Poodle being taken. It’s embedded in TFL’s CCTV system but encrypted, really sophisticated stuff. Someone wanted me to find it specifically. They left coordinates—Switzerland, middle of nowhere—and a timestamp showing when they’re going to move him again.”

More silence. Just engine noise and the distant sound of London.

“There’s video proof, Noctule. I watched them drag him unconscious into a van. Wednesday night, half a mile from Oakwood station. The encryption was military-grade but they embedded a breadcrumb trail that led straight to—”

“Magpie.”

“—GPS coordinates that pinpoint some facility in the Swiss mountains and the transfer time is in less than twenty-four hours so we need to—”

“Magpie, slow down.”

“We don’t have time! They’re moving him tomorrow morning at 02:15 Swiss time. That’s… that’s like twenty-six hours and forty-seven minutes from now. We need to get there before they transfer him somewhere else and we lose him forever. We need to take your private jet to Zurich and—”

“It’s not my private jet. I just have access to it when circumstances require—”

“I don’t care whose jet it is!” I screamed. “Aren’t you listening?! They’ve got him locked up in fucking Switzerland and they’re going to move him again and if we miss this window we might never find him!”

Silence filled the line, punctuated only by the sound of my ragged breathing and whatever London street Seb was walking down.

“We don’t know the source of this information,” he said finally, his voice measured and careful. “Someone with serious technical capabilities deliberately planted evidence for you to find. That raises questions about—”

“Questions?” I cut him off. “What questions? He’s been missing for three days and someone just handed us his exact location on a silver platter and you’re worried about their motivations? Who cares?”

“Quite frankly, I do! It’s my job to keep you all safe.”

“Well Poodle isn’t very safe right now!” I shouted into my phone, my voice cracking with the strain.

If ads affect your reading experience, click here to remove ads on this page.