Voidly · Custody & enforcement accountability
The BOP Ledger — Every Federal Prison, Weekly
The federal prison system is the one US carceral system whose operator publishes live, keyless, facility-level data — and no one republishes it as an open register. This does: all 133 Bureau of Prisons institutions, 138,553 people in BOP custody, the 155-contract halfway-house layer, and the documented rise and fall of federal private prisons — rebuilt every week from the government's own numbers.
Facility and system level only; zero personal data. No incarcerated person, staff member, or any individual appears in these feeds or on this page — the inmate locator and every individual-level or mortality endpoint is categorically excluded, and contact fields are dropped. Operators are named only where the government's own file names them. BOP publishes no rated or design capacity anywhere, so this dataset makes no crowding claim. Figures are BOP's own (population feed as of July 9, 2026; system aggregates as of Saturday, 4 July 2026), refreshed weekly. To dispute or correct an entry, contact us. Built under our data standards.
- BOP institutions
- 133
- People in BOP custody
- 138,553
- Halfway-house contracts
- 155
- In private prisons
- 0
Private-prison reappearance watch
Federal inmates in privately operated prisons: 0 as of July 9, 2026.
Roughly 14,095 people were held in 11 private federal facilities days before the January 2021 executive order that ended the contracts. The population reached zero by late 2022 — and has stayed zero for the 17 months since the order was rescinded in January 2025. BOP's data schema still carries the private-facility fields; this dataset's weekly build fails loudly the moment either goes non-zero. It is the tripwire, not a prediction.
The ban, twice — and the reversal that hasn't reversed
Federal private-prison policy has swung twice. Each entry below is a documented government action with its primary citation; the populations are BOP's own.
August 11, 2016 · Cycle 1
DOJ Inspector General reports higher safety and security incidents at contract prisons
The DOJ Office of the Inspector General published its review of the BOP's monitoring of contract prisons, finding contract facilities had more incidents of certain safety and security categories than comparable BOP institutions. [DOJ OIG Evaluation 16-06]
August 18, 2016 · Cycle 1
Deputy Attorney General directs BOP to phase out contract prisons
A memorandum from the Deputy Attorney General directed the BOP to decline to renew contract-prison contracts or to substantially reduce their scope as they expired, beginning the first federal wind-down. [DOJ memorandum (Aug 18, 2016)]
February 21, 2017 · Cycle 1
Attorney General rescinds the phase-out directive
A new memorandum rescinded the August 2016 directive, returning BOP to its prior contracting posture and ending the first cycle before it completed. [BOP: Memorandum on Use of Private Prisons Rescinded (Feb 2017)]
January 26, 2021 · Cycle 2
Executive Order 14006 directs DOJ not to renew private criminal-detention contracts
EO 14006, “Reforming Our Incarceration System to Eliminate the Use of Privately Operated Criminal Detention Facilities,” directed the Attorney General not to renew Department of Justice contracts with privately operated criminal detention facilities. Five days earlier, BOP's own archived feed recorded 11 private facilities holding roughly 14,000 people. [Executive Order 14006 (Federal Register)]
late 2022 · Cycle 2
The federal private-prison population reaches zero
As the last contracts reached their expiration dates across 2021 and 2022, the number of federal inmates held in privately managed prisons fell to zero and stayed there. [BOP population feed (PRIVATETOTAL)]
January 20, 2025 · Cycle 2
Executive Order 14148 rescinds EO 14006
Section 2(q) of EO 14148, “Initial Rescissions of Harmful Executive Orders and Actions,” rescinded EO 14006, removing the federal directive against renewing private criminal-detention contracts. [Executive Order 14148 (Federal Register)]
July 9, 2026 · Cycle 2
Still zero, well over a year after the rescission
BOP's live population feed continues to report zero inmates in privately managed federal prisons. Both publicly traded operators state in their FY2025 10-Ks that they hold no BOP prison contracts. The dataset's weekly build is the tripwire on any return. [BOP population feed (as of July 9, 2026)]
Where the institutions are
Each tile is shaded by the number of people BOP holds in that state; the number on the tile is its count of institutions. A labelled zero marks a state with no BOP institution.
Shaded by people in BOP custody; tile number = institutions in the state. From BOP's own population and locations feeds.
The largest institutions (top 15 by population)
| Institution | State | Security | Population | of which camp |
|---|---|---|---|---|
| Fort Dix FCI | NJ | Low | 4,162 | 243 |
| Lompoc II FCI | CA | Low | 2,204 | 333 |
| Beaumont Low FCI | TX | Low | 2,142 | 508 |
| Thomson FCI | IL | Low | 2,080 | 150 |
| Coleman Low FCI | FL | Low | 2,063 | 495 |
| Elkton FCI | OH | Low | 2,048 | 463 |
| Forrest City Low FCI | AR | Low | 1,901 | 266 |
| Atlanta FCI | GA | Low | 1,856 | — |
| Beckley FCI | WV | Medium | 1,806 | 247 |
| Yazoo City Low FCI | MS | Low | 1,720 | 195 |
| Pollock FCI | LA | Medium | 1,709 | 257 |
| Williamsburg FCI | SC | Medium | 1,683 | 97 |
| Jesup FCI | GA | Medium | 1,679 | 619 |
| Petersburg Medium FCI | VA | Medium | 1,667 | — |
| Hazelton FCI | WV | Medium | 1,663 | 507 |
118 of 133 institutions carry a direct population; the other 15 are Federal Correctional Complex parent records whose people are counted at their member institutions. All ship in the keyless JSON with security level, type, region, and geography.
The system, in its own categories
By security level
- Medium
- 44
- Low
- 34
- Administrative
- 19
- N/A
- 15
- High
- 15
- Minimum
- 6
By region
- South Central
- 26
- Mid-Atlantic
- 23
- Southeast
- 23
- North Central
- 22
- Western
- 20
- Northeast
- 19
Community custody
- Administrative
- 56
- Contract juveniles
- 37
- Home confinement
- 5,896
- Jail / short-term detention
- 397
- Long-term boarders
- 62
- Residential reentry centers
- 8,481
The halfway-house layer
Beyond the walls, BOP contracts 10,062 residential-reentry beds across 155 contracts held by 55 operators — every one named in BOP's own feed. And the contracts have a cliff: 21 expire in 2026.
Largest operators
| Operator | Contracts | Beds | States |
|---|---|---|---|
| Dismas Charities | 34 | 1,960 | 15 |
| GEO Reentry | 14 | 1,009 | 9 |
| Volunteers of America | 11 | 862 | 8 |
| Behavioral Systems Southwest | 6 | 562 | 2 |
| CoreCivic | 5 | 618 | 4 |
| Keeton Corrections | 5 | 221 | 2 |
| Pioneer Human Services | 4 | 239 | 1 |
| Kintock Group, The | 4 | 220 | 2 |
| Community Resources for Justice | 4 | 193 | 4 |
| Alston Wilkes Society | 4 | 148 | 1 |
Contract expirations by year
The state law wave
Alongside the federal swings, states have written their own private-prison statutes. This table records the law and its litigation posture only — it never flags a facility as operating against a ban, because on the leading examples the courts have held federal contractors likely preempted. Litigation status verified 2026-07-11, rechecked quarterly.
| State | Statute | Reaches | Litigation status |
|---|---|---|---|
| California · 2019 | AB 32 — Penal Code §5003.1, Title 9.5 (§§9500-9505) | both | Partly enjoined / likely preempted as to federal contractors |
| Illinois · 1990 | Private Correctional Facility Moratorium Act, 730 ILCS 140 | criminal | In force; no controlling injunction identified |
| Illinois · 2019 | Private Detention Facility Moratorium Act, 730 ILCS 141 | civil | In force |
| Washington · 2020 | RCW 72.68.110 (SB 6442) | criminal | In force |
| Washington · 2021 | RCW 70.395.030 (HB 1090) | both | Not enforced against the federal facility by stipulation |
| Nevada · 2019 | AB 183 — NRS ch. 208 | criminal | In force |
| New York | Correction Law §121 | criminal | In force; details unverified |
| New Jersey · 2021 | N.J. Stat. §30:4-8.16 | civil | Unconstitutional as applied to a federal contractor |
Forty-six years of federal custody
BOP's own historical file runs from 24,640 people in FY1980 to 155,270 in FY2025 — a 6.3× arc that peaked at 219,298 in FY2013. The system-wide series ships in full; per-institution history begins with this dataset's first weekly snapshot, since BOP publishes only a current one.
Method & caveats
- Source: the Federal Bureau of Prisons' own keyless JSON feeds (bop.gov statistics), a US government work in the public domain. Rebuilt weekly; each run self-archives BOP's current snapshot so the per-facility series accumulates.
- Population is joined from BOP's weekly popreport feed to its locations feed by facility code; camp and satellite populations are summed into their parent and also reported separately. Row sums are asserted against BOP's published total — a mismatch fails the build.
- Two BOP feeds report slightly different totals because they refresh on different days (153,482 vs 153,131, a 0.229% difference); every figure is stamped with its own as-of date.
- BOP publishes no rated or design capacity anywhere in these feeds. This dataset makes no overcrowding or over-capacity claim — the absence is itself recorded.
- Operators of reentry contracts are named exactly as BOP's feed names them; the operator rollup collapses BOP's spelling variants for display only. No private-prison operator is named, because the federal private-prison population is zero.
- Regenerate:
python3 scripts/build_bop_ledger.py. Every gate fails closed — a banned endpoint, a total mismatch, or a private-facility reappearance stops the build for review.
Machine access
The full dataset — metadata, the reappearance watch, all 133 institutions, 155 reentry contracts, and the FY1980-present series — is one keyless fetch:
import requests
d = requests.get("https://ai-analytics.org/bop/index.json").json()
print(d["meta"]["privateReappearanceWatch"]) # the tripwire
print(len(d["institutions"]), "institutions;", d["meta"]["system"]["bopManaged"], "in custody")Also listed in the Voidly datasets manifest and /data. License: public domain source; this compilation CC0.
Companion custody datasets: the Detention Ledger (who runs ICE's beds) and the 287(g) Wave (who was deputized to fill them) — the BOP Ledger completes the federal-custody picture.