P.K. SHARMA

Cyber security intelligence, AI governance, practitioner analysis

OpenAI says Control Room halts research model output within 35 seconds; scale, drills and audit not stated

OpenAI's post says Control Room halts research model output within 35 seconds, and the text prints that one measurement and no drill, workload count or audit. The clock starts at receipt of a stop instruction in one place and at a decision in another.

By · LinkedIn · · 13 min read

One number, 35 seconds, and the clock it measures

OpenAI's post Control Room: A central system to track and stop model workloads across our research infrastructure is listed in OpenAI's news index under 9 November 2026; the page itself prints no date. Its text prints one measurement: a maximum of 35 seconds between Control Room receiving an instruction to stop a job and further progress becoming impossible. That figure appears three times in the saved text (derived count), and it is the only measurement in the body. The page prints no count of workloads, engines or clusters, no count of alert types, no error rate, no result from any stop drill, and no date for the end of its fail closed rollout beyond "the next few days". The interactive figure has 13 steps (derived by counting the step headings).

What this does not establish. The 35 seconds is a design ceiling as OpenAI states it. The post does not say any job has been stopped this way, measured how often the ceiling is reached, or timed a drill. The opening paragraph and the speed section also start the clock at different moments: a "decision to intervene" in one, the moment Control Room "receives an instruction" in the other. Nothing on the page bounds the time between those two.

What kind of post this is. It is an engineering write up of an internal control, with a hiring request at the end and OpenAI named as the author. It is not a framework disclosure and it prints no independent review. OpenAI sells AI products and writes the post about its own infrastructure; a safety post is also a statement about how it wants to be seen. The text was read from a copy of the page saved on the morning of 13 November 2026 (UTC). The copy carries no revision note, and the post says fail closed will reach the remaining research workloads "over the next few days", so parts of it may already be overtaken.

How Control Room works, in the post's own parts

Control Room, as OpenAI describes it, "connects every research inference workload", including agentic sampling for model training and evaluation, and data processing. It works together with OpenAI's misalignment monitoring systems. The design joins three parts: the workload, the inference engine and the Control Room service. A workload asks Control Room for a job_id when it starts, then attaches that job_id to every request for model output. The request goes straight from the workload to an engine and, in the post's words, "does not pass through Control Room". Before answering, the engine asks Control Room whether that job is still authorised. If a person or the monitoring system has marked the job as stopped, Control Room says no and the engine returns a refusal.

Drawn by this site from OpenAI's Control Room post, read on 13 November 2026 from a saved copy. Every box is the post's own account; the strip at the bottom lists what the post leaves out.

The parts of Control Room as the post describes them, and what the saved text leaves out.

PartWhat the post saysNot stated in the text
WorkloadThe job being run, such as a reinforcement learning experiment, an evaluation or a high volume sampling or data processing job. Owned and run by researchers. Every research workload that does agentic inference must be associated with an approved safety case.How many workloads. What happens to a job that never asks for a job_id. Who approves a safety case.
Inference engineThe model itself, running directly on GPUs. Checks with Control Room before fulfilling a request and refuses if the job is stopped. One engine may serve more than one workload.How many engines. How many inference code paths exist; the post says only "a very small number".
Control Room serviceTracks jobs and controls whether they may keep generating model output. Fails closed if it goes down.Hosting, redundancy, uptime, and how the authorization cache behaves during an outage.
Stop decisionA person or the monitoring system tells Control Room to stop a job_id. The monitor "may decide to stop the job", depending on details and severity.Who the people are, how they authenticate, whether a second approval exists, and where a stop is logged.
MonitorAnother model that inspects everything the model being trained is doing and raises an alert. All frontier reinforcement learning jobs run with one.Monitor coverage for evaluations and data processing jobs. Alert thresholds.

One design choice carries the post's argument. Workload code "changes often" and is not an ideal place for safety protections, so OpenAI puts the check in the inference layer, where "a very small number" of code paths serve all of its research. The post adds a backstop: "continual agentic and programmatic sweeps" to find engines launched with Control Room unimplemented or disabled. A sweep is a detective control. It finds a rogue engine after it exists; it does not stop one from starting. The post prints no sweep frequency and no result.

