home / mytown-research

surveillance_spending

A DISCOVERY INDEX of surveillance and police-technology dollar figures found in local government meeting records across 130+ named vendors — NOT a table of confirmed spending, and NOT safe to SUM. An audit on 2026-07-29 found aggregate views were adding amounts that must not be added: the same procurement recurs at committee, council, approval, amendment and renewal stages; "not to exceed" figures are authorization ceilings, not payments. Use the canned query "the CONSERVATIVE total" for any number you intend to publish, and "data-quality report" to see what is flagged. Columns added for this: `amount_type` (stated / ceiling / proposed / recommended / estimated), `dup_rank` (>1 = redundant copy), `geo_suspect` (city disagrees with the source link), `anomaly` (implausible figure), `state_norm` (normalized state). Vendors covered include ALPR (Flock, Vigilant, Genetec), body cameras/tasers (Axon, WatchGuard, Utility, Getac), gunshot detection (ShotSpotter/SoundThinking), face recognition (Clearview AI, DataWorks Plus), fingerprint biometrics (Idemia AFIS/Livescan, filed separately under `sv:biometrics`), data fusion and OSINT (Fusus, Peregrine, LexisNexis Accurint, Thomson Reuters CLEAR), phone forensics (Cellebrite, GrayKey, Magnet), drones (Skydio, BRINC, DJI), cameras/VMS (Verkada, Avigilon), cell-site simulators, CAD/RMS records systems, photo enforcement, jail-call and student monitoring. Every row carries a VERBATIM quote from the minutes and a link to the source document, and a row only publishes if that quote was found character-for-character in the source text. READ THE `ledger` COLUMN: `sv:<category>:<vendor>`. `radio_infra` (two-way radios), `rms` (records/CAD software), `biometrics` (fingerprints) and `not_surveillance` are NOT surveillance sensors — exclude them before quoting any surveillance figure.

Data license: CC BY 4.0 · Data source: MyTown

6 rows where ledger = "sv:radio_infra:motorola" and state = "CA" sorted by amount descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: city, spend_date, product, amount, quote, amount_type, dup_rank, geo_suspect, spend_date (date)

vendor 1

  • Motorola Solutions 6

state 1

  • CA · 6 ✖

ledger 1

  • sv:radio_infra:motorola · 6 ✖
Link rowid vendor city state spend_date product amount ▲ quote source_document mytown_record ledger amount_type dup_rank geo_suspect anomaly state_norm
3205 3205 Motorola Solutions Palo Alto CA 2026-03-16 two-way radios (approve contract) 5848220.0 Adoption of a Resolution Making Necessary Findings and Approving a Lease-Purchase Agreement with Motorola Solutions, Inc for Multi-Band Portable and Mobile Radios and Accessories for all City Departments in an amount not to exceed $5,848,220 for a Term of 8.4 Years; https://cityofpaloalto.primegov.com/Public/CompiledDocument/20168 https://mytown.theboringparts.com/city/cityofpaloalto/#m657140 sv:radio_infra:motorola ceiling 1 0 0 CA
3398 3398 Motorola Solutions Solano County CA 2019-07-23 radio system maintenance (approve contract) 3193210.0 Approve a 10 year service agreement for $3,193,210 with Motorola for Core system maintenance and a system upgrade for the term July 1, 2019 through June 30, 2029; http://legistar1.granicus.com/solano/meetings/2019/7/2531_A_Board_of_Supervisors_19-07-23_Agenda.pdf https://mytown.theboringparts.com/city/solano/#m546998 sv:radio_infra:motorola stated 1 1 0 CA
3588 3588 Motorola Solutions Rialto CA 2025-03-11 dispatch consoles and radios (authorize the purchase) 1133900.0 Authorize the Purchase of Fourteen (14) CommandCentral AXS Dispatch Consoles, Fourteen (14) APX 6500 Mobile Radios, Site Networking Equipment, Including Accessories, from Motorola Solutions, Inc. for a Total Cost of $ 1,133,900.00; https://legistar.granicus.com/Rialto/meetings/2025/3/3197_A_City_Council_25-03-11_Regular_Meeting.pdf https://mytown.theboringparts.com/city/rialto/2025/#m338871 sv:radio_infra:motorola stated 1 0 0 CA
3585 3585 Motorola Solutions Riverside CA 2024-10-08 two-way radios (purchase) 85109.0 Purchase 11 Motorola Enhanced APX 6500 7/800 MHZ Mobile in -car radios, radio accessories, and three -year service warranty for $ 85,109.84 and 11 WatchGuard in-car video systems to include miscellaneous accessories, software, licensing, and warranty for $ 110,147.64 from Motorola Solutions Inc ., Chicago, Illinois, from Measure Z Homeless Outreach PSET -Wildlands and PSET -Urban Accounts for new police vehicles (All Wards) https://riversideca.legistar1.com/riversideca/meetings/2024/10/7721_A_City_Council_24-10-08_Agenda_Council.pdf https://mytown.theboringparts.com/city/riversideca/2024/#m341409 sv:radio_infra:motorola stated 1 0 0 CA
3586 3586 Motorola Solutions Riverside CA 2024-10-08 two-way radios (purchase) 85109.0 Purchase 11 Motorola Enhanced APX 6500 7/800 MHZ Mobile in -car radios, radio accessories, and three -year service warranty for $ 85,109.84 and 11 WatchGuard in-car video systems to include miscellaneous accessories, software, licensing, and warranty for $ 110,147.64 from Motorola Solutions Inc ., Chicago, Illinois, from Measure Z Homeless Outreach PSET -Wildlands and PSET -Urban Accounts for new police vehicles (All Wards) https://riversideca.legistar1.com/riversideca/meetings/2024/10/7617_A_City_Council_24-10-08_Agenda_Council.pdf https://mytown.theboringparts.com/city/riversideca/2024/#m341408 sv:radio_infra:motorola stated 2 0 0 CA
3186 3186 Motorola Solutions San Marino CA 2025-01-08 two-way radios (purchase) 84592.0 The City Council approved the purchase of eight Motorola APX8500 in-car mobile radios, and appropriate $84,592.20 from the Cops Fund appropriated fund balance into account 233-30-4150-9470. https://cityofsanmarino.primegov.com/Public/CompiledDocument/5369 https://mytown.theboringparts.com/city/cityofsanmarino/2025/#m669411 sv:radio_infra:motorola stated 1 0 0 CA

Advanced export

JSON shape: default, array, newline-delimited

CSV options:

CREATE TABLE surveillance_spending (
  vendor TEXT, city TEXT, state TEXT, spend_date TEXT, product TEXT,
  amount REAL, quote TEXT, source_document TEXT, mytown_record TEXT, ledger TEXT, amount_type TEXT, dup_rank INTEGER, geo_suspect INTEGER, anomaly INTEGER, state_norm TEXT);
CREATE INDEX ix_surv_vendor ON surveillance_spending(vendor);
CREATE INDEX ix_surv_state ON surveillance_spending(state);
CREATE INDEX ix_surv_amount ON surveillance_spending(amount);
CREATE INDEX ix_surv_ledger ON surveillance_spending(ledger);
Powered by Datasette · Queries took 1255.674ms · Data license: CC BY 4.0 · Data source: MyTown