Vacaville Police Department ALPR usage

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.

1:1 Sharing audit

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).

Sharing via Statewide lookup

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.

Organization audit: number of queries

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.

Organization audit: number of agencies and cameras

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).

Organization audit: personnel

The Organization audit list 134 distinct user names.

Network audit: number of queries

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

Network audit: number of agencies and cameras

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.

Top agencies accessing VVPD data

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

API access

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).