October 13, 2025
Table of contents
This report is based on data obtained via California Public Record Act request P000388-100525, for data related to the ALPR system operated by the Vacaville Police Department (hereafter VVPD). It covers the period April 1, 2025 through October 6, 2025.
The Transparency portal.
Under 1:1 Sharing, each agency decides which other agencies can access its data. Agency A can share with agency B without B sharing with A.
VVPD and X allow reciprocal searches: 246 agencies.
VVPD allows searches, but X does not: 23 agencies.
VVPD does not allow searches but X does: 695 agencies, most of them outside California, such as Bessemer City, NC (pop. 5,340).
VVPD participates in Statewide lookup. This allows California agencies to search the VVPD data without any prior agreement on sharing, but limits the searches to full license plates.
62 agencies without 1:1 Sharing have accessed the VVPD data.
Most of the 35,025 queries made by VVPD involve, among others, cameras controlled by the VVPD. 785 queries involve only non-VVPD cameras.
| month | cases | queries |
|---|---|---|
| 2025-04 | 655 | 6,221 |
| 2025-05 | 684 | 7,084 |
| 2025-06 | 626 | 5,540 |
| 2025-07 | 704 | 4,864 |
| 2025-08 | 667 | 4,548 |
| 2025-09 | 669 | 6,096 |
| 2025-10 | 118 | 672 |
That amounts to one query every 8 minute, one case every hour.
The first column is the number of agencies that queried the data, which by construction must be 1 in an organization audit.
The second column is the maximum number of cameras involved in a query. While most agencies operate a relatively small number of cameras, they can search data captured by other agencies.
The next column, “% 0-100” is the percentage of queries that involved less than 100 cameras. Similarly, the following columns are the percentages for 100 to 1k cameras, 1k to 10k cameras and more than 10k cameras respectively.
| month | agencies | max cameras | % 0-100 | % 100-1k | % 1k-10k | % 10k+ |
|---|---|---|---|---|---|---|
| 2025-04 | 1 | 35,164 | 7 | 39 | 0 | 53 |
| 2025-05 | 1 | 35,970 | 6 | 39 | 0 | 54 |
| 2025-06 | 1 | 36,424 | 7 | 40 | 0 | 52 |
| 2025-07 | 1 | 36,859 | 6 | 50 | 0 | 42 |
| 2025-08 | 1 | 38,312 | 7 | 54 | 0 | 37 |
| 2025-09 | 1 | 39,169 | 4 | 40 | 0 | 55 |
| 2025-10 | 1 | 39,273 | 5 | 43 | 0 | 50 |
It seems that Vacaville is really interested in what happens in Bessemer City, NC, since its cameras are so often used. May be Vacaville fears the descendants of Ella May Wiggins).
The Organization audit list 134 distinct user names.
| cases | queries | agencies | |
|---|---|---|---|
| August 16, 2024 | 306,701 | 2,812,700 | 328 |
Over the recent period, that amounts to one query every 5 seconds and one case every minute.
| month | cases | queries |
|---|---|---|
| 2025-04 | 48,324 | 462,776 |
| 2025-05 | 47,382 | 454,140 |
| 2025-06 | 45,561 | 446,225 |
| 2025-07 | 54,268 | 521,329 |
| 2025-08 | 52,091 | 467,176 |
| 2025-09 | 50,689 | 413,092 |
| 2025-10 | 8,386 | 47,962 |
See this previous section for the meaning of the columns.
| month | agencies | max cameras | % 0-100 | % 100-1k | % 1k-10k | % 10k+ |
|---|---|---|---|---|---|---|
| 2025-04 | 294 | 54,006 | 0 | 0 | 14 | 85 |
| 2025-05 | 286 | 56,643 | 0 | 0 | 12 | 87 |
| 2025-06 | 288 | 58,130 | 0 | 0 | 11 | 87 |
| 2025-07 | 295 | 58,945 | 0 | 0 | 11 | 87 |
| 2025-08 | 299 | 62,467 | 0 | 0 | 10 | 89 |
| 2025-09 | 302 | 65,336 | 0 | 0 | 10 | 88 |
| 2025-10 | 270 | 65,476 | 0 | 0 | 10 | 88 |
As we have seen in the previous section, the queries by other agencies dominate. From the point of view of those agencies, VVPD is just one of many agencies, more or less geographically distant. When VVPD’s data is searched, there are probably many other agencies searched as well, and therefore many cameras involved, hence the high proportion of broad searches.
The 25 agencies with the largest number of cases involving VVPD data:
| agency | cases | queries |
|---|---|---|
| California Highway Patrol | 23,170 | 217,038 |
| Riverside County CA SO | 21,467 | 215,220 |
| Los Angeles CA PD | 13,026 | 118,586 |
| San Francisco CA PD | 11,134 | 184,550 |
| Los Angeles County CA SD | 8,751 | 60,078 |
| Orange County SO CA | 8,429 | 126,895 |
| NCRIC | 8,308 | 96,540 |
| San Jose CA PD | 7,558 | 79,247 |
| Irvine CA PD | 6,816 | 44,403 |
| San Bernardino County CA SO | 4,777 | 41,660 |
| Oakland CA PD | 4,681 | 38,190 |
| Alameda County CA SO | 4,513 | 53,103 |
| Vacaville CA PD | 4,102 | 34,239 |
| Sacramento County CA SO | 3,929 | 41,133 |
| Ventura County CA SO | 3,788 | 26,161 |
| Santa Rosa CA PD | 3,509 | 24,993 |
| City of Riverside CA PD | 3,429 | 45,100 |
| Corona CA PD | 3,420 | 31,849 |
| San Mateo CA PD | 3,259 | 25,880 |
| Elk Grove CA PD | 2,829 | 16,889 |
| Fremont CA PD | 2,812 | 39,274 |
| Roseville CA PD | 2,749 | 15,902 |
| Daly City CA PD | 2,697 | 48,124 |
| Placer County CA SO | 2,505 | 18,814 |
| Contra Costa County CA SO | 2,396 | 24,615 |
146 queries have been made by the users “API User (Peregrine)” and “Peregrine API Outbound Integration”. This is apparently some kind of integration with other information systems. California Civil Code section 1798.90.52 states:
If an ALPR operator accesses or provides access to ALPR information, the ALPR operator shall do both of the following:
(a) Maintain a record of that access. At a minimum, the record shall include all of the following:
[...]
(3) The username of the person who accesses the information, and, as applicable, the organization or entity with whom the person is affiliated.
It is unclear whether this should be interpreted as “All accesses must be done by a person and ...”; or “If the access is made by a person, then ...” (but then it would be enough to always access the data using an alternate tool to circumvent the requirement).