Back to Blog
Privacy
2026-08-10
8 min read

The problem was never the camera

Dev Sanghvi
Founder & CEO, DHI

Cities around Houston are pulling out of their automated license plate reader contracts. DHI's platform includes license plate recognition. So let me start with the uncomfortable part rather than work up to it.

The problem was never the camera. It is what you do with what it sees.

First, the accurate version of the news

The sloppy version of this story is circulating widely, and getting the details wrong makes the argument weaker rather than stronger.

Austin ended its city contract with Flock in June 2025 after resident pushback. It did not ban the technology. KUT reported in February 2026 that while Austin PD no longer has plate reading cameras on city roads, it retains access to cameras maintained by at least two neighbouring agencies, Round Rock and Sunset Valley. The headline on that story is worth quoting: Austin ended its license plate reader program, then the police department found a loophole.

San Marcos let its contract lapse after a council vote deadlocked three to three. Because the city had already issued a non renewal notice, the tie meant expiry rather than a prohibition.

Conroe residents gathered more than a thousand signatures asking for a vote on the city's participation. On 23 July 2026 the council indefinitely tabled both that proposal and a related advisory committee. The contract is unchanged.

Guadalupe County terminated its contract outright, citing public scrutiny.

At the state level, two bills to restrict these systems were filed in the Texas Legislature, one from a Republican member and one from a Democrat. Neither passed.

So: several contracts ended, no ban anywhere in Texas, and at least one documented case of access surviving the contract that supposedly ended it.

The failure was access, not detection

Two Houston area stories matter more than any of the contract news.

A Baytown officer resigned during an investigation into misusing the system. A Pasadena officer was accused in July 2026 of using it to track a colleague.

Read those twice, because that is the actual failure mode, and it has nothing to do with whether a camera can read a plate.

One person. One query. Against a database that reached far beyond the jurisdiction that paid for the hardware.

That is an architecture decision, and it was made long before any officer typed in a plate.

Somebody chose the retention window. Somebody chose that a query from one agency could return results collected by another. Somebody decided the default posture was pooling. None of those were inevitable, and none of them are properties of optical character recognition.

What we chose not to keep

When we designed DHI, the question I kept returning to sounds obvious and is not: what are we choosing not to keep.

Inference runs on a box next to the cameras. Video stays on the site that owns it. What leaves is an event, a small structured record saying that something was detected at a particular camera at a particular time. Not a stream. Not a rolling upload of a facility's operations to somebody else's storage.

The consequence is narrow and specific: the only index any of it can search is the one sitting on that site's own hardware. There is no pooled cross jurisdiction lookup, because there is no pipe that would populate one.

That is not a moral position we adopted. It is a design constraint, and it happened to be cheaper and simpler than the alternative. Not shipping video off site removes a bandwidth bill, a storage bill, a data processing agreement, and an entire category of breach you would otherwise have to explain to somebody.

On face recognition, plainly

DHI does ship face recognition. Pretending otherwise while a prospect can read our own documentation would be worse than useless.

It is one use case among roughly thirty. A deployment enables the ones it needs and leaves the rest unloaded, and that selection is enforced in the platform's use case registry rather than being a promise in a contract. A warehouse running forklift and fall detection never loads the face pipeline at all. Auto enrollment ships disabled by default. The selection is made per site, by the site, and can be changed while the system is running.

We also maintain a separate research path for identity that uses appearance, body geometry from pose keypoints, and gait rather than facial biometrics. That work is real and it is in the codebase, but it is not currently wired into a shipping pipeline, so it would be dishonest to present it as an available product option today.

The point is not that we avoid capabilities people are nervous about. It is that the capability set is a per deployment decision with a technical enforcement point, and the data never pools regardless of which detectors are running.

What Houston should actually take from this

By mid 2024, Houston's then acting police chief said the region had more than 3,800 plate reading cameras, at the time the most of any US metro. Whatever you think about that number, it did not arrive by accident, and it was not a consequence of the technology existing.

Each deployment involved choices that were mostly invisible at procurement time. How long is data retained. Who can query it. Does a query cross a jurisdictional boundary. Is there an audit trail, and does anyone read it. Can a single officer's credentials reach a national index.

You can build a camera system that answers one question and then forgets. It is entirely possible, it is often cheaper, and it survives a public records request comfortably.

Most people just do not, because nobody made them decide.

PrivacyLicense Plate RecognitionSurveillanceData ControlArchitecture