October 13, 2025
Table of contents
This report is based on a California Public Record Act request for data related to the ALPR system operated by the Santa Clara County Office of the Sheriff (hereafter SCCOS), and covers the period Mars 1, 2024 through September 15, 2025.
The SCCOS decided to redact the case number and reason from the Organization and Network audits. Consequently, there is not enough data to reconstruct (even approximately) cases and each query is treated as a separate case.
The SCCOS provides public safety services for Los Altos Hills, Saratoga, Cupertino and unincorporated areas of the county.
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.
SCCOS shares its “City of Los Altos Hills CA” network with the “Los Altos Hills - Town” agency. This is the only 1:1 sharing of the SCCOS data.
62 agencies share their data with SCCOS, including 6 agencies outside of California:
| agency |
|---|
| Medford OR PD |
| Nephi PD UT |
| Oxford MS PD |
| Pittsboro IN PD |
| Sarasota FL PD |
| Sumner County TN SO |
In Saratoga, neighborhoods organized as Landscape and Lighting districts can request and pay for the installation of Flock cameras. It seems that in the Flock system, those neighborhoods are treated as agencies, which then share their data with SCCOS. In any case, here is the list of “agencies” that do not have “PD” or “SO” in their name and share their data with SCCOS.
| agency | networks shared |
|---|---|
| 20424 Miljevich Dr (CA) | 20424 Miljevich Dr (CA) |
| Brookside | Brookside - San Jose, CA |
| Farwell Ave Cameras | Farwell Ave, Saratoga (CA),Farwell Avenue @ Fruitvale Ave WB (CA) |
| Gypsy Hill & Crisp Neighborhood (CA) | Gypsy Hill & Crisp Neighborhood (CA) |
| Hayfield Estates (CA) | Hayfield Estates (CA) |
| Holiday Lake Estates (CA) | Holiday Lake Estates (CA) |
| Horseshoe Neighborhood (CA) | Horseshoe Neighborhood (CA) |
| Montauk Park Civic Improvement Association (CA) | Montauk Park Civic Improvement Association (CA) |
| Parker Ranch (CA) | Parker Ranch (CA) |
| Prometheus Real Estate Group (CA) | The Dean - Prometheus (CA) |
| Saratoga Retirement Community (CA) | Saratoga Retirement Community (CA) |
| Saratoga Woods | Saratoga Woods |
| Sobey Road (CA) | Sobey Road (CA) |
| Vessing Neighborhood | Vessing Road - Saratoga (CA) |
| Vista De Almaden Neighborhood (CA) | Vista De Almaden Neighborhood HOA San Jose (CA) |
| West Valley Mission College Dist Campus (CA) | West Valley Mission College Dist Campus (CA) |
Since October 22, 2024, SCCOS does not share its data with any other agency, in California or not (except for the Los Altos Hills cameras with the Town of Los Altos Hills). Prior to that date, 155 agencies accessed data (either by 1:1 sharing or Statewide lookup). The 25 agencies with the largest number of cases:
| agency | cases | queries |
|---|---|---|
| Riverside County CA SO | 115,138 | 115,138 |
| San Francisco CA PD | 57,504 | 57,504 |
| Los Angeles CA PD | 47,911 | 47,911 |
| NCRIC | 43,093 | 43,093 |
| Orange County SO CA | 40,426 | 40,426 |
| California Highway Patrol | 27,049 | 27,049 |
| San Jose CA PD | 25,003 | 25,003 |
| Los Angeles County CA SD | 24,594 | 24,594 |
| Ontario CA PD | 21,326 | 21,326 |
| Fremont CA PD | 21,006 | 21,006 |
| Alameda County CA SO | 17,153 | 17,153 |
| Daly City CA PD | 14,056 | 14,056 |
| San Bernardino County CA SO | 13,793 | 13,793 |
| Santa Clara CA PD | 12,449 | 12,449 |
| Contra Costa County CA SO | 10,831 | 10,831 |
| Napa County CA SO | 10,743 | 10,743 |
| Vacaville CA PD | 10,410 | 10,410 |
| Santa Clara County CA SO | 10,321 | 10,321 |
| San Diego CA PD | 9,445 | 9,445 |
| Irvine CA PD | 8,875 | 8,875 |
| Santa Rosa CA PD | 8,830 | 8,830 |
| San Leandro CA PD | 8,777 | 8,777 |
| San Bruno CA PD | 8,024 | 8,024 |
| CA - Chino PD | 7,817 | 7,817 |
| Fairfield CA PD | 7,653 | 7,653 |
Most of the 11,231 queries made by SCCOS involve, among others, cameras controlled by the SCCOS. 911 queries involve only non-SCCOS cameras.
| month | cases | queries |
|---|---|---|
| 2024-03 | 288 | 288 |
| 2024-04 | 501 | 501 |
| 2024-05 | 342 | 342 |
| 2024-06 | 241 | 241 |
| 2024-07 | 207 | 207 |
| 2024-08 | 626 | 626 |
| 2024-09 | 394 | 394 |
| 2024-10 | 367 | 367 |
| 2024-11 | 273 | 273 |
| 2024-12 | 581 | 581 |
| 2025-01 | 368 | 368 |
| 2025-02 | 579 | 579 |
| 2025-03 | 700 | 700 |
| 2025-04 | 374 | 374 |
| 2025-05 | 848 | 848 |
| 2025-06 | 1,558 | 1,558 |
| 2025-07 | 1,509 | 1,509 |
| 2025-08 | 1,167 | 1,167 |
| 2025-09 | 308 | 308 |
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+ |
|---|---|---|---|---|---|---|
| 2024-03 | 1 | 83 | 100 | 0 | 0 | 0 |
| 2024-04 | 1 | 144 | 76 | 23 | 0 | 0 |
| 2024-05 | 1 | 196 | 22 | 77 | 0 | 0 |
| 2024-06 | 1 | 198 | 75 | 25 | 0 | 0 |
| 2024-07 | 1 | 0 | 0 | 0 | 0 | |
| 2024-08 | 1 | 0 | 0 | 0 | 0 | |
| 2024-09 | 1 | 0 | 0 | 0 | 0 | |
| 2024-10 | 1 | 0 | 0 | 0 | 0 | |
| 2024-11 | 1 | 0 | 0 | 0 | 0 | |
| 2024-12 | 1 | 0 | 0 | 0 | 0 | |
| 2025-01 | 1 | 0 | 0 | 0 | 0 | |
| 2025-02 | 1 | 0 | 0 | 0 | 0 | |
| 2025-03 | 1 | 0 | 0 | 0 | 0 | |
| 2025-04 | 1 | 0 | 0 | 0 | 0 | |
| 2025-05 | 1 | 0 | 0 | 0 | 0 | |
| 2025-06 | 1 | 1,900 | 11 | 18 | 69 | 0 |
| 2025-07 | 1 | 2,699 | 25 | 32 | 42 | 0 |
| 2025-08 | 1 | 2,740 | 31 | 37 | 30 | 0 |
| 2025-09 | 1 | 1,945 | 30 | 43 | 26 | 0 |
SCCOS redacted out the number of cameras for the period June 1 2024 to June 23 2025.
We can see the number of cameras growing, presumably as more agencies share their data with SCCOS.
The SCCOS elected to redact the user names from some of the Organization queries, leaving 107 distinct user names.
In addition to the situation over the whole audited period, we also look at the last period, when sharing stopped:
| since | cases | queries | agencies |
|---|---|---|---|
| March 1, 2024 | 868,184 | 868,184 | 156 |
| October 22, 2024 | 7,735 | 7,735 | 1 |
Over the recent period, that amounts to one query every hour.
| month | cases | queries |
|---|---|---|
| 2024-03 | 4,813 | 4,813 |
| 2024-04 | 620 | 620 |
| 2024-05 | 17,623 | 17,623 |
| 2024-06 | 92,074 | 92,074 |
| 2024-07 | 139,021 | 139,021 |
| 2024-08 | 208,792 | 208,792 |
| 2024-09 | 227,233 | 227,233 |
| 2024-10 | 170,334 | 170,334 |
| 2024-11 | 267 | 267 |
| 2024-12 | 575 | 575 |
| 2025-01 | 179 | 179 |
| 2025-02 | 545 | 545 |
| 2025-03 | 691 | 691 |
| 2025-04 | 306 | 306 |
| 2025-05 | 843 | 843 |
| 2025-06 | 1,486 | 1,486 |
| 2025-07 | 1,436 | 1,436 |
| 2025-08 | 1,105 | 1,105 |
| 2025-09 | 241 | 241 |
See this previous section for the meaning of the columns.
| month | agencies | max cameras | % 0-100 | % 100-1k | % 1k-10k | % 10k+ |
|---|---|---|---|---|---|---|
| 2024-03 | 9 | 9,383 | 5 | 19 | 74 | 0 |
| 2024-04 | 2 | 6,141 | 58 | 24 | 17 | 0 |
| 2024-05 | 43 | 27,842 | 0 | 27 | 58 | 13 |
| 2024-06 | 85 | 28,819 | 0 | 28 | 44 | 26 |
| 2024-07 | 118 | 30,882 | 2 | 40 | 38 | 19 |
| 2024-08 | 130 | 31,341 | 7 | 83 | 8 | 0 |
| 2024-09 | 145 | 25,562 | 6 | 87 | 6 | 0 |
| 2024-10 | 149 | 26,111 | 5 | 88 | 6 | 0 |
| 2024-11 | 1 | 52 | 100 | 0 | 0 | 0 |
| 2024-12 | 1 | 1,547 | 75 | 0 | 24 | 0 |
| 2025-01 | 1 | 94 | 100 | 0 | 0 | 0 |
| 2025-02 | 1 | 1,610 | 46 | 2 | 51 | 0 |
| 2025-03 | 1 | 1,682 | 57 | 0 | 42 | 0 |
| 2025-04 | 1 | 1,784 | 56 | 5 | 37 | 0 |
| 2025-05 | 1 | 1,860 | 47 | 0 | 51 | 0 |
| 2025-06 | 1 | 1,900 | 21 | 25 | 52 | 0 |
| 2025-07 | 1 | 2,699 | 25 | 31 | 43 | 0 |
| 2025-08 | 1 | 2,740 | 32 | 35 | 32 | 0 |
| 2025-09 | 1 | 1,945 | 36 | 30 | 33 | 0 |
179 queries have been made by the user “API User (Peregrine)”. 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).