You are already in the murder investigation
Flock license plate readers answer queries by reference, never by purpose; the promise that footage serves only serious crime lives in policy, not the system.
A Flock Safety camera does not watch for crime. It photographs every vehicle that enters its field of view and converts each one into a record: plate number, make, model, color, a set of distinguishing marks, a timestamp, and a fixed geographic coordinate. It does this for the car belonging to a murder suspect and for the car belonging to an ordinary driver on the way home from a night shift, with no difference in treatment. The camera is not an investigator. It is an indexing mechanism that turns physical movement into queryable rows.
The public description of these systems is built around outcome. Flock markets its automated license plate readers as tools for recovering stolen vehicles, locating missing persons, and solving violent crime. That description is accurate about intent and silent about mechanism. The mechanism does not know what a horrible crime is. It captures, it stores, and it answers questions posed against what it stored. The severity of the offense under investigation is not an input the system evaluates. It is a sentence in a policy document that sits outside the machine.
What Flock actually operates is a distributed memory of vehicle movement, shared across thousands of law enforcement agencies through a common search interface. A record captured by a camera in one jurisdiction can be queried by an agency in another. Retention runs on a default measured in weeks, 30 days in Flock’s standard configuration, and the search surface spans the network rather than the single town that installed the device. The function is not prevention. The function is recall. Everything else is the story told around the recall.
The design rests on a trust model in which purpose is assumed to constrain use. The camera is deployed under a stated justification, serious crime, and the assumption is that this justification travels with the data and limits what the data can later be used for. Trust is granted once, at the moment of deployment, to a category of use. The system treats that grant as persistent, as if the reason for collection were welded to every record it produces.
The assumption was also that the boundary is a property of the system rather than a promise layered on top of it. When the footage is described as something that will only be used to investigate murder or comparable offenses, the claim implies that the restriction lives somewhere enforceable inside the architecture. In practice the restriction lives in a memorandum, a configuration setting, an agreement between agencies. The stored record carries no marker of the purpose under which it was captured. A plate read collected to find a killer and a plate read collected for any other reason are byte-for-byte the same row. The distinction that the marketing depends on does not exist in the data.
The third assumption is transferability without dilution. Because the Flock network shares access across jurisdictions, trust extended to one agency for one purpose becomes trust available to every connected agency for whatever purpose its local rules permit. The system assumes that every hand it passes through will honor the original scope. It has no way to bind that scope to the data itself. Trust was delegated to the operators. It was never enforced by the machine, because the machine was never built to hold the constraint in the first place.
Nothing changed about the camera. The optics, the plate-recognition model, the retention window, the search interface, all of it behaved on the day the footage was used to investigate a woman getting an abortion exactly as it behaved the day it was sold to catch a murderer. The capability did not expand. No new feature was added. What changed was the validity of the assumption that purpose would constrain use.
The system never re-evaluated the trust it was granted. It inherited it. The justification offered at deployment, violent crime, was resolved once into a general grant of access to stored movement records, and that grant kept paying out against every subsequent query regardless of what the query was for. When an agency searched the Flock network for a specific vehicle in connection with a reproductive decision, the system did not detect a category change, and it was not designed to. It matched a plate against its index and returned the movement history, because that is the operation it performs for any plate. The abortion query and the murder query are the same call against the same store.
That assumption no longer holds, and in a strict sense it never held. The constraint that footage would only serve the investigation of horrible crimes was never encoded where it would have to be encoded to be real: on the record, at the point of query, inside the operation that decides whether to answer. It lived in language. The moment the surrounding purpose shifted, a different query, a different offense, a different jurisdiction reading its own authority, the data was already collected, already retained, already searchable, and already indifferent to the reason for the search. The scope did not widen. The scope was never in the system to begin with.
The search interface performs one operation. It receives a reference, a plate number, a make and color, a time window bracketing a geographic point, and it returns every stored record that matches. The purpose of the request is not a field in that operation. There is no parameter where an agency declares which offense it is investigating, and no value the system compares against the justification under which the camera was installed. A request to find a homicide suspect and a request to trace a woman’s movements toward a clinic arrive at the interface in the same shape and are answered by the same procedure. What the system confirms is that the account making the request belongs to the Flock network. What it does not confirm is why the request is being made.
This is where reference took the place of validation. The credential of the requesting agency, its membership in the network, became the whole of the check. Once an account exists and is authenticated, its queries resolve, and the record returned is identical in form and completeness regardless of the reason behind it. The legitimacy of the query collapsed into the legitimacy of the querier. Identity of the source stood in for integrity of the purpose. The system can establish that a valid account asked a well-formed question against its index. It holds nothing that establishes the question falls within the scope that justified building the index, because that scope was never written onto the records or into the operation that reads them. A plate read remains a plate read. The reason for reading it left no trace to check against.
Nothing about the abortion investigation was a bypass. No control was defeated, because no control of that kind was ever present in the path. The camera captured plates as it always captures plates. The network retained them across its default 30-day window as it retains everything. The interface accepted a well-formed query from an authenticated account and returned the movement history it was built to return. Every component performed its documented function. The gap, if the word applies, is that the documented function and the marketed constraint were never the same thing. The automated license plate reader did exactly what an automated license plate reader does. The claim that it would only serve the investigation of horrible crimes described a restraint the system was never asked to execute.
The pattern underneath this is execution based on reference rather than verification. A system holds a store of records and exposes an operation that answers a query by matching it against the store. The operation resolves the reference. It does not evaluate the reason. Once that shape exists, the intended use and the unintended use are indistinguishable at the point of execution, because the thing that would distinguish them, purpose and authority and scope, was never one of the inputs the operation reads. The constraint lives in policy, in an interagency memorandum, in the sentence a vendor says on a sales call. The execution lives in the match. Policy and execution sit in different layers, and only one of them runs when a plate is queried.
The same mechanism runs in the Domain Name System. A recursive resolver, following RFC 1035, receives a name and returns the associated address. It resolves the reference. It does not verify why the name is being looked up or what will be done with the answer. A request that precedes a legitimate connection and a request that precedes an attack on the resolved host are the same query, answered the same way, because intent is not a field in a DNS lookup. The protocol was built to map names to addresses, and it performs that mapping for every caller with equal indifference. Anyone who assumed DNS would decline to resolve a name held for a bad purpose misread what the system does. It resolves references. That is the entire contract.
Flock and DNS are not alike because both involve lookups. They are the same because both answer by reference and neither verifies purpose, and in both the human expectation of restraint was placed on a layer with no capacity to hold it. A store joined to a query interface is a machine for recall, and recall is purpose-blind by construction. When the value of an answer depends entirely on who is asking and why, and neither of those is an input, the system hands the same answer to every caller. The scope that was supposed to matter was attached to the wrong layer, and the operation beneath it kept resolving references as though the scope had never been spoken.
The system resolves purpose once, at installation, and never again at the query. The control exists. The outcome does not.
Keep Reading
systems failure analysisThe browser runs whatever the host returns
A browser tab holding 2 GB is not a malfunction; it is a trust model that resolves references and never revalidates the referent behind the name.
systems failure analysisThe rubric graded an empty chair
Brown's AI cheating scandal is not a student failure. It is an assessment system that resolves trust by reference and never revalidates the reality behind it.
software supply chainNobody checked what came back
The idTech build did not fail. It resolved a version reference exactly as designed, treating a source's identity as proof of its content's integrity.
Stay in the loop
New writing delivered when it's ready. No schedule, no spam.