Skip to main content

Excerpt

Excerpt

Zero Days

Chapter 1

The wall around the perimeter was child’s play. Six feet, but no spikes or barbed wire on the top. Barbed wire is my nemesis. There’s a reason they use it in war zones.

At five foot two I couldn’t quite reach to pull myself up, so I scaled a nearby tree with a sturdy branch overhanging the car park, lowered myself until my feet made contact with the top of the wall, and then ran softly along it to a place where I could drop down out of sight of the CCTV cameras that circled the building at intervals.

On the other side of the car park was the fire door Gabe had described, and it looked promising. A standard half-glazed door with a horizontal release bar on the inside. I saw with satisfaction that it was poorly fitted, with a gap at the bottom that you could practically get your hand through. It was the work of about thirty seconds to slip my long metal slider underneath, swing it up so the hook caught on the bar, and pull firmly down. The door opened and I held my breath, waiting for the alarm—fire doors are always risky like that—but none came.

Inside, the lights flicked on automatically—big fluorescent squares in a tiled ceiling that stretched away into the darkness like a chessboard. The far end of the corridor was still pitch-black, the sensors there not yet picking up my movement, but the section I was in was bright as day, and I stood, letting my eyes adjust to the glare.

Lights are a bit of a double-edged sword. On the one hand, they’re a huge red flag to anyone monitoring the security cameras. There’s nothing like a screen lighting up like Christmas to catch a security guard’s eye and make them glance up from their phone. But you can sometimes style it out if you’re caught walking confidently around a building at night when the lights are on. It’s much harder to explain your presence if you’re creeping along an unlit corridor with a torch. You might as well be wearing a striped T-shirt and carrying a bag marked Loot.

Right now it was 10:20 p.m. and I was wearing my “office” clothes—black trousers which looked like they could be the bottom half of a suit but were actually stretchier and more breathable than any regular office wear, a dark blue blouse, and a black blazer that was standard, off-the-rack from Gap. On my feet were black Converse, and I had a gray Fjällräven backpack slung over my shoulder.

Only my hair was out of place. This month it was dyed a fluorescent scarlet that wasn’t close to any natural shade and didn’t really fit in with the slightly stuffy atmosphere of this company—an insurance group called Arden Alliance. Gabe had suggested a wig, but wigs were always a risk, and besides, I was getting into character. Jen—I had decided my imaginary office worker was called Jen—worked in customer services but had fond memories of her gap year after university and still thought she was a little bit cool. Jen might have buckled down to achieve promotion, but her hair was the last flicker of a personality she hadn’t quite abandoned to the nine-to-five. That, and perhaps a touch too much liquid eyeliner, plus a tattoo on her shoulder blade that said stick ’em with the pointy end.

The eyeliner was real—I didn’t feel properly dressed without a smooth flick of Nyx Epic Ink. The university degree was imaginary. So was the tattoo. I wasn’t sufficiently into Game of Thrones to ink it, though admittedly if I had been, Arya was the best character.

Jen had been working late, lost track of time, and was heading hurriedly home for the weekend. Hence the comfortable shoes. The backpack was for her office heels—although that was where my role play broke down. Jen might keep heels in her backpack. Mine was full of housebreaking tools and computer equipment loaded with some deeply shady software Gabe had downloaded from the dark web.

I walked softly down the corridor, my rubber soles silent on the carpet, trying to look as though I belonged here. On either side were the doors of empty offices, just the occasional LED glowing in the darkness where people had failed to turn their computers off properly for the weekend.

A photocopier in an alcove blinked hypnotically and I stopped, glancing up and down the hallway. It was illuminated behind me but dark around the corner up ahead, the motion sensors not yet detecting my presence. So much the better—the lights might alert security, but that worked both ways. The guards were unlikely to be coming from behind me; that corridor was a dead end out to the car park. If they came from up ahead, the lights flickering on would give me enough warning to double back or duck into one of the offices. Gabe would probably tell me to get on with finding the server room—but the chance was too good to miss.

