October 13, 2025
Table of contents
ALPR stands for Automated License Plate Reader. The name is a misnomer: those systems are first and foremost cameras triggered by cars passing by. The license plate is only one of the elements extracted from the images. Indeed, the City of Saratoga ALPR policy states (section III):
The ALPR system shall collect the date and time that the license plate passes a digital-image site where an ALPR is located together with a captured vehicle’s geographical location and vehicle details (make, model, type, and color).
As Flock Safety writes, “No Plate? No Problem. Capture more detail with Vehicle Fingerprint® and Flock FreeForm™. Turn images into actionable evidence — no plate required.”
Flock devices, which are presumably cameras, are grouped in networks. For example, the Los Altos Police Department controls the “Los Altos CA PD” network of 12 cameras. The Los Angeles County Sheriff Department controls two networks, “City of Paramount CA (LASD)” and “City of La Canada-Flintridge CA (LASD)”.
In addition to cameras controlled by public agencies, there are Flock cameras controlled by private parties. Those parties can share their data with public agencies. The audit data may not reveal how many such cameras exist, how many are shared, etc.
Agencies (police departments, county sheriffs, etc) own the data generate from the cameras they installed, and can share it with other agencies, via three mechanisms:
Queries enabled via Statewide and National Lookup sharing are sometime referred to as “network searches” (unrelated to “camera networks”).
Queries on the data accumulated by ALPRs are logged for auditing purposes. Through California Public Records Act requests, one can potentially obtain those records for an agency. A typical request can seek three elements:
The audit data for the queries includes: the name of the person running the query, the agency they belong to, the time of the search, the purpose of the search via a case number and a reason, the license plate of interest, the time range of interest, the number of networks searched, the number of cameras searched. However, when an agency provide its audit data in response to a Public Record request, it can redact out any element.
The logs contain individual queries. It is common to find multiple successive queries from the same agency, for the same reason and case number; presumably, those queries are related to a single “case”. However, because the reason and case number are often missing or vague, there are matching queries which are obviously from different cases (e.g. more than 30 days apart, and therefore the evidence for the first case has been purged). Therefore, there is no perfect way to group queries in cases. We use this rule: given a first query for a certain agency, reason, case number, where at least one of the reason and case number is not empty, those with the same triplet within 10 days of that first query are deemed to form a case; the next query with the same triplet starts a new case. When appropriate, I summarized both the queries and the cases.
The audit logs of queries typically include the number of devices and networks involved in a query. It seems that there was a problem with Flock between December 17, 2024 and February 5, 2025: during that period, most queries report that 0 devices were involved; furthermore, that happens with the logs collected from multiple agencies.
Flock provides Transparency Portals, such as the one for Los Altos.
The section External organizations with access lists only the agencies that have access under 1:1 Sharing, but not those which have access under National Lookup or under Statewide Lookup.
The section Searches in the last 30 days counts only the searches by the agency itself, and does not count those made on the agency data by other agencies.