Story code: ST-000865
Part 1: Error 403
The cursor blinked on line 402, taunting me with a syntax error that had kept me chained to my desk until two in the morning. The open-plan office was dead quiet, save for the aggressive hum of the overhead HVAC and the occasional metallic pop of the building settling. My eyes burned from staring at the dark mode IDE. I rubbed my temples, hit save, and typed the deployment command to push the final stability patch to the staging server.
`Error 403: Forbidden.`
I stared at the terminal output. That was impossible. I wrote the deployment script. I held root access across the entire AWS environment. I tapped the up arrow and hit enter again, assuming it was a momentary handshake failure with the authentication token.
`Error 403: Forbidden. User ‘marcus_admin’ lacks required permissions.`
My coffee was cold and tasted like battery acid, but I took a sip anyway. IT must be running an automated IAM audit, I told myself. Someone in DevOps probably applied a blanket restrictive policy by mistake, stripping global permissions during the crunch phase. It was an annoying rookie mistake, but fixable. I opened a side terminal and queried the active identity policies to see which automated script had orphaned my account.
The logs returned a manual change event.
At 1:15 AM, exactly forty-five minutes ago, my account had been explicitly moved from the `SuperAdmin` group to `Dev_Read_Only`. The user who executed the command was `julian_ceo`.
Julian was supposed to be asleep. We had the final pre-IPO all-hands meeting at eight in the morning. He had left the office at ten, clapping me on the shoulder, handing me a lukewarm slice of pizza, and telling me to get some rest. There was no reason for him to touch the server configurations. He barely understood how the cloud architecture worked.
I cracked my knuckles and bypassed the standard authentication gateway. Julian might be the CEO, but I built the entire backend architecture from scratch in my living room three years ago. I still had an SSH backdoor mapped to a dormant service account we used during our seed round, a dusty relic I never bothered to deprecate. I logged in through the ghost account, elevated my privileges back to root, and checked the staging server directory to see what Julian was working on at one in the morning.
He had spun up a hidden, sandboxed environment on the staging server, completely decoupled from the main development branch. That was a direct violation of our IPO code freeze. I navigated into the sandbox folder.
It wasn’t code. It was a file dump. The directory was titled `Project_Apex_Legal_Final`.
I ran a list command. The terminal populated with a dozen PDF and Excel files, all time-stamped within the last hour, all synced directly from a localized machine in Julian’s executive suite at the end of the hall.
I opened the first file, an external document titled `S-1_Filing_vFinal_Executed`.
My eyes scanned the dense legal formatting of the Securities and Exchange Commission document. It was our IPO filing. We had been reviewing drafts of this massive document for six months. I knew every paragraph of the technical summary. But this wasn’t the version I had signed off on yesterday afternoon. The narrative section detailing the company’s founding had been entirely rewritten. The technical architecture, my literal life’s work, was suddenly attributed to a new external proprietary vendor wholly owned by Julian’s holding company.
I felt a cold pressure building in my chest. I backed out of the PDF and opened the Excel spreadsheet labeled `Post_Offering_Cap_Table_Restructured`.
I scrolled down to my name. Marcus Vance, Chief Technology Officer. Co-founder.
In yesterday’s version, my equity share sat at a solid twenty-two percent. A guaranteed fortune. A validation of the eighty-hour weeks, the missed holidays, the panic attacks, the hospital trip for sheer physical exhaustion.
In this version, my row was grayed out. My equity had been brutally reclassified as unvested options contingent on a board-approved performance review. A review scheduled for the day after the IPO. A review Julian would control. The remaining twenty-two percent had been absorbed into a liquidity pool controlled entirely by Julian and our lead outside counsel.
They were going to fire me the second the opening bell rang on the stock exchange. They had locked down the codebase, revoked my admin access, and finalized the paperwork to steal everything I built. Julian thought the expensive corporate lawyers had sealed all the exits. He assumed revoking my standard admin credentials would lock me out until the morning, when the filings went live and it was entirely too late to contest the narrative.
He forgot one crucial detail.
I was sitting inside the ghost account with raw, unfiltered access to the central repository. Every line of code, every database schema, every client encryption key was sitting completely unprotected in front of me. The entire billion-dollar valuation rested on the software architecture I created.
I opened the master deployment script and highlighted the directory path for the production environment. My finger hovered over the delete key. I just needed to type one command to wipe the repository, sever the cloud backups, and turn Julian’s finalized S-1 filing into a worthless piece of paper.
The elevator chime echoed down the hall.
Heavy shoes stepped out onto the hardwood floor of the lobby. Deliberate, echoing strides. They were moving straight toward the glass walls of my workspace.
The handle on the door began to turn.
The cursor blinked on line 402, taunting me with a syntax error that had kept me chained to my desk until two in the morning. The open-plan office was dead quiet, save for the aggressive hum of the overhead HVAC and the occasional metallic pop of the building settling. My eyes burned from staring at the dark mode IDE. I rubbed my temples, hit save, and typed the deployment command to push the final stability patch to the staging server.
`Error 403: Forbidden.`
I stared at the terminal output. That was impossible. I wrote the deployment script. I held root access across the entire AWS environment. I tapped the up arrow and hit enter again, assuming it was a momentary handshake failure with the authentication token.
`Error 403: Forbidden. User ‘marcus_admin’ lacks required permissions.`
My coffee was cold and tasted like battery acid, but I took a sip anyway. IT must be running an automated IAM audit, I told myself. Someone in DevOps probably applied a blanket restrictive policy by mistake, stripping global permissions during the crunch phase. It was an annoying rookie mistake, but fixable. I opened a side terminal and queried the active identity policies to see which automated script had orphaned my account.
The logs returned a manual change event.
At 1:15 AM, exactly forty-five minutes ago, my account had been explicitly moved from the `SuperAdmin` group to `Dev_Read_Only`. The user who executed the command was `julian_ceo`.
Julian was supposed to be asleep. We had the final pre-IPO all-hands meeting at eight in the morning. He had left the office at ten, clapping me on the shoulder, handing me a lukewarm slice of pizza, and telling me to get some rest. There was no reason for him to touch the server configurations. He barely understood how the cloud architecture worked.
I cracked my knuckles and bypassed the standard authentication gateway. Julian might be the CEO, but I built the entire backend architecture from scratch in my living room three years ago. I still had an SSH backdoor mapped to a dormant service account we used during our seed round, a dusty relic I never bothered to deprecate. I logged in through the ghost account, elevated my privileges back to root, and checked the staging server directory to see what Julian was working on at one in the morning.
He had spun up a hidden, sandboxed environment on the staging server, completely decoupled from the main development branch. That was a direct violation of our IPO code freeze. I navigated into the sandbox folder.
It wasn’t code. It was a file dump. The directory was titled `Project_Apex_Legal_Final`.
I ran a list command. The terminal populated with a dozen PDF and Excel files, all time-stamped within the last hour, all synced directly from a localized machine in Julian’s executive suite at the end of the hall.
I opened the first file, an external document titled `S-1_Filing_vFinal_Executed`.
My eyes scanned the dense legal formatting of the Securities and Exchange Commission document. It was our IPO filing. We had been reviewing drafts of this massive document for six months. I knew every paragraph of the technical summary. But this wasn’t the version I had signed off on yesterday afternoon. The narrative section detailing the company’s founding had been entirely rewritten. The technical architecture, my literal life’s work, was suddenly attributed to a new external proprietary vendor wholly owned by Julian’s holding company.
I felt a cold pressure building in my chest. I backed out of the PDF and opened the Excel spreadsheet labeled `Post_Offering_Cap_Table_Restructured`.
I scrolled down to my name. Marcus Vance, Chief Technology Officer. Co-founder.
In yesterday’s version, my equity share sat at a solid twenty-two percent. A guaranteed fortune. A validation of the eighty-hour weeks, the missed holidays, the panic attacks, the hospital trip for sheer physical exhaustion.
In this version, my row was grayed out. My equity had been brutally reclassified as unvested options contingent on a board-approved performance review. A review scheduled for the day after the IPO. A review Julian would control. The remaining twenty-two percent had been absorbed into a liquidity pool controlled entirely by Julian and our lead outside counsel.
They were going to fire me the second the opening bell rang on the stock exchange. They had locked down the codebase, revoked my admin access, and finalized the paperwork to steal everything I built. Julian thought the expensive corporate lawyers had sealed all the exits. He assumed revoking my standard admin credentials would lock me out until the morning, when the filings went live and it was entirely too late to contest the narrative.
He forgot one crucial detail.
I was sitting inside the ghost account with raw, unfiltered access to the central repository. Every line of code, every database schema, every client encryption key was sitting completely unprotected in front of me. The entire billion-dollar valuation rested on the software architecture I created.
I opened the master deployment script and highlighted the directory path for the production environment. My finger hovered over the delete key. I just needed to type one command to wipe the repository, sever the cloud backups, and turn Julian’s finalized S-1 filing into a worthless piece of paper.
The elevator chime echoed down the hall.
Heavy shoes stepped out onto the hardwood floor of the lobby. Deliberate, echoing strides. They were moving straight toward the glass walls of my workspace.
The handle on the door began to turn.