Behind the copier were, as I’d hoped, a tangle of wires and two LAN ports for hooking up devices to the main company network. One was in use, connected to the copier. The other was empty. Heart beating, I glanced up and down the corridor and took one of the little Raspberry Pi computers out of my backpack.

The Pi was smaller than a paperback book, and I slid it down behind the copier, nesting it snugly into the mass of abandoned pages that had fallen off the back of the document feeder. I plugged it into a power socket and snaked the LAN cable into the empty port. Seconds later my Bluetooth earpiece crackled and my husband’s deep voice came into my ear, strangely intimate in the hush of the deserted building.

“Hey, babe… your Pi just came online. How’s it going?”

“Okay.” I spoke quietly, not quite a whisper but not much more. “I’m just trying to get my bearings.” I tugged a stray photocopy over the Pi, hiding it from view, then shouldered my bag and continued up the corridor, rounding the corner. “How are you doing?”

“Oh, you know.” Gabe’s tone was dry. “Just a little Dark Souls on the PS. Not much I can do until you get me into the server room.”

I laughed, but he was only half joking. The part about Dark Souls might not be true—I knew full well there was no way he’d be gaming; on the contrary, he was undoubtedly hunched at his monitor anxiously tracing my progress on the blueprints we’d obtained from the planning department—but the bit about the server room was. This was always the hardest part of any job for Gabe—where he had to just sit back and listen, powerless to help if I ran into any trouble.

“Where are you?” he asked now.

“In a corridor running east-west from that fire door you found. This building is—Oh, shoot.”

I stopped dead.

“What?” Gabe’s voice was alert but not overly alarmed. Oh, shoot wasn’t what I would have said if I’d just stumbled into a guard. That would have been something a lot stronger.

“There’s a security door up ahead. Was that on the plans?”

“No,” Gabe said a little grimly. “They must have updated.” I could hear his fingers racing across the keyboard. “Hold up, I’m trying to get into the security system via your Pi. What can you see?”

“There’s a PIR sensor.” I looked up at the blinking infrared oval mounted above the door. I was just out of range.

“Okay, then wait, the sensor might trigger an alarm.”

“Well, duh,” I said. I knew that, of course. I wasn’t worried about the door itself—between us, Gabe and I could get through most things. But a PIR sensor usually meant a motion detector—and activating it after hours risked some kind of alert to the guards. Still, the fire door hadn’t been alarmed, which was a good sign. I began walking closer.

“Jack?” Gabe said. His fingers stopped clicking. “Jack, honey, talk to me, what are you doing? We don’t want another Zanatech.”

Zanatech. Ugh. One word: dogs. I’ve got nothing against them as pets, but I hate security dogs. Those things can really do damage. And they can run. Fast.

I ignored Gabe and took another step, holding my breath.

The sensor lit, registering my presence, and I shut my eyes, bracing myself for the sound of alarms, running feet… but the only thing that happened was the door swinging smoothly open.

Jack?” Gabe’s voice came into my ear more urgently as he heard my exhalation. “What just happened?”

“It’s fine. The door’s open. Don’t think it’s set anything off.”

I could literally hear Gabe clenching his teeth on the other end of the line, trying not to snap the retort he wanted to make, but I knew the words he was holding back. He’d wanted me to wait while he tried to access the security system via the Pi and figure out if the door was alarmed. But that could take hours, and in this job, doing nothing was a risk in itself. Sometimes you just had to go on your gut—act on impulse.

Besides, it wasn’t really impulse, and Gabe knew it. It was instinct, honed by years of doing exactly this kind of thing.

“You hope it hasn’t set anything off,” he said at last, and I grinned. I could afford to be magnanimous. If there had been an alarm screaming out, or worse, the sound of barking, while Gabe yelled I told you so, I would have been laughing on the other side of my face. But one of Gabe’s many good qualities was that he wasn’t a sore loser. I could tell he’d already moved on to the next challenge when he asked, “Where are you now? Lift lobby?”

