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

8 rows where state = "MT" sorted by amount descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: city, spend_date (date)

vendor 5

  • Axon 4
  • TriTech Software 1
  • Tyler Technologies (public safety) 1
  • Verkada 1
  • ZeroEyes 1

ledger 5

  • axon 4
  • sv:camera:verkada 1
  • sv:rms:tritech 1
  • sv:rms:tyler_ps 1
  • sv:weapons:zeroeyes 1

state 1

  • MT · 8 ✖
Link rowid vendor city state spend_date product amount ▲ quote source_document mytown_record ledger amount_type dup_rank geo_suspect anomaly state_norm
166 166 Axon Missoula MT 2023-09-18 body cameras, vehicle cameras, interview room cameras and digital evidence management 1563169.2 Approve and authorize the Mayor to sign an agreement with Axon to enter a five-year agreement for Axon for body-worn cameras, vehicle cameras, interview room cameras and digital evidence management at a cost of $1,563,169.20. https://pub-missoula.escribemeetings.com/Meeting.aspx?Id=43fa8c6d-14b3-4f85-90ef-8342e5ff5add&Agenda=PostMinutes&lang=English https://mytown.theboringparts.com/city/pub-missoula/#m908691 axon stated 1 0 0 MT
564 564 Axon Kalispell MT 2024-10-07 bundle/OSP 180179.41 This item considers awarding Axon Enterprise, Inc. this bid in the amount of $180,179.41 per year. https://www.kalispell.com/AgendaCenter/ViewFile/Agenda/_10072024-1208 https://mytown.theboringparts.com/city/kalispell.com/2024/#m1254067 axon stated 1 0 0 MT
900 900 Axon Cascade County MT 2023-09-12 Tasers 63369.0 Contract 23-142: Axon Enterprise, Inc. Services and Purchasing Agreement to replace existing tasers used at the Sheriff ’s Office. https://www.cascadecountymt.gov/AgendaCenter/ViewFile/Minutes/_09122023-585 https://mytown.theboringparts.com/city/cascadecountymt.gov/2023/#m1369339 axon stated 1 0 0 MT
4023 4023 TriTech Software Granite County MT 2024-05-21 CAD software (purchase) 35941.0 62390 TRITECH SOFTWARE SYSTEMS COMPUTER AIDED DISPATCH ETC $35,941.50 https://www.granitecountymt.gov/AgendaCenter/ViewFile/Minutes/_05212024-142 https://mytown.theboringparts.com/city/granitecountymt.gov/#m1359008 sv:rms:tritech stated 1 0 0 MT
3138 3138 Tyler Technologies (public safety) Missoula County MT 2025-07-22 CAD software licenses (renew) 27627.0 Request board approve chair to sign a 2-year renewal with Absolute Software in the amount of $27,627.20 to support licenses and connectivity to Tyler Technologies, Computer Aided Dispatch and Mobile Data Terminals for public safety agencies. https://missoulacomt.api.civicclerk.com/v1/Meetings/GetMeetingFileStream(fileId=13709,plainText=false) https://mytown.theboringparts.com/city/missoulacomt/2025/#m691532 sv:rms:tyler_ps stated 1 0 0 MT
4018 4018 ZeroEyes Cascade County MT 2024-06-11 gun detection software (award grant) 20000.0 Purpose: To install Zero Eyes gun detection software within Great Falls and rural county schools. Total Reimbursable Award: $20,000 (No County Match) https://www.cascadecountymt.gov/AgendaCenter/ViewFile/Minutes/_06112024-729 https://mytown.theboringparts.com/city/cascadecountymt.gov/#m1369189 sv:weapons:zeroeyes stated 1 0 0 MT
2429 2429 Verkada Carter County MT 2026-01-15 security systems (approve warrant) 19900.0 Commissioner Dinstel moved to approve the consent agenda including the commissioners’ proceedings for January 15, 2026, early warrant for the Verkada security systems deposit payment in the amount of $19,900 and the notice of the Town of Ekalaka Mill levy resolution. https://www.cartercountymt.gov/Document%20Center/Minutes/Commissioer%20Minutes%201-15-26.pdf https://mytown.theboringparts.com/city/rz-cartercountymt.gov/#m7541717 sv:camera:verkada stated 1 0 0 MT
1411 1411 Axon Granite County MT 2023-06-01 body cameras 1462.0 AXON ENTERPRISE, INC BODY CAM X2 $1,462.00 https://www.granitecountymt.gov/AgendaCenter/ViewFile/Minutes/_06012023-179 https://mytown.theboringparts.com/city/granitecountymt.gov/2023/#m1358842 axon stated 1 0 0 MT

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 22.193ms · Data license: CC BY 4.0 · Data source: MyTown