Uber has been using a secret program to prevent undercover regulators from shutting down the taxi-hailing service in cities around the world.
The software, called Greyball, was developed to help protect the company from "violations of terms of service".
But data collected through Uber's phone app was also used to identify officials monitoring its drivers.
Uber has acknowledged that Greyball has been used in multiple countries, the New York Times reports.
The tool has enabled the company to monitor users' habits.
But it also identified regulators posing as ordinary passengers while investigating whether Uber was breaking local laws governing taxis.
The software works by collecting geolocation data and credit card information to determine whether the user is linked to an institution or law enforcement authority.
A "fake" version of the app would then allow those individuals suspected of attempting to entrap drivers to hail a cab, only to have their booking cancelled.