“Yes.” I looked around me. The lobby was furnished with a tall yucca and a futuristic metal chair. “There’s three corridors coming off and…” I looked up at the dial above the lift doors. “Blimey, fourteen floors. Do we know where the server room’s supposed to be?”

“Hang on,” Gabe said. I heard the click of computer keys. “Looks like IT’s on the fifth floor, so start there. What floor are you on? Ground?”

“I’m not sure.” I looked around me. “The car park’s on two different levels.”

A long sign opposite the lift listed the different floors. Apparently I was on the first. And 5—IT and HR was helpfully listed four lines above. So much for Gabe’s computer wizardry.

I sent him a quick snap of the sign on my phone, captioned no shit sherlock, and I heard his rumbling laugh come over the earpiece as the message landed.

“Look, what can I say—we tech heads are used to being asked to solve problems people should be able to figure out themselves.”

“Go screw yourself, Medway,” I said amiably, and he laughed again, this time a low, meaning chuckle that made my stomach flutter.

“Oh, I would, but I’ve got someone much hotter in mind. And she’s going to be home in an hour or two. If she gets off her arse.”

I felt a smile tug irresistibly at my lips, but I made my voice stern.

“I won’t be home at all if you don’t get me into the server room, so keep your mind on the job and leave my arse out of it.” I looked at the lift panel. It was the high-tech kind where you had to beep your card and select a floor. “The lift’s got a card reader on it, so I’m assuming the upper floors are pass-card protected.”

“Well, I probably can’t override that until you’ve got me access to the server room, so time to get your steps in, babe.”

I sighed theatrically and looked around for the fire escape route—aka the stairs. A labeled door in the corner of the lobby showed me the way, but before I took it, I dropped a bugged USB stick outside the lift doors. Gabe had handed me half a dozen before I left, innocent-looking little things loaded with a Trojan horse program of his own devising. With any luck, someone coming in on Monday would pick it up and plug it into their computer in an effort to locate the owner. When they did, they would find a bunch of bland Word documents and a sneaky little bit of code that would embed itself in their hard drive, make contact with its mothership, and allow read/write access to their computer as long as it was connected to the internet.

Coming out onto the fifth floor I dropped another USB and then touched my headset.

“You are in a small lobby,” I said to Gabe in a robotic voice. “Corridors lead to the north, east, and west. To the south of you is a lift. In the distance is a tall, gleaming white tower. No, wait, that last part’s from Colossal Cave Adventure.”

“Drop USB device,” Gabe said, and I laughed.

A, that’s three words. And B, I’ve already done that. As you’d know if you’d managed to hack the CCTV system. So—which corridor?”

I glanced up and down the three equally featureless hallways, listening to the click of Gabe’s mouse as he tried to make sense of the layout.

“You came in the fire door we talked about and lift C is at your back, is that right?” he asked.

“Yes. At least, I assume it’s lift C. There’s a door marked HR to the left, if that helps.”

“Yeah, it does. You need the corridor straight ahead, I think.”

I gave a thumbs-up, remembered Gabe couldn’t see me yet, and then walked across to the glass door straight in front of me. This time it didn’t slide open automatically.

“Okay, we’re at another security door—and I’m on the wrong side. There’s a card reader. What next, Inspector Gadget?”

“Anywhere to enter a code?”

“Yes, a key panel. Numerical.”

“That’s something. Give me a second. I don’t know if I can override it yet, but I might be able to get the code off their system via your Pi.”

I nodded and stood, arms crossed, listening to the frantic click of Gabe’s fingers racing across the keyboard and his voice as he muttered the occasional swear word under his breath. I felt that smile tug at my lips again, and for a fleeting moment I wished I were with him, in our living room at home, so that I could snake my arms around his broad torso and press a kiss to the back of his warm neck where the black hair was shaven short in an undercut. I loved Gabe, loved everything about him, but this was the time I loved him most, when he was head-down and completely absorbed in his work. It wasn’t just the sexiness of watching someone doing something they were very, very good at. It was the camaraderie, the sense that it was him and me against the world.

