Chapter 4

The CTO's Out of Sight

The CTO's Out of Sight illustration

The CTO was waiting for me at a coffee shop near the office.

No messages. No calls. Just: “I’m at that coffee place.” Like a dinner invitation. Like between old friends. Like the past three years of us invisibly coexisting on the same project was finally surfacing for a conversation.

I took a genuine breath when I pushed through the door.

It wasn’t afternoon tea hour. The place was nearly empty. The CTO sat in the far corner, an Americano in front of him, barely touched. I sat down and waited for him to speak first.

He pulled his gaze back from the window and looked at me. Then he did something I hadn’t anticipated—

He stood up, walked around the table, and nudged my chair back an inch.

Not in a joking way. A real nudge. The kind of fluid motion that suggested he did this for people all the time.

“You probably haven’t eaten today.” It wasn’t a question.

He was right. That morning’s phone call had turned my stomach to stone. I’d skipped lunch entirely. And during the showdown in the break room that afternoon, I’d felt like I was floating.

The CTO settled back into his seat, both hands folded on the table. The zipper on his engineer-functional jacket was pulled all the way up, which put the collar of a designer shirt on full display beneath it — slightly out of place under the warm amber lights of the coffee shop.

“I’ll be direct,” he said.

“After the platform went down, the contract terminates early. The cloud provider will send a formal notice, but technically, starting today, all data enters an overwritable state within thirty days.”

I listened to every word. Individually they made sense. Together they sounded like a foreign language.

“What does that mean—”

“It means thirty days.” He cut me off. “After thirty days, the data is physically gone. Not simply ‘deleted.’ Overwritable. Even if someone wanted to recover it, there’d be no trace left.”

I looked down at the table surface. Wood. Very prominent grain. A thin crack ran crookedly from one edge to the other. I traced my fingernail along it.

He didn’t rush me.

The silence probably lasted about ten seconds. Maybe longer. The coffee shop had some slow jazz playing in the background — I couldn’t name the song, but it suddenly struck me as entirely wrong for the occasion.

“I know.” I finally looked up. “So I need to move the data out.”

The CTO’s expression didn’t change, but I noticed his right index finger tap lightly on the table.

“You have the capability, I know that,” he said. “But you also need to know what it costs.”

“What cost?”

“The database root access has already been revoked.” He said this with the same tone one might use for “lovely weather today.” “If you want to back up the data, technically your only option is to crawl it through the application layer interface. Slow, heavily throttled, and —”

He paused.

”— every operation leaves a Log.”

I understood what he meant. While I was backing up, I was simultaneously creating visible, irrefutable evidence: which accounts I’d accessed, which data I’d pulled, what time, what IP. Those Logs would stay alive until the system shut down completely. Management could pull them anytime.

“Are you telling me not to do it?” I asked.

“I’m telling you: you can do it.” He said. “But every single step you take is a decision you made. The system didn’t instruct you to do it. No document approved it. I personally didn’t suggest it.”

I opened my mouth. Then closed it again.

He was building a firewall. I got it now. Him sitting here saying all this — it wasn’t to help me. It was so that if things went south, he could cleanly wash his hands of it: Oh, that? No idea what you’re talking about.

But he still showed up. Told me the thirty-day number in person. Told me the Logs would exist. Told me I could move.

“You know,” I looked into his eyes. “You know why the platform’s risk control system never got around to banning my dozen accounts over three years.”

The CTO said nothing.

“Because it only bans the ones with egregious violations. Massive moderate-level fraud gets treated as natural traffic fluctuation.”

He finally lifted that Americano and took a sip. The coffee was almost certainly cold by now. His expression gave nothing away.

“That’s just how the industry works,” he said, setting the cup down. “Everyone’s chasing volume, everyone diluting, everyone inflating the numbers to look better than they are. Risk control sees it, but they can’t be bothered to act.”

“Why not?”

“Because it doesn’t pencil out.” He said it plainly. “Banning an account requires going through the process, manual review, documentation on file. But if it’s ‘natural traffic fluctuation,’ nothing needs to be done — and the annual report gets to show a nice line item for healthy platform traffic growth.”

I almost laughed. Not the happy kind of laugh. The kind that happens when something is so absurd that laughing is the only option left.

“So the reason I wasn’t banned in three years wasn’t because I was good at this — it was because I got lucky?”

The CTO’s gaze flickered with something complicated.

“Both,” he said.

And I’d spent all that luck cultivating a whole stable of accounts, only to realize I’d been raising myself the whole time.

We sat in silence again. This stretch was shorter.

“I remember you had an account,” he said suddenly. “The username was something like a real person’s name. Not the usual letter-number combo.”

My heart skipped. “Ah Zhi?”

“Yeah. Ah Zhi.” He nodded. “When the data leak hit during earnings season and the platform got accused of DAU inflation, I pulled backend data to investigate. Found an account that had left seventeen comments on relevant posts, each one steering the conversation. I thought it was odd, so I looked closer — and all seventeen comments came from —”