The 35 seconds, read twice

The post gives the figure in two places and words it differently. The table lines them up.

How the post words its one figure, from the saved text read on 13 November 2026.

WhereWordingWhat the clock covers
Opening paragraphHalts model output "within 35 seconds of a decision to intervene to stop or pause a job".Starts at a decision. Ends when model output halts.
Speed and reliability sectionThe maximum time between Control Room receiving "an instruction to stop a job" and the moment "further progress is no longer possible".Starts when Control Room receives the instruction. Ends when progress is impossible.
Not covered by eitherNothing in the text bounds the time from a monitor alert, or a person's decision, to the instruction arriving.The step before Control Room receives the instruction.

OpenAI says the 35 second lag "comes from a caching layer for inference authorization, to support the required volume of traffic", and that it is working to drive the number "down to zero". So the lag is a deliberate trade against traffic volume, and the volume is not printed. A reader cannot tell whether 35 seconds is typical or a worst case reached once a month. The post also leaves out how that cache behaves when Control Room is down: it says all inference is denied until Control Room resumes, but a cache that holds an allow for up to 35 seconds could keep answering during that time. That interaction is this site's inference from the two statements, not something the post says.

What stops is also narrower than the title suggests. The post says the stopped job's "research process may remain alive" and that the workload code can still try to sample model output and is refused. The control acts on requests to the model. The page does not say what a stopped job can still do without new model output, such as run tools it already has, write files or use the network. It also says "stop or pause" once and never describes a pause, or how a stopped job is allowed to resume.

The worked example is a mechanism, not an incident

The section headed "Example: reacting to a monitoring alert" describes the route in general terms: the monitoring system detects a potential issue, may decide to stop the job, and sends Control Room a message "passing the job_id". Control Room records the job as terminated and denies the next inference request. It does not narrate a job that was stopped this way. The only real event it touches is one sentence saying a recent DNS related incident "was caught by a monitor". Caught is not stopped, and the post does not say Control Room acted on it.

The earlier briefings on this site matter here. The briefing on OpenAI's 29 October monitoring post recorded that, for internal Codex traffic, paging was disabled, and that the post printed no incident count or miss rate. Control Room's post inherits the same gap: it describes the stop path in detail and says nothing about how many times it has been used.

Labels that do the work of evidence

Five phrases carry weight in the post. Each is a claim, not a result.

Phrases in the post that read as controls, with what the page prints for each.

PhraseWhat the page printsWhat would make it evidence
"Control Room"A description of three parts and a sequence.A count of jobs it tracks and stops, and how often.
"stop"Further inference requests from that job are denied. The process can stay alive.A statement of what else a stopped job can do.
"fails closed"All inference is denied until Control Room resumes. Rolled out to frontier research workloads now, the rest in days.An outage test, and the cache behaviour during one.
"well-developed operational capability"Used for the external model serving stack, which the post says is more centralized by nature.Any time to take a deployment down.
"continual" sweepsAgentic and programmatic sweeps for rogue engines.Frequency and what they found.
Drawn by this site from OpenAI's Control Room post, read on 13 November 2026. Left to right in each row: the claim, the support printed on the page, and the figure or evidence the page leaves out.

What the post states, and what it does not

Stated and not stated in the saved text of OpenAI's Control Room post, read on 13 November 2026.

QuestionStatedNot stated
Who can stop a workloadA person or the monitoring system.Which people, how they authenticate, any second approval, any log of the stop.
What triggers an automated stopThe monitor may decide to stop, depending on details and severity.Thresholds, and which alerts lead to a stop rather than a page.
Whether any incident was handledA recent DNS related incident was caught by a monitor.That Control Room stopped it, or any other job.
Stop latencyA maximum of 35 seconds from receipt of the instruction; the opening says from a decision.A measured time, a drill, or the time from decision to receipt.
ScaleEvery research inference workload is connected.Any number of workloads, engines, requests or traffic volume.
ReachResearch infrastructure. The external serving stack is described as separate, with its own take down capability.A time to take down a deployed model. Whether any deployed product uses Control Room.
Independent checkNothing.Any audit, outside test or red team result.
AccountabilityOpenAI is the author.A named owner or a role responsible for the stop action.