And, well, sometimes against each other. We might be husband and wife, but that didn’t mean we weren’t competitive. I was good at what I did too. Very good, as it happens.

While I waited, I strolled across to the keypad and entered 1234. Nothing happened, just a brief red light on the sensor. I shrugged. I hadn’t really expected more, but it was always worth a try. Then I typed in 4321. Nothing again. I didn’t risk a third attempt in case there was some kind of lockout, but something else occurred to me and I fished in my bag for the can of compressed air at the bottom.

“How’s it going, honey?” I asked Gabe while I unscrewed the cap. I got a muttered grunt in response.

“Not great. I’m in their system, but I can’t seem to access the admin side. Trying to get into someone’s emails to see if they’ve mailed the code to anyone.”

“Well, tick tock, Medway. If you want me home anytime soon. Time to get off your shapely arse, maybe?”

The only answer I got was a low growl, half frustration, half laughter.

I fitted the can of condensed air to the crack in the door and pressed the trigger. There was a long, loud hiss of air being forced through the narrow gap—and then the door slid open. I let out a delighted crow. Gabe’s fingers stopped clicking.

“Uh… what just happened?”

“Just me, solving problems tech heads should be able to figure out themselves.”

“Wait, you got the door open? How?”

“You know it, baby. Condensed air through the gap. The temp change confuses the PIR sensor. Hack that.

“Oh, fuck you.”

“I thought we already established that was your job, Mr. Medway?” I teased, and heard Gabe’s annoyance at being beaten a second time dissolve into laughter.

“Yeah, we did. And talking of shapely arses, hop to it, babe. Tick tock.”

“Tick tock,” I agreed, and began walking down the corridor, the lights coming on one after the other as I did.

It was a long hallway, lined with offices like the ones four floors below, none of them server rooms. I peered inside an unmarked door—but it was a closet, filled with janitorial supplies and a mop and bucket. Another light flicked on. I could see right down to the end now, where the corridor turned. That was all of them; if someone was coming from ahead of me, I would get no warning. There was a crackle from my headset.

“Still nothing?”

“Not yet,” I said shortly, and then halted, listening.

“Did you—” Gabe began.

“Shh!” I hissed. He didn’t need to be told twice. There was a soft click as he muted his mic, so that even his breathing wouldn’t distract me.

There was a noise coming from up ahead. Not footsteps, thank God, but the low hum of computer fans and of air-conditioning working overtime. You hear server rooms before you see them.

“I’ve got it,” I whispered back to Gabe. “At least, if I haven’t, they’ve got a Cessna behind that door up ahead.”

As I drew closer, I could make out a vented door with a sign reading NO ENTRY EXCEPT TO AUTHORISED PERSONNEL.

Ignoring that, I tried the handle. It was locked, of course, but the fact that there was no keyhole was a bummer. A physical lock I could probably have picked, but this door had only a swipe card reader to the left of the handle. No panel to enter a code. And the door was well fitted, with absolutely zero gap underneath. There was almost certainly some kind of internal release button, but I doubted I could press it with so little room to maneuver. The vent was installed so that the louvres angled downwards, not up, and the aperture was too small to be useful. Even if I jimmied off the grille, I couldn’t fit through, and besides, I wasn’t really supposed to damage anything.

“Babe?” I heard in my ear.

“There’s a swipe reader. No way of entering a code.”

“Balls.” I knew Gabe would be pulling thoughtfully at his beard, trying to figure out our options. Encoding a swipe card wasn’t hard if you had the equipment and knew the code, but we didn’t know the code. And even if he managed to dig it out of the intranet files, I was here and the encoder was back at home. We had to finish this tonight.

“Up and over?” Gabe asked, his question chiming with my own thoughts, and I nodded.

“You read my mind.”

Glancing up and down the corridor, I took stock of the rooms to either side of the server room. To the left was an ordinary office with a glazed wall fronting the hallway and two desks. The door probably wasn’t locked, given it was a shared space, but the glass wall wasn’t ideal—anyone walking down the corridor would see me in there. To the right… and now I felt a jolt of satisfaction. To the right was a restroom. Men’s—but that didn’t make any difference for my purpose. The point was that the corridor wall was solid plasterboard.