He made a gesture with his hand.

I knew what he was about to say.

“Yeah.” I said. “Same IP block. Because we were all in the same room.”

The CTO sat with that for a moment.

“Seventeen,” he said.

Seventeen comments from one IP address. I thought I was so clever.

“After that I kept an eye on that account for a while,” he went on. “Found out it was a ‘real person’ on the platform.”

“What do you mean?”

“The posts got reads. Comments. Interactions. It had followers — and those followers were real people.” He looked at me. “I didn’t know Ah Zhi was yours. In three years I never traced it back. But I knew Ah Zhi was real.”

My throat tightened suddenly.

“You’re saying, even if I wasn’t operating behind the scenes anymore — those accounts —”

“Those accounts were real,” the CTO said. “At least on this platform, they existed genuinely. They accumulated content, built relationships, left behind other people’s lives. That’s not fake.”

I thought about Ah Zhi.

Ah Zhi was one of my first accounts. Back then the boss had handed me a cheap Xiaomi work phone and told me to “get one account running first.” I’d set Ah Zhi as a thirty-five-year-old from Taipei with a love of camping and coffee. Over three years, Ah Zhi had posted more than two hundred travel entries. Some of those posts had real comments and genuine interactions.

One follower — a fan named Xiao Zhen — would always comment on Ah Zhi’s coffee shop posts with something like “Take me next time.” Ah Zhi had replied, “Sure, let’s find a date,” and then never did.

Xiao Zhen later opened her own coffee shop.

I saw her first post in the backend. Location pinged to Da’an District, Taipei. Photo of a latte with latte art. Caption: “A gift to myself for turning thirty.” I stared at that image for a long time, thinking if only Ah Zhi were still around, I could go like it.

But Ah Zhi was me.

So I never did.

“Thirty days.” The CTO stood up. “If you’re going to back up, move fast.”

I stood too.

“One more thing.” He straightened his jacket collar, and under the warm amber light of the coffee shop, that designer collar looked slightly out of place. “Those accounts — if possible —”

He didn’t finish the sentence.

But I understood.

“I know,” I said.

He nodded, turned, and walked to the door. The glass door closed behind him, and the air still held a faint trace of Americano bitterness.

I stayed where I was, doing the math in my head.

Thirty days. Twelve phones. Six hundred core sock puppets. Each account had content, followers, interaction history. How was I going to move all of this out in thirty days?

And without leaving Logs.

I ran through the technical stack in my head. Auto.js scripts could work, but crawling speed would be too slow, plus there was API throttling to deal with. I knew that platform well — if I applied for a developer account, I could get higher-tier API access. But developer accounts required a company entity to apply under, and the company was practically already dead, so that probably wasn’t going to happen.

I needed to find a workaround.

I thought about Ah Zhi. Not the thirty-five-year-old from Taipei. The other Ah Zhi.

The neighbor’s dog from when I was young. A street dog that used to wait for me at the corner every afternoon when I got out of school. I moved away after changing schools. Later I heard he’d gotten old, and when he died, he was sleeping under his favorite banyan tree.

I didn’t know why that memory surfaced at a time like this.

Maybe because that Ah Zhi was real. The dog was real. Loving me was real. The years it existed were real. The earth under that banyan tree was real — and there was no cloud backup underneath it. Its face only existed in my memory.

But that was everything.

My twelve phones were real too.

They existed in my room. They existed in those screens that were always lit up. They existed in the space between Ah Zhi’s coffee posts and Xiao Zhen’s café — in that like button I never pressed.

I pulled my phone from my pocket, opened the notes app, and started a list.

Thirty days. Six hundred accounts. Each account averaged a hundred posts. Even if I could back up one account’s core data per minute — not counting the images and attachments on long-form posts — that was still ten hours.

One account per minute was impossible in reality. And once my phone matrix fired up at full speed, the network would lag, IPs would get flagged, and all those irregular operation intervals I’d painstakingly calibrated would light up like a beacon on the platform’s risk control dashboard.

So I had to go slow. Slow like a human. Slow like a real user browsing — while quietly copying data in the background.

I thought for a moment, then typed a line into the notes:

“Phase One: Batch-extract core sock puppet follower lists and interaction graphs.”

Then another line:

“Phase Two: Download text and images from all long-form posts.”

Third line: “Phase Three: Compile into an offline-readable format.”

I stared at those three lines. A voice in my head asked: and then what?

And then what? Where would the backup live? Who would come to look?

I didn’t know.

But these memories were mine.

I closed the notes app, stood up, and walked toward the door.

Outside, the sky was going dark. I needed to get home, open those twelve phones, and begin this thirty-day long-distance move.

As I pushed through the door, I glanced back at the coffee the CTO had left behind. The cup was empty, but a ring of dark brown residue clung to the bottom, catching the warm amber light of the shop — like a ring with no edge.

Like a promise.

I walked out.