ICE is spending millions of dollars on iris scanners, expanding its arsenal of tech tools



An Immigration and Customs Enforcement (ICE) agent uses facial recognition software to confirm an asylum seeker's identity prior to an immigration hearing on July 30, 2025, in New York. In addition, DHS is expanding its use of iris scanners to help quickly identify undocumented immigrants.

An Immigration and Customs Enforcement (ICE) agent uses facial recognition software to confirm an asylum seeker's identity prior to an immigration hearing on July 30, 2025, in New York. In addition, DHS is expanding its use of iris scanners to help quickly identify undocumented immigrants.
A federal immigration agent uses facial recognition software to confirm an asylum seeker's identity prior to an immigration hearing on July 30, 2025, in New York. In addition, DHS is expanding its use of iris scanners to help quickly identify undocumented immigrants.
Olga Fedorova | AP

The Department of Homeland Security is expanding its capacity to scan irises as part of its mass deportation efforts, a move that has raised concerns among privacy experts that the agency, flush with an influx of funding, is gathering biometric data from people it detains.

The agency awarded a $25 million no-bid contract last week to BI2 Technologies, a company that specializes in iris scanning. The new contract is more than five times the amount of the company's last DHS contract, awarded last fall. NPR reached out to BI2 multiple times regarding its work with ICE, but did not hear back.

As part of its proposal to the company, DHS requested more than 1,500 iris scanners, as well as access to the company's mobile app, including a database where iris scans are stored. Irises contain intricate patterns that are unique to each person, similar to a fingerprint.

DHS declined an interview, but told NPR in a statement that ICE officers use iris recognition technology "to assist in accurately identifying individuals encountered during immigration enforcement and removal operations, including confirming identities and backgrounds of individuals who may be subject to enforcement actions."

That may include people like Norelly Mejías Cáceres. One night last fall, she was with her husband and first grade son in her Chicago apartment when a Black Hawk helicopter filled with federal immigration officers descended on the building.

"We were in our room. We were sleeping. When they knocked on the door, they were pointing guns at us and they ordered us to leave," Mejías told NPR, speaking through an interpreter provided by the University of Chicago Immigrants' Rights Clinic, which is representing Mejías in a complaint against the federal government.

Mejías fainted during the raid. When she came to, officers pointed a smartphone at her face to take her photo, she says. She had been crying and her eyes were swollen.

"They asked me to open my eyes wide for the photo, so I did. I opened my eyes wide for the camera," she said.

The officers were then able to identify her. Mejías, who had a pending asylum case, was detained and eventually deported. She is now living in Venezuela with her family.

Nicole Hallett, a law professor at the University of Chicago and director of the Immigrants' Rights Clinic, believes the officers wanted more than just an image of Mejías' face: She thinks they wanted a photo of her irises.

"There were other people who were arrested during this raid who reported having a photo taken of them and then having details about them known to the officers. Norelly is the one that we were most certain was an iris scan because of the detail about how she needed to open her eyes," Hallett said.

Sheriffs have used the technology for decades. A video on BI2's YouTube channel says it was created 20 years ago. During the first Trump administration, the company donated iris scanners to sheriffs in the Southwestern Border Sheriffs' Coalition, a group of sheriffs serving counties along the U.S.-Mexico border.

Justin Smith, executive director of the National Sheriffs Association, says he used BI2 iris scanners in his jail for booking when he was the sheriff in Larimer County, Colo. He described it as a camera device mounted on a pole that detainees looked into when they arrived at the jail. The captured image then went into a database.

Smith says his deputies also used BI2's smartphone app in the field to identify people. He says it was particularly useful when officers were looking for someone specific, but who did not have identification. The only option in that scenario to identify the person, he says, would be to take them into custody to do fingerprints, which takes time. He says he can see how identifying someone quickly could be helpful in targeted immigration enforcement.

"They're trying to quickly identify within a large group, 'who do we have here?'" Smith said. " It allows them to clear up people: 'Hey, we know who this person is. This is not the person you're looking for.'"

But, Smith says, any technology that can access someone's private information has the potential to be abused, and the question of how law enforcement should use a certain tool depends on acknowledging that.

"I would say it's a balance test. It's not a black and white, always this, never that," Smith says. "It's a matter of: How is it used?"

In the case of the Chicago apartment raid for instance, Hallett says, "The only way they were able to identify people was to illegally arrest them and then use this technology in order to identify them."

"This is troubling because we really want law enforcement to be targeting particular people about which it has particular information," Hallett added. "And here the government knew nothing before they pointed the device at our client and were able to call up her information from the databases."

Hallett is not the only person who doesn't trust ICE to use its technology appropriately against protesters and undocumented immigrants, in particular.

"This agency has already proven themselves to be a very rogue agency," says Cooper Quintin, a senior staff technologist with the Electronic Frontier Foundation, a nonprofit that advocates for digital privacy. "Could ICE start doing iris scannings of everybody they detain and then add that to their database and use that for further surveillance? Yeah, absolutely."

There is some precedent for that concern. NPR has documented multiple cases of federal immigration officers taking another type of biometric data, DNA samples, from people they arrested, including legal observers and protesters who said they were peacefully exercising their first amendment rights.

Marianna Poyares, a researcher at the Center on Privacy and Technology at Georgetown Law, says there are cases where biometrics are used simply for identification, such as when someone passes through airport security.

But, she says, the implications change when sensitive information is stored alongside other sensitive information. She says there are a lot of unanswered questions.

"What else is being collected?" Poyares said. "Is there any kind of oversight as to who is overseeing these databases? What kind of data is being combined and aggregated and for what use?"