“Houston, we have a toilet,” I muttered to Gabe.

“Easy as A, B, WC.”

“Easy for you; you’re the one sitting on your arse at home,” I shot back, and heard his answering laugh as I swung open the door.

Inside I stood for a moment, peeling off my jacket and waiting for my eyes to adjust as the lights flickered on. Behind me, against the corridor wall, was a bank of sinks. To my right were two urinals, and directly ahead were the stalls. I pushed open the door of the leftmost cubicle and saw to my immense satisfaction that it was a standard design—a bowl resting against a cistern sturdily boxed in to chest height. The new fad for concealing cisterns inside the wall is sleek but rubbish for what I needed.

I put the toilet lid down, climbed onto it, and then jumped on top of the cistern, where I stood, crouched below the paneled ceiling. I waited a beat to take stock, making sure my balance was centered and my equipment secure, then pressed gently upwards on the ceiling panel.

It shifted immediately, a cloud of dust and dead flies fluttering to the bathroom floor, and I pulled myself up, praying as I did so that the wall between the two rooms would be solid enough to hold my weight. It creaked gently as my biceps flexed, and again as I folded one leg up and inside the narrow aperture. But nothing gave, and in less than twenty seconds I was lying flat on my belly in the shallow void between the drop ceiling and the real one. It was very, very hot. The heat was coming from the snaking silver ducts of the air conditioners working hard to cool the racks of servers in the room below. When I pulled out my torch and swung it around, I could see the crawl space stretching away into the darkness ahead of me.

Carefully, very carefully, I put the torch between my teeth and edged my way across the ceiling, keeping as close to the supporting wall as I could. Then I dug my nails into a ceiling tile right above what I judged to be the corner of the server room. It pulled up as easily as a trapdoor, but the drop beneath was daunting. Banks of blinking servers, too tightly packed to be climbable, and an eight-foot fall to the floor. I could lower myself down—my upper-body strength was pretty good—but there was a high chance I would not be able to reach to pull myself back up. Which left one fairly urgent question: Did the server room door open from the inside without a swipe card?

Lying flat across the dividing wall, I leaned down between the struts and flashed the torch through the gap in the ceiling. By craning my head I could see there was some kind of panel beside the door handle, but I couldn’t make it out—the shadow from one of the server banks made it impossible to see any detail. It might be a door release… or a fire alarm. Or simply a light switch. I would have to get closer to check.

With great caution, I laid aside the panel I had just lifted and commando-crawled further across the ceiling, closer to the center of the room. The supporting struts creaked a little but didn’t move, and I held my breath as I began to pry up a second panel. This one was stiffer for some reason, maybe held in place by the air-conditioning duct taped over the adjacent panel, and I found myself straining at the edge, pulling at it with all my strength. One corner gave and I pulled harder. One whole side had come loose…

And then, with a sound like a crack of thunder, the entire panel snapped in half and I sprawled backwards.

For a long moment I lay there, frozen, the broken panel in my hand. The bang had been so loud that my ears were ringing, and I could imagine it echoing through the narrow ceiling space all along the hallway, reverberating through the ducts, making the whole ceiling vibrate like a drum. I could feel the gritty dust settling around me, the carapaces of tiny insects floating down to land in my hair and on my face, and I could hear Gabe’s panicked voice in my ear.

“Jack. Jack! Are you okay? Babe, are you all right? What just happened?”

“I’m okay,” I whispered. I put my hand up to the earpiece, checking that it was still secure. My fingers were shaking with shock. “I—I just snapped a ceiling tile.”

“It sounded like a gunshot!” I could hear the relief in his tone, and suddenly, piercingly, I wished he were here with me, and I knew he was feeling the same. This was the hardest part—when something went wrong, or almost did, and the other person could do nothing to help. “Christ, sweetheart, don’t do that to me. I thought you’d been shot.”

