Technical writing
Fourteen Thousand to Zero: The Federal Private-Prison Ban That Outlived Its Reversal
Five days before the executive order that ended federal private-prison contracts, the Bureau of Prisons' own population feed recorded 14,095 people held in 11 privately operated facilities. Today the same feed records zero. It has recorded zero for 19 months since that order was rescinded — a reversal on paper that has not, so far, reversed anything.
This is the simplest possible accountability finding: a number the government publishes about itself, read on two dates. The BOP Ledger rebuilds that feed every week, and the private-facility line has stayed at zero through the entire window. What follows is how it got there, and why the zero is worth watching rather than filing away.
The ban that happened twice
Federal private-prison policy has swung twice in a decade. In August 2016, after a Justice Department Inspector General review found more safety and security incidents at contract prisons than at comparable BOP institutions, the Deputy Attorney General directed the Bureau to stop renewing those contracts. That directive was rescinded in February 2017, before the wind-down finished — cycle one, reversed.
Cycle two began on January 26, 2021, when Executive Order 14006 directed the Attorney General not to renew Department of Justice contracts with privately operated criminal detention facilities. This time the wind-down completed. As the contracts reached their expiration dates across 2021 and 2022, the count of federal inmates in private prisons fell to zero and stayed there.
The reversal that hasn't reversed
On January 20, 2025, Executive Order 14148 rescinded EO 14006. The federal directive against renewing private criminal-detention contracts was gone. 19 months later, BOP's live feed still reads 0 inmates in privately managed prisons, as of August 20, 2026.
The two publicly traded prison operators say the same thing in their own federal filings. Each states in its FY2025 annual report to the SEC that it holds no BOP prison contracts — in identical words: “We currently do not operate any prison contracts for the BOP.” That is the companies' own account, not an inference; it is why this dataset can record the zero without naming a private operator at all.
What the record stopped saying
One more part of the record is worth noting: BOP's Contract Prisons page — the page that once listed the private facilities — now returns a “not found” error, while a dead link to it still sits on the Bureau's own facilities index. The register did not just empty; the page describing it was removed. The Ledger keeps the archived record and states the removal as a fact, without guessing at why.
Why a zero needs a tripwire
A count of zero is easy to stop watching. But BOP's data schema still carries the private-facility fields — the array and the total are present, and simply read zero. The rescission removed the only federal instruction keeping them that way. So the BOP Ledger treats the zero as a live value, not a closed chapter: the weekly build fails the moment the private total goes non-zero. It is the standing tripwire on a federal private-prison return — a claim about what the record shows now, and an alarm wired to the day it changes.
What this does not say
The Ledger records what the government publishes: 133 institutions holding 138,118 people, the halfway-house contracts, and the private-facility count. It does not measure conditions inside any facility, and BOP publishes no rated capacity anywhere, so nothing here is a crowding claim. The zero is a fact about contracts and custody on a date — not a verdict on whether the policy was right, and not a prediction about what the next executive order will do. Where the record is silent, so is this.
Every current figure is computed from the BOP Ledger (BOP population feed as of August 20, 2026); the pre-2021 figure is from BOP's archived population report. Keyless JSON at /bop/index.json, CC0, zero personal data. The full ban-and-reversal timeline, each entry with its primary citation, ships in the dataset. Naming and sourcing rules: data standards.
The federal-custody trio: the BOP Ledger (whom the government holds), the Detention Ledger and the 287(g) Wave (who runs ICE's beds, and who was deputized to fill them).
Also new: The Custody Chain — what happened when fifteen million genomes met a bankruptcy court.
Related dataset: The BOP Ledger — 133 institutions, rebuilt weekly, keyless JSON, CC0.