In its statement, DHS told NPR that it is using "every tool available" in its efforts to find, detain and deport undocumented immigrants. And as its budget surged in the last year, the agency has collected a lot of tools to do so – facial recognition technology, license plate readers and location trackers, among others.

Copyright 2026, NPR



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


Python List Length – Table of Content

What is a list in python?

A list is a data structure that contains an ordered sequence of elements.It is a mutable or changeable object. The values in the list are called items.The values can be of different types.We can gather related set of values together that belong to a group and store them in a list. It enables us to perform any operation on all the data present in a list at once.The items should be enclosed in square brackets and separated by a comma (,). We can create a list with a combination of numbers and string characters. A list can be defined in the following ways.

ListA = [1, 2, 3, 4];

ListB = ['Hi', 'Hello'];

ListC = ["Hi", "Hello"];

   Become a python Certified professional  by learning this HKR Python Training !

Find the length of a list

The length of a list in python can be found through two methods. 

Len() Method

It is a built-in function provided by python for getting the total number of items in a list, array, dictionary, etc. It takes the name of the list as an argument and returns the length of the given list. The len() method is the most commonly used method in python for finding the length of a list. Here is the syntax of the length method.

len()

is the name of the list 

Let’s look at an example program.

ListA = [1, 2, 3, 4, "Hello", "World"]

print ("Number of items in the list = ", len(ListA))

The output will be as follows. 

Number of items in the list =  6

We can also give the list directly as an argument to the len() method.

Length = len([1, 2, 3, 4, "Hello", "World"]);
print("Number of items in the list = ", Length);

The output will be as follows. 

Number of items in the list =  6

Length_hint() method

This method is not much known to programmers. It takes in a list or list name as an input argument and returns the number of items in the list. Here is a sample program that shows the use of the length_hint() method.

from operator import length_hint 

ListA = [1, 2, 3, 4, "Hello", "World"]

print ("Number of items in the list = ", length_hint(ListA))

The output for the above program is as follows.

Number of items in the list =  6

Naive Method

Apart from the len() method, there is another way to find the length of a list in Python. The naive approach is one of the most common methods when there is no alternative. It allows you to run the loop and count the items. Let us see its implementation :-

ListA = [1, 2, 3, 4, "Hello", "World"];

print("Input List = ", str(ListA));

count = 0;

for i in ListA:

count = count + 1

print("Number of items in the list = ", count);

The output for the above program will be as follows.

Input List =  [1, 2, 3, 4, 'Hello', 'World']

Number of items in the list =  6

This is the most basic method for finding the length of a list. But the len() method is always preferable to use.

Acquire Keras certification by enrolling in the HKR Keras Training program in Hyderabad!

Python Training Certification

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

Performance analysis of the three methods

Before choosing a method, we can do performance analysis and choose based on that. Let’s take a sample program that calculates the time taken to run each method. 

from operator import length_hint 

import time 

ListA = [1, 2, 3, 4, "Hello", "World"];

print("Input List = ", str(ListA));

#Navie method

naive_start = time.time() 

count = 0

for i in ListA: 

    count = count + 1

naive_end = str(time.time() - naive_start) 

print ("Time taken using naive method = ", naive_end) 

# len() method

len_start = time.time() 

list_len = len(ListA) 

len_end = str(time.time() - len_start) 

print ("Time taken using len() method = ", len_end)

# length_hint() method

hint_start = time.time() 

list_len_hint = length_hint(ListA) 

hint_end = str(time.time() - hint_start) 

print ("Time taken using length_hint() method = ", hint_end)

 

The output for the above program will be as follows.

Input List =  [1, 2, 3, 4, 'Hello', 'World']

Time taken using naive method =  4.76837158203125e-07

Time taken using len() method =  1.6689300537109375e-06

Time taken using length_hint() method =  9.5367431640625e-07

We can see that the len() method has taken less time than the other methods.

Big Data Analytics, python-list-length-description-0, Big Data Analytics, python-list-length-description-1

Subscribe to our YouTube channel to get new updates..!

Using length method in a loop

The len() method not only returns the length of the list, but it can also return the length of each string in the list. We can loop through the list, apply the len() method on them to get the number of characters of an item specified within the list. We can only apply it on the string items given in the list. Let’s see how we can do that.

ListA = ["Hello", "World", "Welcome", 3, 4]

print ("Number of items in the list = ", len(ListA))

for i in ListA:

print("Length of item = ", len(i))

   Top 50 frequently asked Python interview Question and answers !

The output for the above program will be as follows. 

Number of items in the list =  5

Length of item =  5

Length of item =  5

Length of item =  7

As you can see here, it only returned the length of only string items.

Checking whether a list is empty or not

We can check if a list is empty or not in our python program using the len() method. Based on the return value of the len() method, we can specify a set of actions to be performed. Let’s take a look at a sample program of it. 

ListA = ["Hello", "World", "Welcome", 3, 4]

ListB = []

print ("Number of items in ListA = ", len(ListA))

print ("Number of items in ListB = ", len(ListB))

if len(ListA) == 0:

print("The ListA is empty")

else:

print("The ListA is not empty")

if len(ListB) == 0:

print("The ListB is empty")

else:

print("The ListB is not empty")

The output for the above program will be as follows.

Number of items in ListA =  5

Number of items in ListB =  0

The ListA is not empty

The ListB is empty

Python Training Certification

Weekday / Weekend Batches

Conclusion

The len() is the method used by all the programmers today.Now that you know the utility of the len() method, you can use it in various ways, as explained in this post. Start experimenting with finding the length of a list in your code. For more information on python,refer to the python tutorials and blogs on our website.

Related Articles:

1. Python Partial Functions

2. Python Split Method

3. Python Generators

4. Enumerate ( ) in python 

5.Python for DevOps



Source link