I nodded soberly.

“I’m fine, but fuck, Gabe, that was really loud. If anyone’s still working on this floor, they’ll definitely have heard.”

“Well, I can’t get into the CCTV system to check until you’ve plugged in that drive,” Gabe said. The teasing had gone from his voice and he sounded like he was worried but trying not to show it—both because he didn’t want to pass on his nerves to me, and because he knew I didn’t always take protectiveness well. “For real, love, are you okay?”

“I’m fine.” I laid the broken tile aside and propped myself back onto my elbows, cautiously patting myself down. My heart rate was slowing and nothing seemed to be missing from my pack or pockets. Then I realized—the torch had fallen through the hole in the ceiling and was lying on the floor of the server room, pointing away from the door. I still had no idea whether there was a release button.

Well, fuck it, there was only one way we were getting into that server room—and if I couldn’t get out, so be it. If I had to sleep there, I could cope. I’d done worse.

I made my voice firm.

“I’m going down.”

Gabe’s laugh was a little tremulous.

“You know I love it when you talk dirty, babe, but now’s not the time.”

“Fuck you,” I grunted, hauling myself into position, and this time his laugh sounded reassured.

“That’s my girl. How big is the drop?”

“Eight feet? Maybe nine? Not more.”

“Good luck. Break a leg. I mean, don’t.”

“I won’t,” I said tersely. I braced myself on the struts surrounding the ceiling panel, assessing the drop, dipped my fingertips into the climber’s chalk tied onto my backpack, and began to lower myself slowly into the apartment, my muscles tense with the effort of controlling my descent. This was why I spent five boring mornings a week in the gym. Not so I could fit into my skinny jeans, and certainly not for Gabe, who didn’t give a rat’s arse what my dress size was. But for this. This moment when everything depended on the strength of my biceps and the tenacity of my grip.

Well, this and running from security guards, but I hoped it wasn’t going to come to that tonight.

A few moments later I was hanging by my fingertips, arms at full stretch. I glanced down. I was maybe three feet from the floor. The drop was further than I would have liked, and I wished I’d worn something more shock-absorbent than Converse, but my fingers were already protesting. I counted to three.

And let go.

I landed on all fours, silently, like a cat.

“I’m in,” I said to Gabe.

“You’re bloody brilliant. Do I tell you that often enough? Now, have you got the thumb drives and that second Pi?”

“Yeah.” I straightened up and dug in my pack for the padded envelope Gabe had handed me just a few hours ago, filled with his carefully prepared devices. “Where do I put them?”

“Okay,” Gabe said, and now there was no teasing left, and his voice was pure concentration. “Listen carefully: here’s what I need you to do…”

IT WAS MAYBE FIVE MINUTES later that I plugged in the final drive, then wiped down my sweating palms, straightened up, and looked around for my torch. For a minute I couldn’t see it—but then I noticed a glow coming from underneath the furthest bank of servers. I must have kicked it there by accident when I dropped down.

It was right at the back, but I was able to hook it out with my metal slider and now I swung it around the room, aiming it at the panel beside the door.

A green knob. Unmarked, but it had to be a quick release, didn’t it? Fire regulations surely meant that locking employees into rooms filled with masses of electronic equipment was a big no-no.

Before I pressed it, I glanced at the ceiling. There were two panels missing: one dislodged, the other snapped in half. Damaging fixtures and furnishings hadn’t been part of the plan, but accidents couldn’t be helped—everyone knew that. Perhaps I should climb up again via the men’s loos to replace the panel I’d moved across, though.

I was considering this when Gabe’s voice crackled over my earpiece, a new note in his tone.

“Babe? You still there?”

“I’m just leaving. What is it?”

“They’re onto you. I’ve just got access to their cameras. There’s a guard coming up the back stairs and another by the main lift. They’re leaving the third floor now.”

“How much time have I got?”

“Two minutes, tops. Maybe less.”

“Should I stay put?”

“No, they’re searching rooms. Someone must have heard the noise.”

