The New York Times today reports new information about how Uber helped its drivers dodge code inspectors and regulators in Portland and cities around the world: using software called "Greyball."

The software, described to the Times by current and former Uber employees, populated the ride-sharing app with images of fake cars designed to trick inspectors at a time when Uber was operating in Portland without city approval.

As Times reporter Mike Isaac writes:

Uber’s use of Greyball was recorded on video in late 2014, when Erich England, a code enforcement inspector for Portland, Ore., tried to catch an Uber car downtown as part of a sting operation against the company.

At the time, Uber had just started its ride-hailing service in Portland without seeking permission from the city, which later declared the service illegal. To build a case against the company, officers like Mr. England posed as riders, opening the Uber app to hail a car and watching as the miniature vehicles on the screen wound their way toward him.

But unknown to Mr. England and other authorities, some of the digital cars they saw in their Uber apps were never there at all. The Uber drivers they were able to hail also quickly canceled. That was because Uber had tagged Mr. England and his colleagues — essentially Greyballing them as city officials — based on data collected from its app and through other techniques. Uber then served up a fake version of its app that was populated with ghost cars, to evade capture.

The Greyball "ghost cars" were part of what the Times portrays as a systemic campaign by Uber to avoid law enforcement.

When a tagged officer called a car, Uber could scramble a set of ghost cars inside a fake version of the app for that person, or show no cars available at all. If a driver accidentally picked up an officer, Uber occasionally called the driver with instructions to end the ride.

The Portland City Council eventually relented and legalized Uber following a covert lobbying campaign that violated city regulations.