The reach row is the one a non research reader should read twice. The post says Control Room is deployed "where the need is greatest", across research infrastructure, and that the external model serving stack already has a "well-developed operational capability" to take down deployments. It then says nothing about how fast that capability is. A reader who runs OpenAI models in a product has been given a latency figure for research jobs and none for the service they use.

What to do, in order

The post gives readers no checklist. These steps are this site's suggestions, drawn from the questions the post leaves open.

Take this with you

In the order worth doing (this site's suggestion)

  • List every workload that calls a model, and for each write down who can stop it, from where, and how that person is authenticated.
  • Put the stop in a layer you control centrally, in front of the model call, rather than relying on each job's own code, which is the reasoning the post gives for its design.
  • Hold a scheduled stop drill and record two times: decision to instruction, and instruction to the last accepted request. The post's 35 seconds covers only the second.
  • Decide for each workload whether the gate fails closed or open when it is unavailable, and test an outage, including any cache that could keep answering.
  • Log who or what stopped which job and why, in a place the team running the workload cannot edit.
  • Make stop authority independent of the team running the workload, and compare the post's description of monitor to Control Room messages with your own alert path: who is awake when the alert fires.
  • Sweep for model servers that skip the check, and keep the sweep results.

Technical details

The post prints no command, API call, request format, log line or configuration. What it prints is names, one field name and a sequence of steps. They are copied below exactly, because an operator comparing their own system needs the vocabulary the post uses.

The first block is the vocabulary: the one field name, the three components and the two requirement terms. An operator maps each to their own system: what issues the identifier, what checks it, and what holds the approval.

Text
job_id
workload
inference engine
Control Room service
approved safety case
fails closed
Names as printed in OpenAI's Control Room post, copied from the page text saved on 13 November 2026.

The second block is the integration sequence, in the post's words. It is the whole mechanism. A defender uses it to ask, at each line, which system is trusted to do it and what happens when it does not.

Text
When starting a new job, the workload code requests a new job_id from Control Room.
Whenever the workload needs to sample tokens from a model, it makes a request to an inference engine running that model, passing the job_id.
The engine requests permission from Control Room to fulfill that request, passing the job_id along to Control Room.
Control Room checks whether that job has been terminated, and if so, it denies the inference request.
The engine responds to the workload's inference request with a refusal, stopping further model output from being produced for that job.
The integration sequence as printed in OpenAI's Control Room post, saved on 13 November 2026.

The third block is the stop message path for an automated stop, and the interface labels from the post's figure, which show four example jobs in the active state. The post prints no message format; the figure labels are illustrative.

Text
In this case, the monitoring system sends a message to Control Room to stop the job, passing the job_id.
job_039, active
job_040, active
job_041, active
job_042, active
The stop path sentence and the figure's example job labels as printed in OpenAI's Control Room post, saved on 13 November 2026.

Hunting and hardening, from the post's own terms: confirm that every model server you run asks a central service before answering; look for a server started without that check; and test what a request carrying no identifier, or an unknown one, receives. The post does not say what Control Room does in that case.

The question the post leaves open

If a stop order is given at the moment an alert fires, how many seconds pass until the last token that job can use has been produced, and has anyone at OpenAI timed that end to end with a real job and a real person giving the order?

Key facts

Sources

  1. PrimaryOpenAI post 'Control Room: A central system to track and stop model workloads across our research infrastructure': the parts, the sequence, the stop path, the 35 second figure, fail closed and the scope. Read from a copy saved on 13 November 2026; the page prints no date of its ownOpenAIaccessed 2026-11-13

Share this briefing

Know someone who owns this problem? Send it to them.

Related briefings

The briefing, in your inbox

Practitioner analysis of cyber and AI security news. No vendor noise.

How often

Every new briefing in one email, at 7am, or at 7am, 12:30pm and 6pm. Nothing is sent when nothing is new. Unsubscribe any time.