“Okay. I’m going for it.”

With a frisson of trepidation and excitement, I pressed the green button. For a moment nothing happened and my stomach lurched. Had the guards somehow disabled the override? I pulled the handle—and the door swung inwards.

“Where are they?” I whispered as I ducked into the corridor. The lights flickered on as I retripped the motion sensors. As soon as they came into the lobby, the guards would know that someone was on this floor.

“Think it’s the fourth.” Gabe’s voice was terse. He must be hunched over the monitors, trying to match the layout of the building to the camera views he was seeing. This was the stuff I sucked at—blueprints and tech gobbledegook—and that he lived for. “Hey, I can see you.”

I glanced up, and sure enough there was the unblinking black eye of a security camera. I blew Gabe a kiss and pictured him grinning back, then wondered whether some puzzled guard in the back office was watching this same camera.

Gabe’s voice broke into my thoughts with a new urgency.

“Nope, scrap that. You’ve got a guard directly ahead, about to go into the fifth-floor lobby. Turn around, head for the back stairs; you may be able to get down before the guy below finishes on the fourth. Don’t run—he’s right underneath you, he’ll hear the noise.”

Silently, obediently, I began speed walking in the other direction, thankful for the rubber soles of my shoes. I was almost at the stairs when Gabe spoke, sharp and peremptory.

“Abort! He’s on the stairs.”

Fuck. I couldn’t say anything, and Gabe knew it. He could see his wife on the monitors, caught like a mouse between two cats. There was no way out. I would have to hide.

“Duck in an office,” he ordered, but I was way ahead of him, already trying door after door. One locked. Two locked. Who were these people? Didn’t they trust their colleagues? A third one locked. Frantically I dug in my backpack for my lockpicks and stuck them in the keyhole, digging around with a force that was as likely to break the picks as trip the lock. But luck was on my side, and with a heart-quickening click, the lock gave. I slid inside, wrenched the locking mechanism shut, and stood with my back to the wooden door, trying to quell my thumping heart.

“I can see you,” Gabe said urgently in my ear. Craning my head to one side, I realized he was right. Even flat against the door, I was visible through the office window, and the guards were getting closer. Gabe had muted his mic so that I could listen better, and now I could hear their footsteps in the corridor, their voices getting louder.

I had only seconds to decide what to do.

They’re searching rooms, Gabe’s warning came into my head. If they opened the door, I was sunk.

I flung myself onto the floor, rolled sideways under a sofa, and lay there, my face pressed to the carpet, my heart thudding in my ears. For a moment I had a sudden, surreal image of my imaginary office worker, Jen, and what she would make of this, and I had to suppress a hysterical urge to laugh.

Instead I lay, holding my breath, twisting the ring on my left hand round and round with my thumb. It was my usual tic in moments of stress—a habit somewhere between biting my nails and crossing my fingers, only one that involved Gabe. It made sense; at least half the time, my fate was in my husband’s hands.

Outside the door I heard the footsteps stop and the rattle of a handle.

“This one’s locked as well.”

“They’re all locked on this floor,” said another voice. “Here, I’ve got the master.”

I heard the jangle of keys being thrown and stifled a laugh as the catcher missed and they fell to the floor.

“Do me a favor and just hand it to me next time?” I heard, and then the scratch of a key in the lock and the door opening. A torch swung around the space and I held my breath, praying they wouldn’t direct the beam under the sofa. There was the sound of a roller chair being moved… then the shhhhhh of a door closing.

I let out a trembling breath as quietly as I could.

“Nothing in there,” I heard from outside. “What about the bogs?”

“Empty.” The second speaker’s voice had an echoing quality, as though he was speaking from inside the bathroom itself. There was a pause and then, “Wait, hang on a sec…”

From my position under the sofa I could see nothing, and very carefully I raised my hand and touched my headset.

“Talk to me,” I mouthed, the words barely above a breath.

“They’ve discovered the ceiling panel,” Gabe whispered back.

Shit.

“Have a look at this,” the second guard said.

