I sat down with Andrew Thrasher today on Substack Live to dig into his work to make ICE’s 287(g) data more accessible to the public. As Andrew mentioned in his recent post, this data is deceptively messy—and working with it to turn it into something validated, visualized, and useful is much harder than it looks. Believe me, I know. I’ve worked with this data source for years and presented on the messiness of this data in the pre-Trump era.
In our conversation, Andrew and I discuss the various problems with this data source and what you might totally miss if you simply go to the 287(g) webpage and download a single spreadsheet. Our discussion today is part of what I’m calling my “show your work” series, where we talk about how the work of immigration data analysis actually gets done.
Andrew Thrasher brings a unique and valuable background at the intersection of immigration law (a non-lawyer, like myself), technology, and public-impact data science. He runs Maxwell Commons, a data-driven look at the U.S. immigration system through the lens of the professionals, businesses, and technology involved. I encourage you to check out his work over there.
I’ll provide some context to our conversation today, but you can just as easily listen or watch to our discussion above for everything you need to know.
What is the 287(g) program?
For those who are new to it, 287(g) refers to a section of the Immigration and Nationality Act that allows ICE to delegate immigration enforcement authority to state and local law enforcement agencies.
In practice, this means local sheriffs and police departments can be deputized to do the work of federal immigration agents checking immigration status, issuing detainers, and in some cases making civil immigration arrests. The program has expanded dramatically under the current administration and is now one of the primary mechanisms through which immigration enforcement reaches into communities that would otherwise have limited ICE presence.
The data that comes out of this program—including who’s being detained, through which jurisdictions, under what legal authority—is supposed to be publicly available. And technically, it is. But as Andrew laid out, “publicly available” and “usable” are two very different things.
Andrew walked through several layers of problems that anyone working with 287(g) data will eventually run into. There are lots of artifacts such as misspellings and formatting that have to be cleaned up. There are jurisdiction-level inconsistencies where the same agency shows up under different names or identifiers across different datasets. And when 287(g) agreements are terminated, they disappear quietly with no story about what happened.
One thing Andrew emphasized is that the messiness isn’t random. Some of it reflects genuine administrative disorganization, but some of it reflects the way these programs are structured to limit accountability. When data is hard to use, it becomes harder to scrutinize.
Despite the limitations, Andrew has found ways to make this data work. He’s developed methodologies for cleaning and standardizing the records in ways that allow for more reliable analysis, and he shared some of what he’s found.
He’s also built an interactive dashboard tracking active 287(g) agreements that you can explore yourself; it’s one of the clearest tools available for seeing the geographic reach of this program in real time. The geographic distribution of 287(g) participation has shifted in ways that track with political changes at the state and county level. The scale of enforcement activity flowing through these agreements is larger than most people realize, and it’s growing. And the detention-to-removal pipeline that runs through 287(g) jurisdictions raises serious due process questions that aren’t getting nearly enough attention.
The 287(g) program is one of the primary infrastructure pieces of the administration’s mass enforcement agenda. Understanding how it works and being able to track it empirically is essential for advocates, journalists, researchers, and communities trying to understand what’s happening and why.
The full recording of our conversation is available above. Thanks to everyone who joined us live and asked such sharp questions. This kind of direct engagement is what makes these conversations worth having. To read more about my own work on 287(g), visit the 287(g) section of my newsletter, and especially check out my conversation with Jessica Pishko, who literally wrote the book on sheriffs. Read Andrew’s write-up “Counting to 1,414 Is Harder Than It Seems” below:
The 287(g) program continues its record growth: there are now 1,414 active agreements between ICE and local law enforcement agencies nationwide. 1,280 of these agreements have been signed since January 20, 2025. 264 were signed in the past 3 months…