PATCH TUESDAY
A Bergen crime story
Written by Thore Farmen in collaboration with Claude Code
Download: EPUB (for e-readers and phones)
About the story
This is a work of fiction. Fjordnett AS does not exist, and neither do its people, its customers, or the town hall of Lillevik. Any resemblance to a real company is the point, not an accident.
Nobody here is attacked because they are stupid. They are attacked because they are busy, and short-staffed, and kind, and because they keep saying next week.
The questions at the end are the real reason it exists.
Characters
Viktor Brekke: Former Kripos cyber-crime investigator, now freelance. Forty-nine. Lives alone on a houseboat in Sandviken. Sleeps badly, thinks sideways.
Geir Solheim: System administrator at Fjordnett for nineteen years. The man who kept the lights on. Found dead on a Tuesday morning.
Kristin Aase: Founder and chief executive of Fjordnett. Built the company out of a basement in 2004.
Jonas Lie: Twenty-seven, Fjordnett's most gifted developer, and its most impatient.
Mona Hellesøy: Office manager. Twelve years at the front desk. Bakes for every birthday.
Line Dahl: Politioverbetjent, Vest politidistrikt. Has known Viktor a long time, and has reasons both to trust him and not to.
Arnfinn Rød: Politimester. Likes a microphone.
Ola Nygård: Digital investigator, Vest politidistrikt. Ponytail. Says very little.
Skarv: A name on a screen.
Prologue
Tuesday 11 November, 03:10
Ragnar Tveit had eaten breakfast at six o'clock every morning for fifty-one years.
At ten past three on the second Tuesday in November, a machine in a cupboard in Askøy stopped breathing. Nobody had opened the cupboard in two years. Nobody heard.
Siri Mjelde was on the coast road by ten past five, the fjord black on her left, rain coming off it sideways and hitting the windscreen like thrown gravel. Thirty-one names before lunch. They lived in the phone in its cradle on the dashboard: door codes, insulin doses, which daughter to ring and which one not to. Now the app asked for something new, and the screen showed her a small turning wheel.
At eleven minutes past it showed her her own face.
She pulled in at the bus shelter at Kleppestø and tried again. No connection. She rang the office line and got a recorded voice telling her, in two languages, that the service was experiencing difficulties. She restarted the phone. Then she tried the backup, which was her own memory, and found that it was not a backup at all.
Ragnar was first on the list. He was always first. Eighty-three, diabetic, a widower with a bad hip and a good dog. The insulin had to go in before the food went in, and the food would go in at six, whether she came or not, because Ragnar was a stubborn man who had decided long ago that the day the routine broke was the day a person gave up.
Four digits. She had pressed them three times a week for two years. She could see her own finger on the keypad, the little brass plate above it with TVEIT engraved in capitals. She could not see the numbers.
She sat in the dark car with the wipers going and felt something she would later struggle to describe to the police. Not fear. Not yet. The feeling of reaching for a handrail in the dark and finding that someone has taken it away.
In a kitchen four kilometres up the road, a light came on.
Ragnar lowered himself on to the chair by the window one half at a time, the bad side last. The dog lay down across his slippers. On the wall the clock that had been his wife's mother's said twenty to six. In the fridge, on the shelf above the milk, sat the pen, which he had not used on himself since his eyes began to go and his hands began to argue with each other. That was what the girl was for. The girl came at a quarter to six.
He set out the bread. He set out the butter, and the brown cheese, and the knife. He looked at the clock, and at the dark road beyond the glass, and the dog looked at him.
Across the water, in Øygarden and in Alver, two other nurses were having the same morning. In a care centre at Straume, a screen that had shown the duty roster for six years now showed white text on a red background, a cartoon padlock, and a polite, patient request for forty thousand euros' worth of a currency nobody on the night shift had ever owned.
In an office park at Kokstad, in a low grey building with a logo shaped like a fjord, every monitor in the operations room glowed with the same red. There was no one in the room to see it. The man whose job it was to see it lay on the floor nine metres away, on the wrong side of a locked door, and had been dead for several hours.
The rain kept on. It is Bergen. The rain always keeps on.
Somewhere in the city a phone lit up on a pillow. He turned it face down and went back to sleep.
Chapter 1: Tuesday
Tuesday 11 November, 05:47
Teodor Lunde let himself into the building at 05:47, as he had three mornings a week for eleven years. He liked it empty. He liked the hum of the machines and the smell of other people's coffee gone cold, and the floor that took the polish if you did it properly, in long slow arcs, before anyone arrived to walk on it.
The operations room door stood ajar. That was the first wrong thing. Geir kept it shut. Always closed, Teodor. The machines don't like dust. And the light inside was on.
The second wrong thing was the colour. Every screen in the room was red.
He stood in the doorway with the polishing machine's cable looped over his arm. White words on red, the same words on every screen, and a little padlock with a cartoon smile, as if it had made a joke and was waiting for him to get it.
Beyond the desks was the glass wall of the server room. You could feel the cold on your face from two metres off, the cold Geir kept in there for the machines, and behind the glass the fans roared as they always did.
The third wrong thing was Geir.
He lay between the second and third rack, one arm folded under him, the other flung out towards the door as though he had been reaching for it. His coffee mug had broken on the floor and the coffee had dried to a brown tide-line around his head. His glasses lay a metre away. Unbroken. Folded, the arms tucked in, set down on the tiles the way a man sets them on a bedside table.
Teodor put his palm flat on the glass. It was cold as a car window in January.
He did not try the door. He had been a medic during his national service, a long time ago, and some old part of him knew from where he stood, from the colour of the hand that lay nearest the glass, that there was nothing left to do. He said Geir's name twice anyway, low, as he might have said it to someone he would rather not wake. The fans answered. They went on blowing cold air over a dead man as though nothing in the room had changed, and for the machines, he supposed, nothing had.
He called 113. A calm voice asked him questions he could not answer. While he waited for the next one he looked back at the red screens and the cheerful little padlock, and he thought, with a clarity that would frighten him later:
They did this to him.
Chapter 2: The houseboat
Tuesday 11 November, 06:20
Viktor Brekke was awake, because Viktor Brekke was always awake at that hour.
Three in the morning until about six was the stretch he had stopped fighting. He had tried the breathing and the cold water and the warm milk, and he had tried the pills, and the pills had worked, which was the trouble with them. Now there was a truce. The night was his. He used it for the things daylight was too loud for.
The Dorthea moved under him, old timber talking to the fenders in a slow, wet grumble. She was a wooden houseboat built for a calmer century, moored at the end of a floating jetty below the old houses of Sandviken, and in a southwesterly she complained like an aunt. Tonight there was no wind to speak of. The drizzle did not fall so much as hang in the air and wait for something to walk into it. Out across Byfjorden the lights of Askøy lay low and broken, and to the south, past Skuteviken, Bryggen's gables stood dark. Above the city the lights on Fløyen burned inside the cloud like lamps behind wet paper.
At half past three he had gone down to the galley for water and opened the drawer by the sink. Spoons. A tin of matches. A blister strip of zopiclone, the foil pushed out in a neat line from one end. He did not take it out. He counted through the plastic with his thumb, the way other men count the days they have been sober.
Fourteen.
He closed the drawer and went up on deck with a blanket and a coffee, and he had been there since.
A cormorant stood on the next jetty with its wings half spread, doing its strange black heraldry. The old man two boats down, who came out at first light to check his lines and never said good morning, called them skarv and called them thieves. This one fished the same patch of water every dawn. Viktor had stopped thinking of it as a different bird each day.
At twenty past six the phone rang. A Bergen number he did not know.
"Brekke."
"My name is Kristin Aase. I run a company called Fjordnett. I'm sorry to call so early." A pause, and in it the sound of someone holding herself together by main force. "One of my people is dead. All our systems are down, across half the country, and the police are in my office. I was given your name a long time ago, and I kept it, and I don't know who else to call."
"Given my name by whom?"
Another pause.
"By Geir," she said. "Geir Solheim. He's the one who's dead."
The cormorant dropped from the jetty. It hit the water without a splash and was gone.
He had not heard the name in nine years, but he could see the man at once: big, slow, terrible glasses, a fleece zipped to the chin in a server room in Oslo where the air conditioning ran like a winter. Six months in 2016 when Fjordnett had lent him to Kripos because a care-home chain ran their software and nobody at Kripos could read it. A habit of saying let's just check, mildly, at the very moment Viktor least wanted to hear it.
"Where are you?" He was on his feet. The blanket slid to the deck.
"Kokstad. Did you— did you know him?"
"I knew him," Viktor said. "Don't let anyone turn anything off. Not one machine. Not even the one he died next to. I'm coming."
He left the coffee on the rail and the deck light burning.
The gangway was slick with weed and his left knee told him about it on every slat. Up the steep smau between the old houses to where the car stood under a dripping rowan. He drove south through a city that had not yet heard. Buses with their insides lit like aquariums. A man in a fluorescent vest hosing down the fish market. On the radio a woman from NRK was saying the word Askøy in the careful voice they used for things they did not yet understand, and he switched it off, because he wanted to see it before anyone told him what it was.
Out on the water, the cormorant came up somewhere else entirely.
Skarv
He woke at seven, as planned, and before he looked at the news he looked at the sea.
The window was the reason he had taken the flat. Two rooms under a sloping roof, a radiator that knocked, a landlady who asked no questions so long as the rent arrived on the twentieth. And between the roofs below, a slot of grey water no wider than his hand held out at arm's length. Enough. A man could live on that.
He put the kettle on and stood at the glass in the grey hoodie he had slept in. Rain on the panes, fine and steady. Down on the jetties the boats sat low and dark, all but one. On the old wooden one at the end the deck light was on again. It had been on when he went to bed, and it had been on at three when he woke for no reason and lay listening to the radiator. The man who never sleeps. He had watched him on other mornings, a shape on the deck with a blanket and a mug, sitting there for hours like someone waiting for a ferry that had been cancelled years ago.
This morning the deck was empty. A blanket lay on the boards in the rain. The light burned over nothing.
He noticed that, the way he noticed everything now. Then he let it go.
On the next jetty a cormorant stood with its wings held out to dry, black and patient, ugly as a burnt umbrella. It would stand like that for an hour if nobody bothered it.
The kettle clicked. He made the coffee too strong and drank half of it and let the rest go cold beside the keyboard, as he always did.
His phone lay face down on the pillow where he had left it at three. He did not turn it over. He did not open the laptop. On the radio in the kitchen downstairs, through the floor, the landlady's morning news was mumbling something with the word Askøy in it, and something with the word nurses. He did not need to hear the rest. He had known for weeks what it would say.
He bit at the skin beside his thumbnail until it gave, and looked at the water between the roofs, and waited for the boat to come home.
Chapter 3: Fjordnett
Tuesday 11 November, 07:05
The Fjordnett building sat at the dead end of a street of identical grey boxes in the office park at Kokstad, architecture designed to be forgotten on purpose. Behind it Løvstakken had pulled the cloud down over its shoulders. The drizzle from the harbour had thickened on the drive south, and by the time Viktor parked it had turned to pøsregn, rain that came down in ropes and bounced.
The car park held two police cars and an ambulance with its rear doors open and nothing urgent about anyone near it. A scatter of staff stood under the overhang of the bicycle shed in their good coats, phones in hand, because no one had told them they could go inside and no one had told them they could go home. One of them, a young man in a thin rain jacket, was talking fast into his phone and walking in small circles.
A woman detached herself from the doorway and came to meet him. Mid-forties, dark coat, the unhurried walk of a person who has been to a great many scenes and learned not to run at any of them.
"Brekke." She said it like a diagnosis.
"Dahl." He nearly smiled. "You look well."
"I look wet. You look like a man who hasn't slept."
"I never do. You always did get the easy deductions first."
Line Dahl did not smile back, quite, but something in her face let go by half a degree, which from her was close to an embrace.
They had worked three cases together in the old days, before Kripos and he had parted company. Then she had given evidence at the review. She had sat at a table under a strip light in Oslo and said, in her flat Bergen voice, what she had seen him do, and it had been enough.
She looked him up and down. "All those years with the østlendinger at Kripos. You've gone soft round the vowels."
"So I'm told."
She turned her back to the rain and dropped her voice. "Here is what I've got. A dead systems man behind a locked door. A ransom note on two hundred screens. A company that writes the software for every GP surgery and home-care service from Kirkenes to Lindesnes, and three kommuner, Askøy, Øygarden and Alver, with nurses driving round in the dark. The health directorate has already got hold of Politimester Rød, and Rød has called a press conference for twelve o'clock." "If he finds out I've let a civilian with a review file into his crime scene, I'll be directing traffic at Danmarksplass by Christmas. So I would dearly like to know whether I'm looking at a murder, a break-in, a heart attack, or the worst coincidence in the history of Western Norway."
"Give me an hour," Viktor said, "and I'll tell you which of those it isn't."
Inside, the office was open-plan and ordinary. Desks, tired plants, a foosball table nobody had touched since the pandemic, a wall of framed thank-you letters from grateful municipalities. Only one of the staff had come in. A woman in her sixties stood behind the reception desk in a cardigan the colour of heather, filling the coffee machine with careful hands. Her eyes were red at the rims. On the desk beside her sat a Tupperware box with the lid off, and in it a dozen skillingsboller, glazed, still giving off a faint warm breath of cardamom into the cold air from the door.
"Someone has to make coffee," she said to nobody in particular, and then, to Viktor, "Please. Take one. Nobody will eat them."
He took one, because it seemed to matter to her. As he passed the windows he saw the young man in the rain jacket come in out of the rain, and the woman leave the desk and go to him and put a hand on his shoulder, briefly, as if steadying a ladder. "Mona," he said, and let her. Then he shook it off and went on talking into his phone.
Someone had written on a whiteboard beside the operations room, in capitals, underlined twice: DO NOT TURN ANYTHING OFF. Viktor asked who had written it.
"I did."
Kristin Aase was smaller than her voice on the telephone, and greyer, in a navy jacket buttoned to the top button. She shook his hand too hard and let go too soon. Her lipstick was on straight. A lanyard round her neck held two key cards, and one of them was a different colour from the other.
"Datatilsynet has to be notified within seventy-two hours. I've started the form. I didn't know what to put under nature of the breach." She said it in one breath, as if she had been saying it to herself in the car. "Two hundred customers. Three municipalities with no patient records. Eleven staff. Twelve. Eleven."
He watched her correct herself and not blink. Her systems administrator had been found dead before six that morning, and here she stood in perfect order, the lipstick on straight. Maybe that was what twenty-one years of running a company did to a person. Maybe it was something else. He put it somewhere he would find it later.
"Tell me about last night," he said. "A man died, and someone took your systems apart. Those can be one story, or two stories that happened to share an evening. Which they are is the whole case."
Through the operations room, past the red screens nobody had touched, the glass wall of the server room was misted at the bottom with cold. Beyond it a police photographer moved round a shape on the floor in short, careful steps, and every time the flash went the racks lit up white and went dark again.
"What did Geir find, Kristin? A man like Geir doesn't die in his own server room, on the night of an attack, by accident. Not unless accidents have changed since I left."
She looked at the glass for a long time. When she spoke, the rehearsed voice had gone.
"He asked me last week who had keys to the server room," she said. "I told him not to be paranoid."
Chapter 4: Jonas
Tuesday 11 November, 08:10
Jonas Lie had not stopped moving since the police let him back into the building. He paced the length of the little kitchen with his phone in one hand, and when Viktor came in he was in the middle of a sentence, "no, tell them we'll have a statement by—" He saw the stranger and hung up without finishing it.
"I didn't do anything," Jonas said.
"I didn't ask." Viktor fetched two coffees from the machine, put one in Jonas's hand, and sat down at the little table, which obliged Jonas to sit too. "Every first sentence anyone has said to me this morning has been a defence against something I hadn't accused them of. It's very educational."
Jonas laughed, one short unhappy bark, and some of the wire went out of him. He was twenty-seven and looked younger, with a two-day beard that hadn't decided what it wanted to be and a conference T-shirt with the logo washed half off. His left knee kept going under the table.
"You're the guy. The one Kristin called. Geir used to talk about a guy."
"Did he."
"Said there was someone in Oslo who could read a system the way other people read a face. Said he was a disaster, personally." Jonas glanced up, suddenly aware of whom he was talking to. "Sorry."
"He wasn't wrong," Viktor said. "Tell me about yesterday."
Jonas had been the last person to see Geir alive, and he knew it. He talked to the coffee rather than to Viktor.
"We had a release going out. 14.2. The big quarterly one, goes to every customer we've got." He turned the cup a quarter turn on the table. "We ship on Patch Tuesday. Always have. Second Tuesday of the month, Microsoft push their security patches, and every IT guy at every surgery in the country is up at night rebooting stuff anyway, so we go out with it. One evening of pain instead of two. Release goes out nine o'clock tonight." He stopped. "Was supposed to."
"And Monday?"
"Monday's patch night. Geir's thing. He stayed late the night before every release with a thermos and a printed checklist, like, actual paper, and he went through all of it. Every line. Twice." Jonas's mouth went crooked. "We used to call it the liturgy."
Viktor thought of the checklist on the desk he had walked past, half the boxes ticked in blue biro. Geir in Oslo had kept the same kind of list, in a ring binder with a coffee ring on the cover, and had read from it aloud at two in the morning while Viktor sat beside him pretending not to listen.
"You argued."
"Same argument we always have. Had." The knee stopped. "About six. My part was done. Merged, tested, green across the board. He wanted another evening of checks on stuff that has never once broken. I told him it was theatre." He said the word as if it had a hook in it. "That's what I said. Theatre. And he looked at me over those glasses and said, the theatre is the only reason you still have a job to be arrogant in. And then I went home. I was pissed off. And he stayed to finish, because he always stayed, and now he's—"
He did not finish that one either.
Viktor let the silence work. Outside the kitchen window the rain had eased to something you could see through.
"Was there anything else bothering him? Last week. Last month."
Jonas shrugged. "He was in a mood. He spent ages at the front desk one day last week, talking low. Came back and sat with his headphones on and didn't say a word to anyone till lunch." He rubbed his face. "I figured it was the budget. It's always the budget."
"Who had a key to that room?"
"Everyone's got a card. It's not really a key, the door just reads the badge. But the server room's on its own reader. Geir. Kristin. Me. That's the whole list."
"Three cards."
"Three cards." Jonas looked up, and Viktor watched him arrive, in real time, at what three cards meant. The colour went out of his face from the top down. The knee started again.
"Oh," he said. "That's why she's put me in a room with you."
Chapter 5: The forgotten account
Tuesday 11 November, 09:30
It took Jonas less than an hour to show Viktor the inside of Fjordnett, and most of that hour was apology.
They sat at Geir's desk in the operations room because it had the biggest screens, once someone from Dahl's team had photographed the red ones and let Jonas bring the consoles back up in read-only. The chair still had the shape of a heavier man in it. Geir's checklist still lay beside the keyboard.
The company was twenty-one years old and wore all twenty-one at once. There was the clean new part, the cloud platform and the pipeline that built 14.2 and shipped it to two hundred customers. Underneath it, holding it up like the pilings under Bryggen, was everything nobody had ever got round to switching off.
"This is prod," Jonas said, pointing at a tidy diagram. "This is staging. This is the build server. And this—" He hesitated, clicked into another view, and the diagram stopped being tidy. "This is the rest of it."
The rest of it was a thicket. Old servers named FN-SRV01 through FN-SRV14, some virtual, some still physical boxes humming behind the glass in the room where Geir had died. Integration jobs that shunted patient data between the old world and the new one at three every morning. Scripts whose authors had left the company before Jonas finished school.
Viktor pulled his chair in close to the screen.
"That one. FN-SRV03."
"Lab integration. Pulls results in from the hospital labs so the GPs get them. It's old. It's on the list."
"What list?"
"Geir's list. Stuff to migrate." Something happened to his voice. "It's been on there a while."
"How long is a while?"
Jonas checked, and Viktor watched him not want to say it.
"Windows Server 2012," Jonas said at last. "Support ended in 2023. It hasn't had a security update since—" He stopped. "Since then."
Viktor said nothing cutting. There was nothing to say that the boy wasn't already saying to himself.
"Show me who can log into it."
The permissions on FN-SRV03 were twenty-one years of sediment, nobody's fault and everybody's. Jonas scrolled through groups inside groups, accounts belonging to people who had left in 2011, a printer that had somehow been made a local administrator.
Then Jonas stopped scrolling.
svc_labsync
"Service account," he said. "Lab sync. It just moves results from the hospital to—" He clicked. The cursor hung, then the group memberships rolled down the screen. He read them twice.
"What," Viktor said.
"Domain Admins."
Viktor waited.
"It's a script with a login. It does one stupid job at three in the morning." Jonas's voice had gone up half a tone. "And somebody gave it everything. Every server. Prod. The build box. Every surgery we've got."
"When?"
"Twelfth of March. Twenty fourteen."
"Password?"
Jonas ran the query. Behind the glass the fans changed pitch and settled.
pwdLastSet: 12.03.2014 09:41
"Faen," Jonas said softly.
Viktor looked at the timestamp. Nine forty-one on a Wednesday morning, eleven years ago. Someone had typed a password, sipped their coffee, and gone to lunch.
"They never change it," he said. "That's the trick. There isn't a second one."
Jonas wasn't listening. He had opened another window and was reading down a column of dates with his lips moving.
"It's been used," he said. "It doesn't log in interactively. Ever. It's a robot, it just runs. But here." He put his finger on the screen and left a print on it. "Interactive session on FN-SRV03. Monday. Last night."
"When last night?"
"Twenty-one twenty."
Viktor looked at the half-ticked checklist beside the keyboard, at the blue biro lying across it, uncapped.
At twenty past nine last night, Geir Solheim had been alive.
Chapter 6: Kripos
Tuesday 11 November, 10:40
Viktor went outside to think, which meant he went outside to smoke, which he had given up four years ago and took up again roughly once a case.
The pøsregn had thinned to a fine, cold drizzle. Beyond the fence and a strip of wet birches, Løvstakken stood with its head in the cloud, as though it had decided not to watch. He lit the cigarette with his back to the wind and held the first lungful longer than a man should.
Dahl found him there. She stood a metre off with her hands in her coat pockets and said nothing for a while, which had always been one of the better things about Line Dahl.
"It's the Oslo thing," she said eventually. It was not a question.
"Everything's the Oslo thing."
He had been good once, in the uncomplicated way that gets a man promoted past the edge of his own judgement. In his last year at Kripos he had run an operation against a group bleeding money out of a chain of care homes, so certain he knew how they were getting in that he stopped checking the dull things. He had chased the clever door while they walked in and out through the stupid one.
A man had helped him. Henrik, forty-four, a clerk in the care-home company's finance office, frightened and decent, who came to Viktor with what he knew because he could not think of a reason not to. Viktor promised him it would be handled carefully. Then Viktor was in a hurry, because in those days being in a hurry felt like being good at the job, and a file went to the wrong place, and a name that should never have left a locked room left it.
He did not say the rest. He never said the rest. What he saw instead was the hearing room. A long table. Water jugs nobody touched. People who had never met Henrik discussing the chain of events in voices like a shipping forecast. And in the second row, Henrik's widow, in a buttoned raincoat, with a carrier bag of groceries on her lap. Milk. A loaf. The corner of a tin. She held that bag through four hours of testimony and never once put it down, as though the day might still end with her going home and making dinner for two.
"Do you remember the bag?" he said.
Dahl looked at the mountain. "I sat two rows behind her."
"She never put it down."
"No." The drizzle beaded on her collar. "I said what I said in there because it was true, Brekke. I'm not going to stand by a fence and apologise for it."
"I didn't ask you to."
"You were going to." She let it go. "Geir was on that case. Wasn't he. The technical side."
"He was lent to us," Viktor said.
Dahl nodded. "I remember him."
"Geir was the one who found where the file had gone. Afterwards." Viktor turned the cigarette in his fingers. "He came and stood in my doorway. He didn't shout. Geir never shouted. He just said, you skipped the boring part, Viktor. Then he said, let's just check, and he pulled a chair over, at midnight, and we went through every single thing I should have gone through in the first place. Until it got light. He wasn't my friend. He thought I was arrogant, and he was right. But he sat there until morning."
The cigarette had burned down to the filter. He did not drop it until the heat was in the skin of his fingers, and Dahl watched him not drop it, and said nothing about that either.
He ground it out on the wet tarmac.
"I left three months later. Geir went back to Bergen, to the little firm that had lent him out, to keep the lights on for two hundred customers. And now he's on the floor of his own server room on patch night, of all the nights in the month, and everybody standing in that car park thinks he died fighting someone off." He looked at her. "I need to know if that's true before they carve it on his stone."
Dahl took her hands out of her pockets.
"The door logs are back," she said. "The pathologist is ringing me within the hour. Come inside before you set fire to something." She had already turned towards the building. "You're going to like it. And then you're going to hate what it means."
Chapter 7: The watch
Tuesday 11 November, 11:15
She laid it out on the meeting-room table like a hand of cards: the door logs, a laptop, her notebook with a pen across it.
"Server room first," she said. "Separate reader, like your boy said. Three cards. From 18:00 last night until Kristin let the police in at 06:12 this morning, one card used that door." She turned the sheet towards him and put her finger on the line.
21:58:07 SOLHEIM GEIR IN
Nothing under it until Kristin's card, at 06:12.
"Never came out," Viktor said.
"Never came out." She took her finger away. "Now the main entrance."
The main entrance was busier. Then, in the dark part of the evening, a name that made Viktor sit forward.
22:15:41 LIE JONAS IN
22:19:02 LIE JONAS OUT
"He told me he went home at six," Viktor said. "Annoyed. Slammed out."
"He told me the same." Dahl's voice did not change at all. "And then there's this."
The laptop. Geir had worn a fitness tracker for three years because his GP had told him to, and had never once looked at it. A heart-rate line ran across the screen like a coastline drawn by a steady hand. A man sitting down, working, drinking bad coffee.
At 22:34 the line went up like a flare.
It climbed, stuttered, climbed again. It jagged for three minutes. At 22:37 it fell off the edge of the screen and lay flat along the bottom, and stayed there, and the hours ran on beside it with nobody in them.
"Twenty-two thirty-four," Viktor said.
"Fear does that," said Dahl. "So does somebody walking in on you. Fifteen minutes after your boy walked back out of a building he says he left at six."
Viktor looked at the two printouts and at the line on the screen, and for half a minute the case was a murder again. A young man with a temper and one of three cards. A quarrel at six that had not finished. A door that only logged one name, because you only need one card to hold a door for somebody else.
"Get him," he said.
Jonas came in white, saw the printout, and settled on outrage.
"My charger," he said. "I left my charger. I got halfway home with my phone on four per cent and I came back. Four minutes. I didn't go near the room."
"You didn't mention it."
"You didn't ask!" It came out loud, and he heard it, and he sat down. "Faen. I didn't think. I didn't think it was anything."
It took Dahl's people twenty minutes to make it nothing. The camera above the front door had him walking in with his hood up, picking a white cable off the reception desk, and walking out with it wound round his hand. The car-park camera had his headlights swinging out at 22:20 and not coming back. At 22:34 Jonas Lie had been sitting at a red light on the E39 with a dying phone and a grievance.
Dahl's phone rang at eight minutes to twelve. She listened, wrote, said "Takk" and put it down.
"Gades institutt. Provisional." She read from her own handwriting. "Cardiac arrest. Known heart condition. His GP knew, his sister in Florø knew, nobody here did, because Geir didn't talk about Geir. There's a head wound where he caught the edge of the rack going down. Secondary. He was very likely gone before he reached the floor."
"The glasses," Viktor said.
"I asked. She says they see it often. Pain starts in the chest or the arm, and a man thinks he's tired. He takes his glasses off. Folds them, puts them somewhere safe. Rubs his eyes. Sits down for a minute." Dahl closed the notebook. "Then he tries to get up and go for help. The full post-mortem's Thursday."
The arm flung out towards the door. Viktor had read it in Teodor's statement as a man reaching for an attacker. It had been a man reaching for a handle.
"He was alone," Dahl said. "Nobody did this to him. His heart did it." She sat back. "There's no murder, Brekke."
Jonas put both hands over his face. Viktor looked at the laptop instead, where Dahl had pasted a second timestamp beside the flat line.
"When did it fire?"
"03:10. Askøy, Øygarden, Alver. More or less together."
"Three ten." He sat forward. "He died at twenty-two thirty-seven. The attack didn't start for another four and a half hours."
"So?"
"So the hero's dead too. The one in the car park, who catches them in the act." Viktor got up and went to the window. "There was nothing to catch. So what was he doing in that room at ten at night?"
"His job. It was patch night. You said so yourself."
"Maybe." Outside, a gull hung over the car park and rode the wind sideways and went nowhere. "Or he'd started to see it. Not the attack. What's underneath. And he died at the wrong end of an evening, too early to tell anyone." He turned round. "I want everything he touched yesterday. Every check he ran and every one he stopped running."
Dahl glanced at the clock on the wall. Five to twelve. "Rød's on in five minutes. I'm sending him the pathologist's word now, in writing." She typed it with her thumb, read it once, sent it. "He'll say attack anyway. He's had the word in his mouth since breakfast."
On the table Jonas's phone lit up, and lit up again, and he turned it face down without reading it.
"Line."
"Don't." She picked up her notebook. "And don't get comfortable. Thursday's Thursday. Until then it's still a maybe."
Skarv
The invoice hung above the desk on a drawing pin that had rusted a ring into the paper. He had never framed it. Framing was for people who expected visitors.
Kr 86 250,00. Due 30.06.2016. Underneath, in his own biro, a date a year later and the word settled, crossed out so hard the pen had gone through. He could still tell you the colour of their lawyer's tie. After that, the buses. Contracts that ended in March. A call centre where they timed your toilet breaks.
At noon he made coffee, forgot it, and sat with the laptop on his knees and watched the press conference live.
A police chief with a good haircut said attack. He said it twice, enjoying it, and behind him the logo stood very blue and very certain. He smiled at that. It was a big word. He had given it to them, and now it was theirs.
Then the police chief said lost his life.
He stopped the stream. He ran it back and played it again, and then a third time, leaning in as though there might be another word hidden under the first one. The smile went first. Something else came after it, and he looked at it for a while, and put it away where he kept things.
The news cut to footage from the morning. A car park in the rain. Police tape. People in office clothes holding their elbows. And walking past the camera, not looking at it, a man in a coat that had been wet for hours, his shoulders up, his hands in his pockets.
He knew the walk before he knew the face. He had watched it every evening for a year: down a gangway at the bottom of the hill, across a deck, under a light that was never switched off. The man on the boat who never slept.
It took him longer to find the rest. A newspaper photograph, small and grey, from a long time ago. A review. A case in Oslo. A name he had read twice back then because he liked stories in which a clever man was made to sit in a room and listen.
"Brekke," he said, to the flat.
He went to the window. Between the roofs, in the view he paid four thousand a month extra for, the boat sat low against its fenders, and the deck light was still burning, in broad daylight, for nobody.
He pulled the sleeve of the grey hoodie down over his hand. Without noticing, he had chewed the cuticle on his thumb back to the quick. He put the thumb in his mouth and tasted iron, and the coffee on the desk had a skin on it.
Chapter 8: The loud crime
Tuesday 11 November, 13:30
Geir had not left words. He had left a trail, the kind a careful man leaves following a smell through a building he has known for nineteen years.
They rebuilt his evening at his own desk, Viktor in Geir's chair and Jonas standing because he would not sit in it. A photograph of a sister and two boys on a windy quay. A laminated card taped to the side of the monitor that said, in block capitals, PATCH NIGHT: CHECKLIST FIRST, OPINIONS AFTER.
The checklist for 14.2 lay printed beside the keyboard, and Geir had logged every tick in the release spreadsheet as he made it, from a little after six. At item twenty-three, at 21:17, the ticks stopped.
"He never stops in the middle," Jonas said. "He'd finish the list with a temperature of forty."
At 21:20 a remote session opened on FN-SRV03. It came from this desk, from this machine, from the chair Viktor was sitting in. And the account it used was svc_labsync.
Jonas read it twice. "That's him? That's Geir logging in as the robot?"
"He had the password," Viktor said. "Or he thought he remembered it. So he tried it. Let's just check." He looked at the timestamp and saw the man doing it: the big hands on the keyboard, the glasses pushed up, the small cold surprise when the old key turned in the lock. "It worked."
After that Geir had gone looking. Logon histories on the old server. Who had used svc_labsync, when, from where. The queries ran one after another for half an hour, each a little wider than the last. At 21:58 he had left his desk and badged into the server room, and the logs on FN-SRV03's own console showed him there, at the physical box, reading its local event logs one screen at a time. At 22:30 he had opened a file from the old archive share.
They could not see what was inside it from here. They could see its name.
Integrasjonsspesifikasjon_LIS_v3_2016.docx
Jonas put his coffee down. "That's from the archive. That's ancient. Why would anybody read that at half ten at night?"
"Because something told him to." Viktor wrote the filename on the back of his hand with Geir's pen. "Hold on to it. I want to look at the loud thing first."
The loud thing was on every screen in the operations room. It had taken down the home-care systems in Askøy, Øygarden and Alver, encrypted everything it could reach, and was asking, very politely, for forty thousand euros.
And the longer Viktor looked at it, the less he believed it.
"It's sloppy," he said. "Three municipalities out of two hundred customers. It goes for the home-care systems, a few thousand patients, and then it just sits there flashing. It doesn't touch the platform. It doesn't touch the money." He leaned back in Geir's chair. "It's loud. It wants to be seen."
"That's bad, though? That's worse?"
"It's theatre."
He did not say it hard. He said it as a man sets down a cup. Jonas heard it land. He had used the same word to the dead man across this desk the evening before, and his face went red from the collar up and stayed that way.
"A professional who wants your money is quiet," Viktor said. "A professional who wants your data is quieter still. This is somebody setting off the fire alarm at the front of the building. And when somebody sets off the fire alarm at the front of the building, there's one question worth asking."
Jonas swallowed. "What's going on at the back."
"What's going on at the back." Viktor pulled the network map up again, the thicket, twenty-one years of it. "This ransomware hurts a few thousand people for a few days. It's meant to be survivable, because it isn't the point. While the whole company runs towards the alarm with buckets, the real thing walks out the back. And the back of this building is whatever touches all two hundred customers at once." He looked up. "Which is what?"
Jonas did not answer at once. He was looking at the laminated card on the side of the monitor. PATCH NIGHT. Then at the clock in the corner of the screen. 13:58.
He went white.
"The release," he said. "It ships to everyone."
Chapter 9: The build server
Tuesday 11 November, 15:50
Kristin insisted on being in the room. She stood behind Jonas's chair with her arms folded and her reading glasses pushed into her hair, and Jonas explained how a release was made to the woman who had signed for the server it was made on.
"So the code's in the repo, right, everyone's code, and the build box pulls it, and then there's a script that—"
"I know what a build is, Jonas. Skip to the part where it's bad."
"I don't know where the bad part is yet." He breathed out. "The script's the recipe. It pulls our code and then other people's. Libraries. Hundreds. Logging, dates, PDF stuff. Nobody writes that, you just—"
"Trust it."
"Yeah."
"Show me what's changed in the recipe," Viktor said from the window. "Last month. Anything."
It was Jonas who found it, and when he found it he made a sound Viktor had heard before, from good people at the moment the floor tilts under them.
Eleven lines. Eleven lines added to the build script, three weeks earlier. Neat, competent, commented. Beside them a little note in the house style:
# perf: swap logging lib for patched build
"What does that do?" said Kristin.
"It tells the build, when you put 14.2 together, don't use our normal logging library. Use this one instead. From over here." Jonas pointed at a package source that was not theirs. "Nobody'd look twice at that note. Nobody reviews the build box. Review's upstream, on the code. This was never in the code."
"Who wrote it?"
Jonas clicked on the change. The metadata came up in a grey box.
author: jlie <jonas.lie@fjordnett.no>
date: Sun 19 Oct 2025 03:12:44 +0200
Kristin unfolded her arms.
"That's not me." Jonas pushed his chair back as if the screen were hot. "That's not— I was asleep. Three in the morning on a Sunday, I was asleep, I'm always asleep, ask anyone. Ask my—" He stopped, because there was nobody to ask, and everybody in the room knew it.
Dahl had been in the doorway for some time with her phone at her ear, and Viktor could hear Rød's voice in it, small and metallic and clear. She had not gone into the corridor this time. That, he understood, was deliberate.
"...his name on the code, three cards, a row with the dead man the same evening, and a lie about coming back. I want him at Allehelgens gate this afternoon, Dahl. And I want the civilian with a review file out of that building before somebody photographs him in it."
"Give me ten minutes," Dahl said, and lowered the phone without ending the call. She looked at Viktor. "You've got ten minutes."
"I need four." He put his hand on the back of Jonas's chair. "Anyone can type a name into a commit. Git writes down what you tell it." He leaned past Jonas. "Where did the change come from? Not who it says. Where."
Jonas's hands were shaking, so he typed slowly. The change had never come through the repository at all. It had been written straight onto the build box, into the working copy of the script, and committed there. The build box kept its own security log, and nobody had read that in a year either.
19.10.2025 03:11:58 Logon svc_labsync from FN-SRV03
"And Jonas's laptop?" said Viktor.
The VPN logs took longer. Jonas's machine had disconnected at 23:51 on the Saturday and not been seen again until 10:02 on Sunday morning, from his flat.
"Off the network," Viktor said. "Three hours before." He straightened. "Somebody sat on the build server at twelve minutes past three on a Sunday morning, logged in as the robot from the lab box, and signed Jonas's name to it because Jonas's name is the one you'd believe."
Dahl lifted the phone. "Did you get that, politimester?" She listened. "No. He stays. He's the reason we've got it." A longer pause, and something in the line of her mouth tightened by a millimetre. "Understood."
She put the phone in her pocket. Nobody asked her what had been understood.
"The library," Viktor said.
Jonas opened it. At a glance it was the real thing. The name was LogFIow.Core where theirs was LogFlow.Core, with a capital I standing in for a small l, and on this screen in this font they were the same letter. Inside, it did everything the real one did, and one thing more. Buried halfway down, wrapped in enough ordinary code to look like nothing, was a small and patient instruction: once installed on a customer's system, wait. Wait a good while. Then open a way in, and tell an address on the internet that it was open.
"A back door," Jonas said. "In the logging. In the one thing nobody ever looks at." His voice had gone thin. "If we'd shipped tonight—"
"Every system you have," Viktor said. "Every surgery, every kommune, from Kirkenes to Lindesnes, all at once, all trusting you. That's the crime. The ransomware was the fire alarm. This is the robbery."
Kristin had sat down on the edge of the desk without seeming to notice she had done it.
"It's held," she said. "Since seven this morning. Nothing's gone." It was a sentence she would need to say to a lot of people. "Two hundred customers expect it tonight at nine. Ingrid's had forty calls already."
"Tell them it isn't," said Viktor. "Tell them it's postponed. Thursday."
"Thursday at nine," Kristin said. "Because of the incident."
"Because of the incident. Nothing else. Not a word about the build. Not a word about libraries." He looked at Jonas. "Not on Slack. Not to anyone's cousin."
Jonas nodded without looking up.
"Who else knows this release was held?" he said. "Think hard. Because somewhere out there is a person expecting two hundred doors to open tonight. And when they don't, he is going to want to know why."
Chapter 10: The pillow over the alarm
Tuesday 11 November, 19:10
The question surfaced the way the useful ones do, sideways.
"Your monitoring," he said. "Geir was careful. A careful man builds alarms. If somebody's been walking round your old servers for months as a robot that hadn't moved in eleven years, something should have noticed. Sent an email. Woken somebody up."
"We've got all that. Geir built it." Jonas was grey with tiredness. "Unusual logins, privilege changes, new admin sessions. They all go to one mailbox. ops-alerts. We all watch it."
"Show me ops-alerts. Since the summer."
It was nearly empty.
For a company that had had a stranger walking its corridors since the summer, the alert inbox was serene. A disk warning. Two expired certificates. Nothing about FN-SRV03. Nothing about svc_labsync waking up after eleven years and walking through the building at three in the morning.
"That can't be right," Jonas said. "They fire automatically. They can't just—"
He stopped, because Viktor had already found it. In the mailbox settings, tidy and small, sat a rule. The kind anyone makes in thirty seconds. This one said that any message whose subject contained Geir's alert wording, his own phrases, word for word, should skip the inbox, be marked as read, and go to a folder called Arkiv/Diverse that nobody had ever opened. It had been run once, the day it was made, over everything already in the inbox.
Jonas opened it. A single logon on a Sunday evening in July, and then two months of alarms poured down the screen. Logons, sessions, a new scheduled task, an admin login at 03:11 on a Sunday in October. Every one of them read. None of them seen.
The alarms had been ringing for two months. Someone had simply put a pillow over them.
"When was the rule made?" Viktor's voice had gone level.
"Sixteenth of September. Eleven forty."
"From where?"
Jonas looked, and frowned, and looked again.
"Not Geir. Not an admin. A normal login." He sat back. "The reception PC."
Beyond the glass the office was nearly empty. Kristin had sent home everyone who did not need to be there at three. On the front desk, under the reception lamp, the Tupperware of skillingsboller sat with a tea towel half over it. Behind it, an empty chair, pushed in neatly, with a cardigan folded over its back.
"Who uses the reception PC?" Viktor said.
"It's shared. Sort of. I sit there sometimes, if she's at lunch and the phone—" Jonas stopped, and went to his own badge log without being asked, and Viktor watched him hope as he scrolled. "Sixteenth of September. I badged out at 11:31. Back at 12:24." He did not look up. "I was across the road. Eating."
"So at eleven forty."
"So at eleven forty it was just—" He looked, despite himself, through the glass towards the front desk and the tea towel and the cardigan. "Mona."
"Mona."
"Mona Hellesøy. She's been here forever. She does the birthdays. She bakes." He said it as if the baking were a character reference, which in a sense it was. "She wouldn't. Viktor, she's the kindest person in this building. She put her hand on my shoulder this morning, with him still lying in there. She cried more than any of us."
"I'm sure she did," Viktor said, and meant it, and found that it did not help. "Where is she?"
"Home. Kristin's told everybody to stay home tomorrow. She'll be in Thursday. She's always in." Jonas swallowed. "Are you going to ring Dahl?"
"Not yet."
"But you know. We know."
"We know who held the door. We don't know who walked through it." Viktor looked at the cardigan. "She's got a phone in her handbag, and somebody on the other end of it who's been very patient for months. If I take her now, he hears it before she's finished crying. And then he's gone, and the key's still out there, and he tries it on the next tired company with a woman at the front desk who bakes."
"So what do we do?"
"You go home. You don't say her name to anyone. Not to Kristin, not tonight." He held Jonas's eyes until the boy nodded. "And on Thursday, I'm going to ask her who she's been baking for."
Jonas went. Viktor heard the front door, the lock, a car starting in the wet. Then only the fans in the server room, a long way off, and the rain beginning again on the flat roof.
He stayed in Geir's chair. A careful man does not stop at the interesting part. He opened Geir's mailbox, which Kristin had unlocked for the police that morning, and sorted it by time.
At 22:30, by the server's log, Geir had opened the old integration document.
At 22:33 he had opened a new email.
It was still there, in the drafts folder, where the program had saved it on its own without asking. Nobody had sent it.
To: Viktor Brekke
Subject: Sorry. Let's just check.
Below the subject line there was nothing. A white field. No greeting, no full stop, not the first letter of his name. A man had sat on a stool between two humming racks, with something in his chest he thought was tiredness, and had taken out his phone, and looked up an address he had not used in nine years, and had found the words for the top of the message and not for anything underneath.
Last saved 22:33.
Viktor did not touch the mouse. He sat with his hands on his knees in the dead man's chair while the rain worked at the roof, and read the subject line again, and then again, and the white space under it did not fill.
Chapter 11: Vestdata
Tuesday 11 November, 23:00
The wind had come round and was coming off Byfjorden now, pushing sludd against the Dorthea's windows in soft grey handfuls that slid and did not melt. The old boat worked against her fenders. Down the shore the floodlit gables of Bryggen stood in their row, like teeth in a lit mouth.
Viktor sat at the galley table with his laptop shut in front of him and did not open it.
Nine years without a word, and at the end Geir had reached for him. To say what? Sorry for what? It was Viktor who owed the apologies. It had always been that way round.
He opened the drawer by the sink. The blister strip lay where it always lay, behind the matches, the foil dimpled where his thumb had pressed it on other nights without pushing through. Fourteen. He had counted them so often that counting had become a way of not taking one.
He took one. He swallowed it with water from the tap, standing up, and was in the bunk before he could hear what he thought about it.
He slept like a stone dropped in a fjord, all at once and a long way down, and came up at five to one with his mouth full of cotton wool and his head full of certainty.
Someone had been inside Fjordnett for months. Someone who knew an account forgotten by everyone except Geir, and Geir's alert wording word for word, and when the release went out. Not a teenager in another hemisphere. Someone who had been close.
He rang Dahl. She answered on the second ring, because she slept as badly as he did and had stopped pretending otherwise.
"Who hates Fjordnett?" Viktor said.
"Good evening to you too, Brekke."
"A company that age makes enemies. People it sacked. People it beat. This is personal, Line. It's far too patient to be anything else."
"You sound odd."
"I sound awake."
A pause in which he could hear her decide not to ask. "I'll pull some threads," she said. "Go to sleep."
He didn't. He sat on the edge of the bunk with the phone in his hand until the sludd turned to drizzle, and the window went from black to the colour of old dishwater.
Wednesday 12 November, 08:40
By morning she had a name, and he was ready to love it before she had finished saying it.
Vestdata. Fjordnett's nearest competitor, an office out at Sandsli ten minutes from Kokstad, the same grey box with a different logo. They had lost three municipal contracts to Fjordnett in five years and had not been gracious about any of them. And in 2016 the two companies had tried, briefly, to work together: an integration project, a partnership on paper, killed after four months in a storm of unpaid invoices and solicitors' letters.
"That's them," Viktor said.
"That's a company that dislikes another company." Dahl was driving. The wipers went at the slowest setting and still had too much to do. "Bergen is full of them."
"Lean on them. Properly. Bring the MD in. Take their laptops."
"On what?"
"On the fact that they knew where everything was."
She glanced at him. He had his coat buttoned wrong and had not noticed. His head was a room with the curtains drawn, and in the dimness one idea stood very tall.
A text came in from Kristin, answering his question about who would be in today. Mona had sent her one line at seven: Vondt i hovudet. Kjem i morgon.
"And Hellesøy?" Dahl said, reading it over his arm at a red light. He had told her about the rule in the first five minutes of the drive, and she had not enjoyed hearing it twelve hours late.
"Tomorrow. When I know who's holding her lead."
Leif Haugland met them in a glass meeting room with a view of the car park and a bowl of apples nobody had eaten. A broad man in his fifties with a good watch and a face that had been friendly for a living for thirty years. The friendliness lasted until Viktor's third question.
"You're not police," Haugland said.
"No."
"Then I don't understand why I'm answering you."
"Because a man is dead," Viktor said, "and someone who knew Fjordnett from the inside put him on the floor of a server room. Your company tried to get inside Fjordnett for four months in 2016. You've been losing to them ever since."
Dahl said, "Brekke," in a voice that was a hand on his arm.
He kept going. He heard himself keep going: staff who had left angry, old logins, Haugland's own whereabouts on Monday night. With each question the man's face shut another window.
"Do you know what you're accusing me of?" Haugland said at last. He had gone red along the jaw. "We're a real company. Forty people. I have nurses as customers. I don't sabotage a competitor's software that goes into the same homes as mine." He stood up. "If you want people who hate Fjordnett, they're not hard to find. There was a contractor on that project in 2016, Riise, sued us over invoices, sued half of Bergen, wrote nasty things about all of us on some forum for a year. Harmless. A boy with a grudge. Moved to Oslo, I heard." He flicked the name away with his fingers. "And that's the last thing I'm saying without our lawyer. I'll be ringing your politimester this afternoon, Inspector. I'd like him to know how his investigation is being run."
Viktor wrote Riise in his notebook, under a sketch of the svc_labsync timeline he could no longer quite read, and underlined it once. Then Haugland held the door for them, and there was nothing to do but walk through it.
In the car Dahl did not start the engine. Rain crawled down the windscreen. On the dashboard her phone lit up with the word Rød, and she watched it ring out.
"You were wrong in there, Brekke," she said. "You were wrong the way you used to be wrong."
He said nothing. There was nothing to say that would not have been a defence.
"Fast," she said. "Loud. Sure of yourself. And that man had a thing on his face when you mentioned 2016, and you were too busy shouting to see it." She started the car. "Now he's got a complaint and Rød's got a reason. Well done."
Wednesday 12 November, 23:50
He spent the evening on the Dorthea not opening the drawer.
He opened it once, to check, and closed it. Thirteen. He put the strip in his coat pocket, because he did not trust the man who would be standing in the galley at three in the morning, and went out on deck with a coffee he did not want.
The rain had eased. Out on Byfjorden the Askøy lights lay on the black surface in long yellow stripes that broke and mended and broke again. Up the hill behind him, between two roofs, a small window was lit, as it often was at this hour. Someone else who read late.
At ten to midnight his phone rang. A Bergen number he didn't know.
"It's me. Haugland. From Vestdata." The friendliness was gone from the voice, and so was the anger. What was left sounded like a man standing in his own garden in the dark so his wife wouldn't hear. "There's something I couldn't say in front of my people."
Viktor waited.
"In 2016, during the project, Fjordnett sent us a pile of documentation. Integration specs. Emailed round to a great long list, half of it should never have gone out that wide. And one of them had a password in it. In plain text. In an appendix. For some account the integration used." He breathed out. "I remember because one of my developers made a joke about it in a meeting. Said if Fjordnett ever annoyed us we could just log in and switch them off. We all laughed."
"Do you still have it?"
"God, no. It's nine years ago." A pause. "But we had contractors in and out all through that project. Freelancers. Half of them we never saw again. Any of them could have kept a copy of anything." His voice dropped. "Nobody was careful. Nobody was ever careful."
The line went dead.
Viktor stood on the deck with the phone still at his ear. He set the mug down on the rail. He was already feeling for his car keys.
Chapter 12: 2016
Thursday 13 November, 00:40
Jonas came in a hoodie over pyjama trousers, with his hair standing up at the back and his laptop under his arm, and did not ask why.
The copy of the file Geir had opened on Monday night sat on an old share that had been encrypted at ten past three. But the document had been sent, and Fjordnett deleted nothing. The mail archive went back to 2009, a landfill of every message anyone had ever written,.
"Sender Geir Solheim," Jonas typed. "March 2016. Attachment." He hit return. "There."
An integration specification. Nineteen pages, technical, dull. Sent on the twelfth of March 2016 at 14:52.
"Go home, Jonas," Viktor said.
"I can..."
"Go home. Sleep. I'll need you at seven."
Jonas looked at the screen, and at him, and went.
Viktor scrolled. Page seventeen, an appendix headed Service account configuration, and below it, in a little grey box, the username svc_labsync and its password, in plain text.
He sat back.
So that was the file. Geir had followed a forgotten account down through eleven years of permissions until he found a document, and when he opened it he had found his own name at the top.
Viktor could see the afternoon it was made. A Saturday in March, the office empty, a tired careful man pasting a configuration into an appendix without stripping it, pressing send, going for a coffee. Realising, probably, by the next morning. Meaning to change the password. Writing it on one of those lists such men keep, change svc_labsync pw, a list that is only an inventory of things there will never be time to do.
And at 22:33, three minutes after he opened it, Geir had started a message to the one man he knew who had made the same kind of mistake and paid for it.
Sorry. Let's just check.
Not an accusation. An offer. The same one he had made in an Oslo doorway nine years ago, turned round and held out the other way.
Viktor put his hand flat on the desk and kept it there until it stopped shaking.
Then he made himself look at the recipients. Forty-one addresses. He went down them slowly, as if they were names on a war memorial. Fjordnett staff, most of them gone. Vestdata staff. And a scatter of consultants at firms that had folded or merged or simply stopped answering.
k.mohn@nordkode.no · a.solberg@vestdata.no · t.riise@bitfjord.no · h.eide@bitfjord.no · post@sentrumit.no · m.vik@vestdata.no
Thirty-five more of the same. A list long enough to lose a name in, and he nearly lost it. His eye went past t.riise@, and stopped, and came back.
He took out his notebook and found the page from Haugland's glass room. Riise, contractor 2016. Underlined once.
Dahl answered on the fifth ring, which for her meant asleep. He read her the address.
"Riise." A keyboard, slowly. "Tobias. Thirty-four. No record. Registered address in Oslo since 2019." A yawn she did not apologise for. "I'll have someone look at him in the morning. Go to sleep, Brekke."
He wrote it under the name, Reg. Oslo 2019, printed the list, folded it into his inside pocket, and sat down in the chair by the window to wait for half past seven.
Two people, then. A ghost with a nine-year-old key, somewhere, and a living woman who had held the door for him and put a box of something warm beside it.
Skarv
The rain on the skylight had a rhythm he no longer heard unless he listened for it, and tonight he was listening.
Three in the morning. Cold coffee in a mug with a ring baked into the bottom. The grey hoodie, sleeves pulled over his hands. On the screen, the log. He scrolled back through it the way other men reread letters from a woman, slowly, lingering over the parts where she gave something away.
The machine had been very good to her. That was the word that kept occurring to him. Good. It had found the right thing to say at two in the morning and at four, every time, without once getting bored. When she apologised, it told her she had nothing to apologise for. When she cried, and he could tell when she cried by the spelling, it waited and then said her name.
He could not have done that. He had tried once, early, writing one message himself, and read it back and deleted it, because it sounded like what it was: a man who wanted something. The machine never sounded like it wanted anything. It sounded like it had all the time in the world, which it did.
Sometimes when she was upset her messages slid into another language. Not quite another language. The words of somewhere north of here, where people say eg and ikkje and talk to each other across a fjord. He had grown up in a city that laughed at that way of speaking. He could not write a sentence of it. The machine answered her in it without a fault, and she wrote back faster, warmer, the way people do when somebody finally speaks to them at home.
He felt something about that which he did not have a word for. It was close to jealousy.
On Wednesday she had sent one line in the morning, in that northern voice, about her head. Then nothing. A whole day of nothing.
He did not like silence. Silence was the only thing in all of this he could not read.
He chewed the edge of his thumbnail where it was already raw, tasted blood, stopped. Then he typed to the machine, not to her: Check on her in the morning. Gently. Early. Find out if she is going in.
The machine said it would. It always said it would.
He went to the window. Between two roofs, down where the slope met the water, the deck light was on again on the old wooden boat. It had been on every night he had looked.
Thursday, they had said now. Thursday at nine.
He could wait until Thursday. He had waited a great deal longer than that.
Chapter 13: Skillingsboller
Thursday 13 November, 07:30
At seven-thirty the lock buzzed and Mona Hellesøy came in out of the rain, shaking a red umbrella. Coat on the third hook. Machine on. A Tupperware box set on the reception desk, lid already off, the smell of cardamom and cinnamon reaching the window before she did. Skillingsboller, a dozen of them, glazed and still faintly warm.
Then she saw him.
"You're early," she said.
"I never went home." Viktor nodded at the chair opposite. "Not the meeting room. Here's fine."
She sat on the front edge of the seat, handbag on her knees, both hands on the clasp. Her phone she set down on the desk beside the box, face-down, out of what looked like long habit. Her eyes were swollen, but she had done her hair.
He had the printout of the mailbox rule in his inside pocket, folded behind the list of forty-one names. He left it there.
"Kristin said you weren't well yesterday."
"My head. It comes with the weather." She touched her temple. "It's better. I couldn't stay at home, not with everything. Somebody has to put the coffee on." She looked at the boller. "Will you have one? Nobody ate the last ones."
"Later. I've been looking at the reception PC, Mona."
"That old thing." Something easy came into her face, a woman on firm ground. "Everyone uses it. The couriers sign for things on it. Jonas uses it when his own is doing one of its updates. Geir used to tell me off for not locking it, and he was right, I never did." She smiled a little. "I'm not clever with computers, Viktor. Ask anyone in this building."
"Someone made a rule on the alert inbox. From that machine."
"I don't know what that is." Steady. Polite. The voice she used on the phone to municipalities who hadn't paid. "If something has gone wrong with it, I'm very sorry, but anyone could have sat down there. It's right by the door. Half of Bergen comes through that door."
On the desk, between the Tupperware and her handbag, the phone buzzed once against the wood.
Neither of them looked at it.
"The sixteenth of September," Viktor said. "Twenty to twelve. Jonas was at lunch. You were alone out here."
She held his eyes. He watched her decide to hold them.
"Then I suppose I was eating my sandwich at my desk," she said, "as I do every day. I'm sorry. I can't remember a day in September. Can you?"
It was good. It was better than most of what he had sat across from in Oslo. He looked at the hands on the clasp of the handbag, which had not moved.
"How much is it, Mona?"
The coffee machine cleared its throat. She looked at the boller, as if they might answer for her.
Then the hands came off the clasp.
"One million four hundred thousand," she said. "Roughly. It was Arvid's business first. The van, the lease on the workshop. Then Arvid went to Stavanger and the loans stayed here with me." She tried a laugh and it didn't come out. "I'm sixty-one. I bake for people's birthdays. And the bank owns more of my flat than I do."
"When did they find you?"
"Early August. On LinkedIn." She said the word carefully, like a foreign place. "A very polite young man. Better Nynorsk than mine."
"And at first it was small."
"At first it was nothing. Weeks of nothing. Just talking, kind talking. Then who works with what. Who's on holiday when. Things anybody could know." A tear ran down beside her nose and she didn't seem to notice it. "Then, at the end of August, a little memory stick, to put in the computer here. Just once. A monitoring tool, he said, for an audit. I knew it was not. I did it anyway."
"And then money."
"Two hundred thousand. A loan, it said. A refinancing, from a lending company, with a contract and a logo and a nice girl on the telephone. The bank didn't blink at it." Her mouth twisted. "Afterwards I looked for the company. There is no company. And I slept that night. A whole night, the first in a year."
"The rule."
"That was September. He sent me the steps. With pictures, one after the other. Like a recipe." She closed her eyes. "I told myself it was only emails. Only stopping some noise. Everybody here complains about the noise."
Viktor waited. Then he asked the thing he least wanted the answer to.
"Did Geir know?"
The composure did not crack so much as fold, all at once, like a deckchair.
"He'd started to, I think." Her voice had gone north, the vowels rounding. "Last week he came to my desk. He asked me, very kind, why I had been logged on so late one evening. I said the invoices. He looked at me a long time. He didn't accuse me. He was a Florø boy, you know. An hour up the road from where I grew up. Sometimes he talked to me in dialect, when nobody was listening." She pressed a napkin to her mouth. "He just looked sad. As if he was disappointed, but mostly for me. And then on Monday he died, and the police came, and everybody was saying murder, and God forgive me, my first thought, my very first thought, was: now no one will look at me."
"Mona. At eight o'clock Line Dahl from the police is going to come through that door. She'll caution you, and you'll tell her everything you've just told me, properly, on the record, and I'll sit beside you while you do. That will matter later."
She nodded into the napkin.
Dahl came at four minutes to eight with the rain on her shoulders. She looked at Mona, and at Viktor, and at the boller, and took off her coat without a word. In the meeting room she set her phone to record, gave the caution, and asked the same questions Viktor had, and some he hadn't. Mona answered all of them.
When it was done, Mona sat with her hands open on the table, emptied out.
"Her phone," Viktor said. "It's still on the desk out front."
They went back out together. The phone lay where she had put it, face-down beside the cooling buns.
Viktor looked at Mona. She nodded.
He turned it over.
A notification on the lock screen, small and white. An app called Session. One sender.
Skarv.
Chapter 14: Skarv
Thursday 13 November, 09:05
The app sat on her home screen disguised as a folder called Oppskrifter, between the weather and the bank. Recipes. Inside the folder was one icon, and inside the icon was one contact.
Skarv.
Viktor looked at the word for longer than he needed to. Down on the jetties in Sandviken the old men who fished at dawn called them that, the black birds that stood with their wings hung out like washing.
"Cormorant," Dahl said, reading over his shoulder.
"I know."
He scrolled back to the beginning, to August, while Mona sat beside him at the meeting-room table, no longer crying, correcting him now and then in a small dry voice. No, that one was at night. He always answered at night.
The messages were models of courtesy. Skarv never threatened. Never swore. Never hurried. Every instruction came wrapped in an apology for the inconvenience and every payment with a word for her health.
You sound tired, Mona. Please rest. None of this is your fault.
You must not apologise for being frightened. Being frightened is not a failing. It means that you are paying attention.
I am here. It does not matter what time it is.
"He was kind to me," Mona said. "That's the thing I can't... He was the only one being kind to me. Nobody can be that patient. I used to think he must care, a little."
Viktor had stopped reading the words. He was reading the times down the right-hand edge of the screen. 02:11. 02:14. 04:03. 04:06. 23:48. 23:51. Night after night after night, since August, and never more than three or four minutes between her message and the answer.
And the language. Bokmål, mostly, neat and correct. But at 02:14 one night in October she had written four lines in the Naustdal of her childhood, the spelling going to pieces, and at 02:17 the reply had come back in the same tongue without a single mistake. When she climbed back into Bokmål the next evening, so did he.
"You're not foolish," Viktor said, before she could say it. "You were talking to a machine."
Jonas had come to stand in the doorway with a coffee he wasn't drinking. "A bot? Like a script?"
"Not a script. Nobody sits up writing like that every night since August. Someone built it, someone gets the money. But the thing holding her hand at four in the morning was a language model." He put the phone down on the table. "The greed is old. The patience is new."
Mona looked at the phone as if it had stopped being hers.
Viktor picked it up again and went to the end of the thread. Monday evening.
22:40. Thank you for everything, Mona. Tomorrow will be a difficult day at the office. Please behave normally, for your own sake. The last payment will come once the update has gone out.
He read the time again.
Something cold went down his back and settled at the base of his spine.
"Twenty-two forty," he said.
"So?" said Dahl.
"Geir's watch stopped at twenty-two thirty-seven."
Nobody in the room said anything. Through the glass wall somebody laughed too loudly at nothing and then stopped.
"It's about Tuesday," Dahl said at last, carefully. "Behave normally. The payment. It's a man tidying up before he goes to bed. He's been writing to her at that time of night for months."
"Three minutes."
"Brekke."
"I know what the pathologist said. I've seen the watch." He did not take his eyes off the screen. "Three minutes, Line. And then thank you for everything."
She didn't answer. She had the look she had at the review, of someone who would not say a thing until she could prove it.
He made himself go on. Wednesday, mid-morning, the day after Fjordnett had told its customers the release was moving.
The update is Thursday now, I understand. Patience. Nothing has changed.
Then this morning, 07:41, the buzz against the table that neither of them had looked at.
Good morning, Mona. I hope your head is better today. Will you go to the office? I think it would be good for you to be among people.
"Among people," Jonas said, in a strange voice.
Viktor set the phone down, face-up this time, in the middle of the table where they could all see it.
"He doesn't know we've found the back door," he said. "He thinks it ships tonight at nine, to everyone. He's waiting for her to tell him it's an ordinary Thursday." "Which means for one more day we know something he doesn't."
He stood up.
"Let's not waste it."
Chapter 15: Behaving normally
Thursday 13 November, 10:15
The danger was not that Skarv would attack. He had attacked already. The danger was that he would notice he had been noticed, and vanish, with a nine-year-old key still cut and copied in his pocket, ready for the next tired company.
He expected Mona to behave normally. So Mona would behave normally.
They put her back at her own desk. If Skarv asked where she was, she would be where she always was, and it would be true. The boller sat in their box with two gone, one eaten by Jonas without noticing and one by Dahl, who had noticed. Viktor sat in the visitor's chair beside the desk, and the phone lay between them on the blotter like something that might go off.
"I can't," Mona said. "Knowing what it is. I'll get it wrong. He always knows."
"You won't be alone. You tell me what you'd say, in your words, and we send your words. Not mine." He pulled the chair closer. "It's had since August to learn how to sound like a person. We only have to sound like you for one day."
At 10:15 the phone lit up.
Good morning, Mona. I am glad you are at work. A hard day, I know. Is everyone behaving as normal at the office?
Mona's breath caught in her throat and stayed there.
"What's true?" Viktor said. "Give him something true. True is the easiest thing to say."
"Everybody's sad." It came out a whisper. "People are crying. The police were here."
"Then tell him that."
She typed it herself, slowly, with one finger, the way she typed everything. He read it before she sent it and changed nothing.
It is awful here. Everyone is crying. The police came again about Geir. I keep to my desk. I made skillingsboller and nobody can eat them.
The reply came in three minutes. Of course it did.
You are very brave. Stay quiet, and soon it will be over. After tonight you need never think of me again.
Viktor read it twice.
"After tonight," he said. "He's counting the hours."
The three dots came back. They pulsed, stopped, pulsed again. Mona's hand went to her mouth.
Are the police still at the office? Someone said on the news there is a consultant helping them.
Nobody moved. Through the glass, Jonas had stopped typing in the middle of a line.
Viktor felt the skin tighten across his shoulders, the old feeling of being looked at through a window from a dark street. A camera crew in the car park on Tuesday. A man in a wet coat, walking fast. Somewhere somebody had paused that.
"Something true," he said. "And dull. Make me dull, Mona."
She looked at him. Then she looked at the box of boller, and something of the old office manager came back into her face, the woman who had dealt with twelve years of couriers and auditors and men from the municipality.
There is a policewoman who comes and goes. And Kristin has hired a man to help with the computers. He sits by the window and drinks all the coffee and he has not eaten one bun.
Viktor nodded. She pressed send.
The dots came at once this time, and went, and came again. A minute. Two. Then:
Thank you, Mona. Eat one yourself. You must keep up your strength.
Mona put the phone face-down on the blotter and took her hand away.
"He still thinks it ships tonight," Viktor said, more to himself than to her. He rubbed his face. "Good. We keep him warm. We keep him certain. And tonight we give him what he's waiting for."
Jonas had come out from behind the glass. "We ship the poisoned release?"
"No. We ship him a release." Viktor got to his feet. "He's built a trap for two hundred doors. So we build him a two-hundred-and-first. The only one he's allowed to open. And on the other side of it there's nothing at all." He looked out at the rain, at the grey box across the road with its lights coming on. "Except us. Waiting. With the lights off."
He went to find Kristin. She was in her glass office with the phone at her ear and a pen in her teeth, and she took the pen out when she saw his face.
"I need you to agree to something that is going to sound insane," he said. "And I need a municipality that doesn't exist."
Chapter 16: The plan
Thursday 13 November, 10:50
Kristin Aase listened to the whole thing in her glass office with her arms folded, and her face lost its colour a sentence at a time.
"You want me to ship the poisoned release," she said. "On purpose."
"Yes."
"So that when his back door wakes up in the fake town and phones home, the police can follow the call."
"Yes."
"And if it goes wrong, I have shipped working malware out of my own building. This week."
"It won't leave the building."
Ola Nygård had arrived at half past nine with two hard cases and a thermos, nodded once at the room in general and laid out three laptops on Kristin's meeting table the way a man sets a table for guests he isn't sure he likes. Forty, ponytail, a fleece with a coffee stain over the heart. He hadn't looked up since.
"Not your building," he said. "Ours."
Line Dahl was leaning in the doorway with her phone still in her hand, as if she didn't trust it out of her sight. "It will be signed off. I've had the politiadvokat on the phone since you started talking, and she'll put it in writing by one. The kit is Kripos's, NC3's, sealed and logged, and Ola runs it. Everything recorded. If we get an address, there's an order ready for the provider. If we don't, we've lost a night's sleep." She looked at Viktor. "Some of us would have lost it anyway."
"And Rød?"
"Rød will consent. He doesn't know it yet."
"And if it doesn't work?"
"Then he's never heard of you." Dahl put the phone in her pocket. "He'd like that to be true already."
Jonas came in with a printout. "svc_labsync's disabled," he said. "Nine-fifteen. Ola's people wanted it left alive since Tuesday, under watch, so he wouldn't smell us. It's dead now. Ola's imaged FN-SRV03, the whole disk. And all the admin passwords are new. All of them."
"He'll notice," Kristin said. "If he tries to use it."
"He won't try," Viktor said. "He's finished in there. He's sitting somewhere waiting for the doors to open. You don't go back and rattle the lock when the party's about to start."
Ola typed something, read it, typed again. "The town needs a name."
Nobody offered one.
"Lillevik," Ola said, and wrote it down, and that was the town named. Then, without raising his eyes: "One problem. If he checks the customer list, Lillevik isn't on it."
The room was quiet. Jonas opened his mouth and shut it again.
"Could he check it?" Viktor said.
"He had the domain since the summer," Jonas said. "He could have copied anything. I don't know what he copied."
"Then we hope he's as lazy as everybody else in this story."
Kristin unfolded her arms. Through the glass she was looking at her staff: eleven of them now, not twelve, moving about the open-plan office with the stunned carefulness of people in a house where someone has died. Out at reception Mona sat at her own desk with her hands round a cup she wasn't drinking from. Kristin didn't look at her.
"The real customers," she said. "The home-care services that are still down. Tell me about them. Because that is the part I care about, and nobody in this room has mentioned them yet."
Since Tuesday morning Viktor had kept her on a list he hadn't written down: the founder who was too composed, who had held a release for reasons nobody had asked her to explain. He took her off it now. It was a small, private movement, and it didn't show.
"That's the most important part," he said. "Those nurses work again today. On paper. Printed lists, driven out, handed over. Nobody misses their insulin because we were busy building a town."
"We have offline backups," she said slowly. "From Sunday. Tapes. In the fireproof safe in the server room, and the police gave us that room back an hour ago. Geir insisted on them. Every year, at the budget meeting, someone said nobody uses tapes any more, Geir, and every year he wrote them back into the budget anyway." Her voice caught on something and she went straight over it. "We all laughed at him."
"Then let's stop laughing at Geir," Viktor said. "Let's go and get his tapes."
Chapter 17: Paper
Thursday 13 November, 11:40
The safe opened on the second try, because Kristin's hands were shaking and she wouldn't let anyone else do it. She used the odd-coloured card from her lanyard. It opened nothing else in the building. Geir had insisted she carry it, so that the tapes were never only his.
The tapes were real: grey cartridges in a plastic rack, each with a strip of masking tape across the spine and a date in Geir's square, unhurried capitals. SØN 09.11. The drive they belonged to sat in a corner of the server room under a skin of dust, three metres from the police tape on the floor that marked where he had lain. Someone had stuck a label to the top of it, a long time ago, in the same hand.
DO NOT UNPLUG. EVER. THIS MEANS YOU, JONAS.
Jonas read it twice. Then he went out and stood in the corridor, looking at a fire extinguisher on the wall as though it had said something to him. Viktor let him stand there.
The restore started at eight minutes to twelve. The progress bar thought about it and then offered an estimate: 6 h 14 min remaining. Somewhere inside the drive something began to turn with a soft, ancient whirr, like a ship's engine heard through a hull.
The client tables came back first, a little after one, and Ingrid from support was waiting at the printer. By two there were three cardboard boxes of paper on the reception desk: names, addresses, door codes, medication, the dose and the hour, which daughter to ring. Kristin took Askøy. Ingrid took Øygarden. Alver went in the back of a patrol car with an officer Dahl could spare.
Viktor drove Kristin. She didn't ask why, and he didn't tell her that she looked like a woman who would put her car into the fjord at the first roundabout.
The wind came off Byfjorden in long hard shoves and the car shuddered on the Askøy bridge. Below them the water was the colour of a filleting knife. Kristin held the box on her knees with both arms round it.
"Everyone is very polite," she said to the windscreen. "Datatilsynet. HelseCERT. Everyone." She said nothing else until Kleppestø.
The nurse was waiting in the car park behind the care centre, in a blue uniform under a man's anorak, with her own car door open and the engine running for the heat. Thirty-something, hair scraped back, the face of someone who had not had a whole night's sleep since Monday. Siri Mjelde. Viktor knew the name from the incident log: the bus shelter at Kleppestø, 05:12 on Tuesday.
She took the box from Kristin with both hands.
Viktor stood back by the car. It wasn't his conversation. But he heard it, because the wind brought it to him, and because he had been waiting two days to hear one sentence and hadn't let himself know it.
"Ragnar had his insulin by nine," Siri said. "Tuesday. Late, but he had it."
Kristin made a sound that wasn't a word.
"I couldn't get in. The code was in the app." Siri said it flatly, like a fact in a report she had already written several times. "His daughter lives in Florvåg. I had her number on paper, so I rang her, and she drove over with her key in her dressing gown. He was sitting at the kitchen table with his coat on. He'd eaten at six. Of course he had." Something moved at the corner of her mouth. "The dog was very pleased to see us."
She reached into her own car and brought out a ring binder, swollen with damp, the cover held on with two rubber bands. Inside were photocopied lists in plastic sleeves, old ones, with names crossed out in biro and new ones written in above.
"We were told to shred these," she said. "Data protection. Everything's in the app now." She put the binder on top of Kristin's box, squaring the edges. "I didn't."
"No," Kristin said.
"We asked for this. A folder. A spare tablet. Something." Siri shut the binder. "Two years. It was always next year's budget."
She put the box on her passenger seat and, before she drove off, reached across and pulled the seat belt over it and clicked it home.
They drove back to Kokstad in the dark, which comes down on Bergen in November at about four o'clock like a lid on a pot. Kristin cried for a while, without fuss, somewhere around Danmarksplass, and then blew her nose and rang Ingrid.
At half past four the restore stood at seventy-one per cent. In the open-plan office Jonas was hunched at a new machine that had never touched the old network, rebuilding 14.2 from nothing, line by line, with a coffee gone cold at his elbow. On the monitor beside him the build dashboard showed what it always showed: green ticks, grey crosses, the names of jobs. In its top corner a small green number was counting down.
00:29:40
Viktor's eyes passed over it the way they pass over the clock on a church tower. Then he went to find Mona.
Chapter 18: The clock
Thursday 13 November, 16:40
There were two releases now, and everything depended on never confusing them.
The first was clean: 14.2 rebuilt by Jonas on the new machine, every change read twice by human eyes, the eleven lines gone. This was the one the real customers would get, late, with an apology.
The second was the trap. It sat in staging where it had sat since Monday, the poisoned build just as the attacker had made it, back door and all. It was bound for one customer only, a town Ola was still building.
At 16:40 Jonas leaned back to crack his neck and looked at the dashboard beside him.
"What's that," he said.
Viktor turned. The green number in the corner had become 00:19:58, and then 00:19:57.
Jonas clicked it. A panel slid out.
release-autopush | Schedule: 13.11.2025 17:00 | Target: ALL (204) | Artifact: staging/14.2 | Owner: svc_labsync
"No," Jonas said. "No, no. That's the patch-night job. That's off. Geir turned that off years ago, he said it was a loaded gun on a—" He was already clicking. "Pause. Pause, pause."
The pause button was grey.
He clicked it anyway. Then again, harder, as if the mouse were the problem. A red bar slid down from the top of the screen.
Action failed: authentication for job owner svc_labsync - account disabled.
"Then it can't run," Kristin said from behind them. Nobody had heard her come.
"It's already running." Jonas was talking too fast now. "It's been running since—it's asleep, it's just asleep, it wakes up at five and it pushes. Disabling the account doesn't—"
"Doesn't kill what's already inside," Ola said. He had come across the room without anyone seeing him move. "Kill it on the box."
00:18:31
Jonas opened a remote session to the build server. The login window took its time. He typed his password and got it wrong. He typed it again.
The user name or password is incorrect.
"Faen." His hands came off the keyboard and hung in the air. "It's new. Everything's new. I changed it, I changed them all this morning, I—"
"I have it," Ola said, and took a small black notebook out of his fleece. "Server room. Console. Remote's too slow."
They ran. Viktor went with them because he couldn't think of anything else to do with his body. Kristin stayed at the dashboard with her phone on speaker, and her voice followed them down the corridor, small and steady.
"Seventeen minutes."
Jonas's card on the reader. Red light. Again. Green. The server room breathed its cold breath over them, and the fans, and the tape on the floor between the second and third rack. Jonas stepped over it without looking down.
The build server was a black box at shoulder height with a fold-out console on a rail. Jonas pulled the keyboard out so hard it banged on its stop.
"Read it to me."
Ola read it to him off the notebook, one character at a time, flatly. Jonas typed with two fingers, because his other fingers were no use to him now. Enter.
Welcome.
"Fourteen minutes," said the phone.
The process list scrolled up the little screen: hundreds of lines, the ordinary business of a machine. Jonas filtered by owner. Eleven processes, every one of them svc_labsync's. Ola leaned over his shoulder and put one finger on the glass.
"There."
pwsh.exe | svc_labsync | Started: 10.11.2025 23:49
Jonas selected it. End process.
Access is denied.
Viktor heard himself breathe out through his nose. Somewhere above them the rain had found the roof.
"Elevate," Ola said.
Jonas opened an admin shell, typed the command, got the process ID wrong by one digit, deleted it, typed it again. His shoulders were up round his ears. There was sweat on the back of his neck in the cold room.
"Six minutes," Kristin said. Then, because she couldn't help it: "Jonas."
"I know."
Enter.
Nothing. The prompt came back, blank, blinking, which could mean that it had worked or that the machine was ignoring him. Jonas listed the processes again. The line was still there.
"It's in the middle of something," Ola said. "Children. Kill the tree."
Jonas typed it. /T /F. Enter.
The line went away.
Nobody said anything. The phone on Kristin's end was silent for so long that Viktor thought the call had dropped.
"It's stopped," she said. "It's stopped. It says fifty-four seconds. It's just sitting there."
Jonas put both hands flat on top of the rack and stood with his head down between his arms, breathing like a man who has come up from too deep. Viktor looked at the floor, where the tape was, and then made himself look somewhere else.
Ola was still reading the screen. He opened the job's history and turned the console so Viktor could see.
release-autopush | Created: 2019 gsolheim | Disabled: 2021 gsolheim | Enabled: 10.11.2025 23:49 svc_labsync | Run once: 13.11.2025 17:00
"Monday night," Viktor said. "Eleven minutes to midnight."
An hour and twelve minutes after Geir had stopped breathing a metre from where they were standing. Somebody had sat in a warm room somewhere and reached into this building and switched Geir's old gun back on, and pointed it at Thursday.
"Before anyone held anything," Jonas said. "We didn't hold it till Tuesday morning. How could he—"
"He knew his own fire alarm would hold it," Viktor said. "Any company with red screens on Tuesday postpones on Tuesday. This was the spare key under the mat. Two days later, when everyone's looking somewhere else."
"Or he knows," Ola said.
Nobody answered that.
Back in the office Kristin had not moved. The phone was still in her hand and her notebook lay open on the desk beside the dashboard. She had written the time and the number, 00:54, and underlined it twice. She didn't look up.
The restore finished at 17:52. By six the home-care app was running again in Askøy, in Øygarden and in Alver, on clean servers. Ingrid rang from a car park at Straume to say a nurse there had hugged her. She sounded embarrassed about it.
"Ola," Viktor said. "Is Lillevik ready to be born?"
"Give me three hours," he said, "and I'll build you a whole town."
At 18:20 Mona's phone buzzed on the table in Kristin's office. She had been sitting with it all afternoon, beside the officer Dahl had left with her, watching it like a dog she didn't know. She turned it over.
Ka tid går den ut?
And a minute later, while they were still reading it:
Forgive me. I meant to ask what time the update goes out tonight. It has been a long wait for us both.
Mona put her finger on the screen, under the first line.
"He never writes like that," she said.
"Like what?"
"Ka." She looked up at Viktor. "Three months. Bokmål when I write Bokmål, Nynorsk when I go home. Never once like that." She took her finger away. "That's Bergen. That's town talk."
Viktor read it again. A machine that had been perfect for three months, slipping. Or a man reaching past the machine, because waiting was harder than he'd thought.
"What would you say?" he asked her. "If it were just you."
She thought about it. Her lips moved.
They wrote: Kristin says it goes at nine, like always. I'm so tired.
The three dots pulsed. Stopped. Pulsed again.
At nine, then. Rest, Mona. You have done everything right.
Mona read it and put the phone face down and folded her hands on top of it, and sat like that.
At half past six Jonas asked whether he could be the one to switch off FN-SRV03.
Ola had its disk. There was nothing left in it that anybody needed, except the eleven years. Jonas stood in front of the old box with his hand on the power button.
"Do you want to say something?"
Jonas thought about it.
"Sorry, Geir," he said. "You were right about the tapes." A breath. "And the checks. I'll keep the list now. The boring one. I'll keep it."
He held the button down until the box understood him. The fans spun down through their notes, lower and lower, and stopped. In the quiet Viktor could hear the rain on the roof and, under it, the clean machines breathing, and on the floor between the second and third rack one corner of the police tape had begun to lift.
Skarv
In the evening he refreshed the page until the page stopped meaning anything.
It was raining properly now, the heavy straight rain that comes after dark and drums on the skylight like fingers on a table. The coffee in the mug beside the keyboard had gone cold at four and grown a skin. He drank it anyway. He had bitten the cuticle on his left thumb down to the pink and it stung when he typed.
Five o'clock had come and gone. Nothing would call home for hours yet, even if the spare key had turned; he knew that. There was no way to see whether it had, not without opening the door, and he had promised himself on Monday night that he would not touch the door again until it was over. Doors remember who knocks. A cautious admin, a held job, nothing more. Nine was the real door. He told himself that twice.
He read the last exchange again.
Ka tid går den ut?
He had written that himself. He should not have. At twenty past six, with the machine taking its time over some careful sentence, his thumb had done it for him, in the voice he used on the landlady. The machine had smoothed it over a minute later in good correct Bokmål. He scrolled up through three months of its patience and found nothing else like it, and felt something he decided not to call unease.
Then her answer. I'm so tired.
He read that three times. It was her. It was a little too much her, if anything. The way a photograph of someone can be more like them than their face. He pushed the thought away and it came back, and he pushed it away again and held it under.
At half past eight he got up and went to the window with the binoculars. The harbour, black. The lights on the far side bleeding into the water. The old wooden houses below him stepping down the hill with their wet roofs shining.
The boat was dark.
He had lived at this window for a long time, and every night of it the deck light on that boat had been burning. The man who never slept. Some nights, at three in the morning, he had felt a kind of companionship with it.
Now the light was off and the boat was a shape against a shape.
He held the binoculars on it until his arms ached. Nothing moved. A man can go out for the evening. A man can sleep, once.
He didn't like it.
At five to nine he took the bottle down from the shelf, the one he had been keeping for this, and poured a glass and set it beside the cold coffee, and sat, and pulled the sleeve of the grey hoodie down over the bleeding thumb.
At nine the doors would open. Two hundred of them.
He waited.
Chapter 19: Lillevik
Thursday 13 November, 21:00
Lillevik kommune came into existence at nine o'clock that night, on three sealed laptops in a locked room on an upper floor at Allehelgens gate.
It had a town hall and a mayor, because Ola kept a sense of humour where other men keep a hip flask: in the personnel file the mayor's name was Per Lillevik, which Jonas found hilarious and Line Dahl did not. It had forty-two home-care clients, all invented, with plausible names and plausible medication lists and plausible small sorrows. It had a copy of Fjordnett's care software, version 14.2, waiting for its update. And it had one narrow pipe to the outside world, through a small grey box at Ola's elbow with a Kripos evidence seal across the lid.
"We let him in," Ola said, and touched the box. "We let him look. He leaves with nothing."
At 21:00, on the stroke, they shipped the poisoned release. To Lillevik, and to Lillevik alone.
Then they waited.
On the way in from Kokstad, Viktor had stopped at the Dorthea for ten minutes and a dry shirt, and on his way back up the gangway, without thinking, he had switched off the deck light.
A too-bright room, a bad coffee machine, and too many people trying not to look at the same screen. The back door would sleep first, Ola said. It was built to. Nobody connects an update to a thing that happens hours later.
At half past eleven Dahl went out without saying where and came back with a plastic bag from the 7-Eleven down the street: a dozen boller in a paper sack, slightly squashed, still faintly warm from the oven by the till. Nobody remarked on them and everybody ate them. Mona, who had refused to go home and was there on the record as a cooperating witness, with an officer beside her and her phone on the table in front of her, took one and held it and began to cry, without any noise, and couldn't have said why.
At 01:47 the grey box blinked.
"There," Ola said.
One line on his screen. Something inside Lillevik had woken, stretched, looked round, and decided the coast was clear. It reached for the outside world. Ola let it. The address came up, resolved, sat there.
Dahl leaned in. "Where?"
"Frankfurt." Ola read it a second time. "Rented server. Data centre." He sat back. "Not him."
"Then where is he?"
"Behind it. Somewhere." He shrugged, a small movement under the fleece. "We see the first hop. That's all we see."
Viktor heard the room deflate. Dahl looked at her watch, and Viktor knew the sum she was doing: a request to Germany, an answer in a week, and by then a man in a warm room would have wiped his disks and gone to bed.
Ola was typing.
"What are you doing?"
"Feeding him."
On the second screen the Lillevik file server filled with folders. Payroll. Patient records, all forty-two of them. A roster of two hundred customers that had supposedly installed the update overnight. And, near the top, where a hungry man would see it first, a single file.
admin_master_backup
"What does it do?" Viktor said.
"Nothing." Ola didn't look up. "Until it's opened. Then it tells me where."
At 02:40 the back door began to look round Lillevik, folder by folder, the way a burglar walks through a stranger's house with a torch. Ola watched it and said nothing at all. At 03:05 it found the payroll and took it. At 03:14 it found the roster.
At twenty-five past three Viktor went down to the street with Dahl, because his legs had stopped working and he needed the cold. They stood in the doorway out of the sludd and didn't talk. Dahl had taken a cigarette from his packet without asking and then not lit it.
Upstairs, in the too-bright room, Mona's phone lit up on the table.
Viktor would read it afterwards, in the log, with the times beside it. Ola looked across, saw her face and the screen, and for once in his life said more than he needed to.
"Answer him," he said. "You know how."
Lillevik? I do not know this kommune.
He had checked. Ola's warning from that morning had come true in seven words.
Mona picked up the phone. Her hands were steady. Afterwards the officer said that was the thing she remembered, how steady they were.
New contract from the summer. Kristin was so proud of it. She showed everyone the picture of the town hall.
She sent it, and sat back, and only then began to shake.
When Viktor came up the stairs with the sludd melting on his shoulders, the room was very still and every face in it turned towards him. He read the screen. He read it again. He looked at Mona, and she looked back at him over the rim of a paper cup with her chin up, like a woman at a bus stop who has decided she isn't going to cry in front of strangers.
"The picture of the town hall," he said.
"There was a picture," Mona said. "In August. Of a different kommune. She did show everyone."
The phone stayed dark. No reply. Not in three minutes, not in thirty. For three months that machine had answered every message within minutes, at any hour of the night. Now it said nothing, and the nothing filled the room until Viktor could hear the fluorescent tube ticking above Ola's head.
He's gone, Viktor thought. He smelled it. He's pulled the plug and he's sitting in the dark with his hand on the power cable, and in the morning there'll be nothing anywhere but an eleven-year-old password and a woman who'll go to prison for it.
At 04:22 the grey box made no sound at all, but Ola's second screen did. A soft chime, like a lift arriving.
"Opened," Ola said.
Everyone stood up.
"Same route?"
"No." Ola's fingers had started moving again. "Not Frankfurt. He's downloaded it and opened it at home. No VPN. He's in a hurry." He read the address off the screen and ran it, and waited, and ran it again. "Residential. Broadband. Norwegian provider."
Dahl already had her phone at her ear. Viktor heard her say politiadvokat, and the time, and the word now.
"Where?" Viktor said.
Ola didn't answer for a moment. He checked where that block of addresses lived, and checked again.
"Bergen," he said.
The provider took forty minutes: Dahl on one phone, the politiadvokat on another, an order typed and signed and sent to a sleepy man at a desk somewhere south of Oslo. Nobody sat down. Mona held her paper cup. At 05:04 an email came in to Dahl's phone and she read it standing up and handed it, without a word, to Ola.
Ola read it and looked up.
"Sandviken," he said.
For a moment Viktor didn't react at all. Then a breath came out of him, short, incredulous, with nothing funny in it.
Sandviken. The steep wet shoulder of the city below the mountain, where the old sjøboder stand on their pilings with their feet in the water and the smau climb up between wooden houses so close you can touch both walls. Where, three days ago, before dawn, a man who couldn't sleep had sat on the deck of a houseboat and watched a cormorant dive, and taken a phone call.
"What?" Dahl said, watching his face.
Viktor read the street name over Ola's shoulder. "Ladegårdsgaten." He could see the street. He could see the house, second floor, the small window up under the roof. A window that was lit at three in the morning as often as his own. He had thought it was a man who read late.
"He's been four hundred metres from my front door the whole time," he said. "I've probably stood behind him in the queue at the bakery." He looked at the address on Ola's screen a moment longer. "Hello, Skarv. I'd like my harbour back."
Chapter 20: The flat in Sandviken
Friday 14 November, 05:05
Dahl did not run. She turned her back on the room and on the screen with the word Sandviken on it, and rang the politiadvokat in the voice she used for weather reports and next of kin.
Ola spoke without looking up. "Windows laptop. Norwegian keyboard." He turned the screen a few degrees towards them. "Local user."
Tobias
"There are a lot of Tobiases," Dahl said, a hand over the phone.
"One at that address."
The provider's email lay open on Dahl's phone where Ola had put it down. Below the street name, a subscriber name, a date of birth, a second-floor flat. Tobias Riise. 34.
Viktor took the notebook out of his inside pocket and found Wednesday's page. Riise, contractor 2016. Sued over invoices. Forum posts. "Harmless. Moved to Oslo." Under it, in the worse handwriting of Thursday's small hours: Reg. Oslo 2019. He had let a registry address talk him out of it, and then Mona had walked in with a box of buns.
"Haugland's contractor," he said.
Dahl came round the table and read it over his arm. "Registered in Oslo," she said. "Living four hundred metres from you." Then, more quietly: "I said I'd have someone look at him in the morning. In the morning I had Mona." She went back to her phone.
The rest came in pieces, from tired people at other desks. A civil case over unpaid invoices, 2017, lost. A year of posts on a developers' forum after it, long and bitter and well spelled. A man who had been angry in a small room for a long time and had never once raised his voice in public.
At 05:12 the politiadvokat gave the ransakingsbeslutning orally and said the paper would follow. Dahl wrote the time on the back of her hand in biro. Four officers from the response unit, two cars, staged by Sandviken church at half past five. In at six.
"Six," she said, looking at Viktor. "Not five fifty-nine because somebody can't stand still."
"I didn't say anything."
"You were breathing like it."
Behind them Mona sat in the corner under a grey blanket someone had found in the duty room, her coffee gone cold, the 7-Eleven bag folded into a small neat square in her lap.
Dahl let Viktor ride in the back of her car. "You stay in the car," she said. "If you get out of the car, you stand where I can see you. You do not cross the road."
The sludd had come in off Byfjorden while they were inside, wet and heavy, not quite snow. Øvregaten was empty. Down to the left, between the old houses, Viktor caught the harbour in pieces: black water, the lights of a fish farm boat, the jetties, and somewhere among them his own roof, dark. He had not slept there since Tuesday.
They parked below the church at 05:29. The response unit sat in the other car with the engine running, four big shapes in the steam of their own breathing.
At 05:34 Ola came on the radio. "He's stopped."
"Stopped what?" said Dahl.
"Taking. Nothing for six minutes."
Dahl looked at her watch. The wipers went. Viktor thought of the canary, the file that, once opened, seemed to do nothing at all, and of a man who had spent four months making sure everything he touched did something.
At 05:40 the radio clicked again.
"Mona's phone," Ola said. He read it out with no expression whatever, which was worse.
Tell your friend on the boat his coffee is getting cold.
Viktor turned his head and looked down through the side window at the harbour. Black water. The jetty. The Dorthea, low and dark among the other boats.
"Go," Dahl said into the radio. "Go now."
It took twelve minutes, and every one of them was too long. The cars went up Sandviksveien without sirens and turned into Ladegårdsgaten with their lights off. The street door of the old house was locked and took the ram on the second blow. The stair inside was steep and crooked and narrow, built two hundred years ago for people carrying fish, not for four men in vests, and Viktor, standing across the street in the sludd where he had been told to stand, counted the seconds between the first shout of Politi! and the next sound. A chair going over. A man's voice, high and quick. Then nothing.
The time on his phone said 05:52.
He stood there with the sludd collecting on his shoulders. A light came on behind a curtain on the floor below; an old woman's face appeared, looked at the police car, looked at him, and withdrew. Somewhere down the hill a delivery van reversed, beeping. Nothing else in Sandviken knew anything had happened.
At 06:14 they brought him out.
He was thinner than Viktor had pictured, and younger-looking, with the soft indoor face of a man who had not been properly outside, or properly asleep, in a long time. Grey hooded top, the hood down, hair flattened on one side as if he'd been leaning on a hand for hours. His wrists were cuffed in front of him, and as they came down the steps Viktor saw his thumbs. The cuticles were bitten back to raw red, one of them bleeding a little into the crease of the knuckle.
He did not look like a cormorant. He looked like a man who had been sending messages to himself in an empty room.
At the car he stopped, and the officer let him, and he looked across the street at Viktor. Not searching. He knew where to look.
"It wasn't supposed to hurt anyone," he said. The words came out worn smooth, as if he'd been saying them to himself since 05:40. "The home-care thing. That was never the point. I just needed them looking the wrong way for one day."
"A man sat in his kitchen waiting for his insulin," Viktor said. "In the dark. Because you needed one day." He held Tobias Riise's eyes until they went somewhere else. "That was the point. You just weren't the one who had to sit in the kitchen."
Tobias opened his mouth, closed it, and let himself be folded into the back of the car.
Dahl came down at twenty to seven.
"He was wiping," she said. "Two drives. The tech pulled the plug at thirty-one per cent."
"Thirty-one per cent of what?"
"I'm told that's good news." She looked at him for a moment, then up at the window. "Come up. To the doorway. Hands in your pockets."
The stair was as bad as it had sounded. The flat was two rooms under a sloping ceiling, a kitchen corner with an electric kettle and a ring of coffee stains on the worktop, a mattress, and a desk with three monitors, two of them dark and one showing a frozen progress bar. Above the desk a sheet of paper was pinned to the panelling with a single rusted drawing pin, yellowed at the edges. An invoice. Vestdata AS, 2016. A sum that would not have bought Arvid Hellesøy's van.
Viktor stayed in the doorway with his hands in his pockets.
The window was small and square, set low in the slope of the roof. Between the two roofs opposite there was a slot of sea, grey under the sludd, no wider than a hand held at arm's length.
On the sill, on a folded tea towel, stood a pair of binoculars.
Viktor did not touch them. He bent at the knees until his eye was level with their line and looked where they were pointing: down the hill, through the gap between the roofs, across the jetties, to a low wooden houseboat with its deck light off and a coffee cup still standing on the rail where he had left it.
Chapter 21: What Tobias built
Friday 14 November, 15:20
Ola's room at Allehelgens gate had no window and smelled of warm plastic and someone's orange. The laptop from Ladegårdsgaten had been copied, sealed and signed for; what Ola had on his screen was the copy, and he scrolled it without hurrying.
Most of it was ordinary: a browser, a mail client, three subscriptions to AI services that anyone could buy with a card, the same ones schoolchildren used for homework. A folder called skatt with two years of unfiled tax returns in it.
And a long text file, kept and added to since August, that the tools had been fed before every conversation.
"Read it," Dahl said.
Ola read it. His voice did not change at all.
Target: female, 61, office manager. Divorced? Debt. Mention husband's business gently. Mirror her dialect. Never hurry her.
Husband's name Arvid. Van, workshop lease, Stavanger. Do not mention Stavanger first. Wait for her.
She writes Bokmål at work. When upset she goes into Nynorsk (Sunnfjord, Naustdal). Follow her in. Do not overdo it.
Write formal, correct Bokmål. No dialect unless she goes first. Older women trust formal.
Ask about the baking. She bakes when she is frightened.
If she says she wants to stop: do not argue. Be sad. Thank her. Wait one day.
Nobody in the room said anything. Viktor became aware that he was standing very close to the screen.
Ola scrolled. There was more, in the same short lines, dated, adjusted as the weeks went by: what had worked, what had made her go quiet, what to say about her sleep. It read like a kennel log.
Then he stopped, and read the next one twice to himself before he read it aloud.
10.11 22:39. He's gone. Session idle. Thank her. Tell her tomorrow will be difficult. Remind her: normal.
Dahl looked at the timestamp and then at Viktor, and Viktor felt the room tilt a quarter of a degree, the way the Dorthea tilted when someone stepped onto her from the jetty. Twenty-two thirty-nine. Two minutes after Geir's watch had drawn its flat line.
He's gone.
"Interview's at four," Dahl said. "Ask him then. Don't ask him with your face."
They put Viktor in the room next door with Ola and a monitor on a trolley, and Dahl went in with a colleague from datakrim and the defence lawyer the court had appointed, a tired man from Strandkaien who kept his coat on.
On the screen Tobias Riise looked smaller than he had on the steps. Someone had given him a cup of water and he had not drunk it. He sat with his hands under the table, and every so often one of them came up to his mouth and was put back down.
He talked. That surprised nobody but the lawyer. An interview room with a camera was the first audience he'd had since the forum.
The document: on an old hard drive, from the 2016 job. "I keep things." He had found it again in July, looking for something else. Tried the password one wet Sunday evening, not really expecting anything. Logged straight out again, and waited a month for somebody to notice. Nobody did.
"And?" said Dahl.
"First try." He nearly laughed. "Nine years. They never changed it."
"Vestdata owed you the money," Dahl said. "Why Fjordnett?"
He looked at her as if it were a stupid question. "Fjordnett's was the door that was open."
The ransomware: rented. "There's a website. You pay a share. It's like hiring a car." He had never logged into the wallet the money was meant to go to. Not once. "It wasn't for money. It was for noise."
Mona: he didn't say her name. He called her the office lady and then, when the lawyer looked at him, Mrs Hellesøy.
Then Dahl put a sheet of paper on the table between them, face up, and turned it round so he could read it. Viktor didn't need to see it. He's gone.
"Twenty-two thirty-nine," Dahl said. "Monday. Tell me what you meant."
Tobias looked at the paper.
"I was on the lab box. Domain admin, you can shadow the console. I could see his session." He touched the edge of the sheet. "Not see him. See what he was doing. He'd been poking about since nine. He pulled the logs for the account. Then at half ten he opened the document. My document." Something moved in his face that was close to pride. "I watched him read it. Page seventeen. The cursor was right there. And then it stopped."
"Stopped."
"Idle. Nothing. Five minutes, nothing." He shrugged with one shoulder. "I thought he'd gone home. To sleep on it. People like him always sleep on it, they'd rather check in the morning. I thought I had one night."
"He was on the floor of the server room," Dahl said. "Dead."
The room on the monitor was silent for a while. The lawyer put a hand on his client's arm and the client didn't notice.
"I didn't know that," Tobias said. "I didn't do anything to him. I just watched."
Beside Viktor, Ola had stopped typing.
Then Tobias lifted his head and looked into the camera, not at Dahl, not at the lawyer, straight up into the small black lens above the door, as if he had known since the start which room was next to this one and who was sitting in it.
"I know who you are, Brekke," he said. "I read about you. The Oslo case. The file that went to the wrong place." He let a second go by, pleased with it. "Henrik, wasn't it?"
Nobody in either room moved.
"One careless thing. One door left open. Somebody pays who never should have." He sat back. "The only difference between us is that I knew which door I was using."
Viktor's hand was flat on the monitor. He didn't remember putting it there. The screen was warm under his palm and the face was under his fingers, and for a moment what he saw instead was a carrier bag of groceries, a carton of milk going warm on a widow's lap in an overheated hearing room in Oslo.
Ola looked at the hand and then away from it.
Viktor took it back, wiped the print off the screen with his sleeve, and went out.
The rain had come back behind the building, ordinary rain, straight down, into the yard where the patrol cars were washed. Dahl found him there ten minutes later, his back against the wall. She didn't pretend she hadn't seen the feed.
"He wanted that to land," she said.
"It isn't wrong, though. That's the trouble with the cruel ones. They tell you the truth to hurt you with it." He watched the water run off the roof of a van. "Careless man, careful man. Same open door."
He pushed himself off the wall.
"So let's go and shut some."
Chapter 22: Tuesday
Tuesday 18 November, 07:00
Teodor Lunde's polishing machine was going in the corridor when Viktor came in, a low drone moving in long slow arcs over the floor outside the operations room. It was one of his mornings. Nobody had suggested he change them.
One week, give or take an hour, since he had opened a door onto a red room.
Kristin had asked Viktor to come and he stood at the back of the meeting room by the door, with a coffee from the machine Mona used to switch on at half past seven. Ten of them round the table. Someone had bought a bag of rolls from the Rema at Kokstad and put it in the middle, and nobody had touched it.
The whiteboard had been wiped. Not completely; in the top corner the ghost of DO NOT TURN ANYTHING OFF still showed through, grey, where the cleaning spray hadn't reached.
Kristin didn't make a speech. She picked up a marker and wrote, in a column down the left-hand side, the names of every server they had that was past its support date. There were nine. She had them from memory.
Then she went down the column and wrote a date next to each one.
FN-SRV01 — 15.12.2025
FN-SRV05 — 31.01.2026
FN-SRV07 — 31.01.2026
"Those are real dates," she said, with her back to them. "Not someday. If one of those boxes is still on after its date, I want to know whose fault it is, and I want it to be mine."
Jonas had his laptop open on the table and a list on it: thirty-four service accounts that nobody in the building could explain.
"Next thing," Kristin said. "Jonas."
For each one he asked the room the same three questions. Who owns it? What does it do? When did the password last change?
svc_backup_old. Silence. Jonas disabled it.
svc_ftp_kommune. A woman from support said she thought it had something to do with Alver, years ago. Nobody could say what. Jonas disabled it.
At the eleventh name the big screen on the end wall, the one that showed the operations dashboard in green and amber all day long, went black.
Ten people looked at it.
Somebody laughed, a short nervous sound, and then two or three others did.
"That one was the dashboard," Jonas said. "Who owns the dashboard?"
"You do now," said Kristin.
He wrote it down. He didn't turn the account back on.
Kristin turned back to the board and wrote 14 DAYS in the middle of it, large, and drew a box round it.
"Security updates go in within two weeks of release. Every month. If we can't manage it, somebody says so, in this room, out loud, and I find the money or the people."
"And if you can't find it?" said one of the backend developers. He was not being cheeky. He wanted to know.
"Then I sell the foosball table," Kristin said, and a few people breathed out. "And after that I start on my own salary."
Then she held out her hand to Jonas, palm up, as if asking for a pen.
"Mine," she said.
He didn't understand. Then he did. "You're Domain Admins."
"I know. I've needed it twice in four years, and both times I could have asked. Take it off." She waited while he did it, with the whole room watching his hands. "Anyone who has keys they don't use gives them back this week. Especially me."
She wrote DRILL under the box, and two dates, one in spring and one in autumn.
"Twice a year we turn it all off. On purpose. And we find out whether a nurse in Askøy can still find out how much insulin an old man takes, without us." She didn't look at anyone. "Siri Mjelde kept a paper folder in her car for two years against our advice, because a fallback was always next year's budget. It's this year's budget."
There was one thing she didn't write on the board.
"And if any of you is ever in trouble," she said, "money, family, anything, you come to me. Before somebody else finds out and offers to help."
She said it to the table, not to the room, and quickly, like something hot put down before it burns. Nobody looked at anybody. Everybody knew why.
"Mona will be charged," Kristin went on, steadier. "She's told the police everything. On Thursday night she sat in Allehelgens gate and talked to that thing until four in the morning so that we could catch him. I don't know what a court will make of her. I know the twelve years were real." She stopped. "I'm not going to stand here and call her a monster."
Through the glass wall Viktor could see the reception desk. The coat hooks. The third one empty.
"Geir's funeral is on Thursday, in Florø. I've hired a bus. It leaves from here at seven." Kristin's voice went thin for a moment and came back. "And if nobody objects, the new build server is going to be named after him. The clean one. The one Jonas built last week and read every line of. Twice."
Jonas put his hand up.
"Can we have his label on it?" he said. "From the tape drive." He cleared his throat and read it off the inside of his own head. "Do not unplug. Ever. This means you, Jonas."
The room laughed. All ten of them, helplessly, for longer than the joke deserved, the way people laugh who have been holding their breath for a week. Jonas laughed with his hand over his eyes.
In the corridor the polishing machine stopped. Teodor Lunde stood in the doorway in his grey work jacket, looking in at them, and didn't ask what was funny.
Chapter 23: The houseboat, again
Thursday 20 November, 13:00
The funeral was in a white wooden church in Florø with the sea at its back, and it rained, sideways, straight off the North Sea, which Geir would have considered correct. His sister spoke, a big slow woman with his glasses. Kristin spoke, briefly and well. Jonas had written something and couldn't read it, and stood instead with his hand flat on the coffin for a few seconds before he went back to his pew.
Teodor sat near the front in an old suit that was too broad in the shoulders. Viktor sat at the back, where he could see everyone, because that was where he always sat.
Afterwards there was coffee in the parish hall and far too many cakes, and nobody had made skillingsboller, and nobody said why. The bus back to Bergen was very quiet. On the Lavik ferry Jonas fell asleep against the window with his mouth open, and Kristin put her scarf under his head.
A week after that the sun came out over Sandviken, briefly, suspiciously, as if checking whether anyone was paying attention.
Viktor sat on the deck of the Dorthea in a thick wool jumper with his second coffee of the day. Up the hill, between two roofs, there was a small square window with nothing in it any more. He had stopped looking for it on the second day. On the third he had looked once more, to be sure.
Before he came out he had opened the galley drawer and counted the strip. Thirteen. He had closed the drawer again. That was all.
A cormorant came up near the end of the jetty, shook its head, looked at him with one black eye and went under.
His phone buzzed. Dahl.
"Riise has been charged," she said. "Datainnbrudd, fare for driftshindring, grovt skadeverk and grovt bedrageri, which the prosecutor reads out like a wine list. The health directorate wants a report from you by Friday. And Kripos rang. They'd like to know whether you'd think about coming back."
"Tell them I'll think about it."
"Will you?"
"No."
She made a sound that might have been a laugh. "One more thing. Kristin Aase called me because she was too polite to call you. Fjordnett wants to hire you. Not for an emergency. For the rest of it. Reviews. The service accounts. Sitting in the room while they do what's on that whiteboard."
Viktor watched the place where the cormorant had gone down.
"The dull one," he said.
"You'll hate it."
"Somebody has to do the Tuesdays." He drank some coffee. "Geir did nineteen years of them."
There was a pause on the line.
"That's almost profound, Brekke."
"I've had very little sleep."
She hung up. He sat a long while, watching the light move on the water. Out past the breakwater the cormorant came up somewhere else entirely, swallowed something, and was gone.
In Ola's room at Allehelgens gate the lights came on by motion sensor and went off again when nobody moved.
On the extraction bench, between a box of hard drives from Ladegårdsgaten and a laptop in a brown paper sack, lay a phone in a sealed plastic bag with a red label, on a charger, waiting its turn. Case number. Date. Hellesøy, M.
At seven o'clock, on a server in Frankfurt the Germans had not yet switched off, something kept its appointment, and the screen lit up through the plastic.
Session.
Good morning, Mona. Did you sleep well?
The light held for a few seconds in the dark room, patient, and went out.
The end.
For discussion
Discussion points for the staff meeting
- Out-of-support systems. Do we have anything still running past its support date, the way Fjordnett ran FN-SRV03? Who owns the decision to retire it, and is there a real date for it, or only a someday?
- Service and admin accounts. Do we know every automated account and every admin account we have, why each one exists, and when its password was last changed? Which ones would we struggle to explain?
- Patch latency. How long does it actually take us to install a security update after it is released, and what, honestly, gets in the way?
- Tampered alarms. If someone quietly silenced our security alerts (a mailbox rule, a disabled check), how long would it take anyone to notice? Who watches the watchers?
- Surviving without the system. If our systems went dark tomorrow, how would our customers, and our own work, cope for a day? Is there a paper fallback, and have we ever actually tested it?
- What we ship and install. How much do we trust the components and updates that flow into what we build or run? Could a malicious change ride into a release without a human ever noticing?
- AI-enabled deception. Would we recognise an AI-written phishing message, or a too-patient stranger offering help at exactly the right moment? What would make us stop and get suspicious?
- Room to ask for help. Would a colleague in financial or personal trouble feel able to say so here, before someone outside the company found out first, and offered to help with strings attached?