I listened to the sound of footsteps as the first guard, the one who had searched the office I was in, made his way up the corridor. There was a creak as the bathroom door swung open… then a gentle thump as it soft-closed behind him.

I was slithering out from under the sofa when Gabe’s voice crackled to life in my ear, a low scream of urgency.

“Go, go, go. Now!”

I didn’t need to be told. I was already on my feet, wrenching open the door, looking up and down the corridor, unsure which way to go.

“Opposite way from the lifts!” Gabe said, and I took off, pounding down the corridor, careening round the corner, where I would have face-planted into another set of security doors had Gabe not already triggered them. They stood open, waiting for me as I skidded through into a little lobby.

“Fire door to your right,” Gabe said, and I slammed through, finding myself in a vertiginous stairwell, spiraling down into darkness. The heavy fire door banged shut behind me, but I didn’t care. I’d already blown my chances of a stealthy exit. Nothing mattered now except getting away.

Down one flight. Down two. My heart was hammering in my ears.

“You’re nearly there.” Gabe’s voice in my ear. “You can do this—three more flights and then hang a sharp left and you’re at another fire door.”

“Wh-what if there’s an a-alarm?” I panted. Another flight. One more to go after this.

“Fuck the alarm. The other door wasn’t alarmed. But if there is I’ll override it. You got this, you hear me? You’ve got this.

“Kay.” I was too out of breath to talk now. Last flight and I staggered left, ducking back under the stairs. Sure enough, there was the fire door—and outside lay freedom.

I banged on the bar, wincing preemptively for the sound of a siren—but again, none came. I made a mental note for the report, but that could wait. For the moment, I was outside, in the blessed fresh air.

“Fuck!” Gabe howled in my ear, laughing now, the shaky, half-hysterical laugh of someone watching a movie with their heart in their mouth. “Jesus. You were incredible. I didn’t think you were going to make it.”

“I didn’t either.” My heart was banging in my chest, but I forced myself to slow to a walk as I crossed the car park. If there were more guards out here, no point in making it obvious who they were looking for. “Oh fuck me, I did not enjoy that.”

Gabe laughed, that chest-deep dirty rumble that I loved.

A, I most definitely will, and B, we both know that’s a lie. You loved every minute of it.”

I felt a grin spread over my face.

“Okay… I did enjoy it a little bit.”

“A little bit? You looked like you were having the time of your life.”

“Are they still searching for me inside?”

“Yeah, they’re still poking around on the fifth floor. One of them’s opened up the server room, but they haven’t noticed the drives. You did brilliantly, babe.”

“I know,” I said modestly, and heard Gabe’s answering laugh.

“Have you got it from here? I need to get inside the network before they figure out what’s going on.”

“Yeah, I’m almost at the car. See you in…” I glanced at my phone. “Forty minutes? Traffic should be clear this time of night.”

“You want me to order some food?”

I realized that I was starving. I never ate before a job—running around on a full stomach doesn’t feel great—but now the idea of food made my mouth water.

Yes,” I said emphatically. “A large pizza with mushrooms, peppers… No, actually scrap that. What I really want is the portobello veggie burger from Danny’s Diner with truffle mayo and extra onion. Think they’ll still be open?”

“Should be.”

“Great. Don’t forget the slaw. And extra fries. No, make that sweet potato fries. And tell them not to put it in the same bag as yours. Last time I was left picking your gross bacon jam out of my veggie burger.”

“Copy that. No fries. Extra bacon. See you soon, babe. I love you.”

“Love you too,” I said, and then, with a happy sigh, I hung up and disconnected the earpiece.

Scaling the wall was harder this time round, with aching muscles and a heart still pounding with spent adrenaline, but I scrambled up a recycling bin and dropped down from the top of the wall just around the corner from where I’d left the car, already rummaging in my bag for the key as I straightened up. I wasn’t even looking, but if I had been, it wouldn’t have made much difference. Because when I rounded the corner they were waiting.

I walked straight into the arms of the head of security.

Zero Days
by by Ruth Ware