Flock-Off

Follow the public money behind license plate surveillance. Track contracts, costs, decisions, and documented renewal opportunities.

Contract tracker

Loading…

Agency State Status Cameras Annual cost Renewal / decision

Acushnet
MAUnder debate——2026-09-02

Ayer
MACancelled pending validation*——2026-08-31

Barnstable
MACancelled pending validation*4—2026-09-03

Bellingham
MACancelled pending validation*——2026-08-28

Boylston
MACancelled pending validation*——2026-09-11

Dartmouth
MACancelled pending validation*——2026-09-29

East Bridgewater
MACancelled pending validation*1—2026-08-21

Easton
MACancelled pending validation*——2026-08-30

Groton
MACancelled pending validation*——2026-08-31

Hopkinton
MACancelled pending validation*——2026-08-20

Lowell
MAUnder debate——2026-09-23

Nantucket
MACancelled pending validation*——2026-09-16

New Bedford
MACancelled pending validation*——2026-10-23

Stoughton
MACancelled pending validation*——2026-09-04

Waltham
MAUnder debate——2026-09-10

Wellesley
MACancelled pending validation*1—2026-08-19

Wilmington
MACancelled pending validation*2—2026-09-15

Putnam
CTUnder debate5—2025-10-20

Cumberland
RIUnder debate———

Glocester
RICancelled pending validation*—$5,0002026-08-06

Narragansett
RICancelled pending validation*4$12,6002026-08-03

North Kingstown
RICancelled pending validation*6——

Providence
RIUnder debate25——

RIActive39——

Bristol
RIUnder debate——2025-11-12

South Kingstown
RICancelled pending validation*8—2026-07-27

Tiverton
RIActive4—2026-07-29

Portsmouth
RIProposal rejected pending validation*———

Warren
RIProposal rejected pending validation*———

Manchester
NHActive0——

Portsmouth
NHUnder debate———

Manchester
VTActive5$15,000—

South Portland
MECancelled pending validation*7—2026-06-11

Beacon
NYActive———

Poughkeepsie
NYCancelled pending validation*65—2026-09-25

Niagara Falls
NYActive24——

Scarsdale
NYProposal rejected pending validation*——2025-08-07

Syracuse
NYCancelled pending validation*131—2026-02-09

Troy
NYActive26$78,000—

North Brunswick
NJUnder debate—$35,0002025-09-01

Abington
PACancelled pending validation*3—2026-08-27

Chambersburg
PACancelled pending validation*——2026-08-26

State College
PAExpired pending validation*——2026-10-13

Philadelphia
PAActive———

Wilmington
DECancelled pending validation*4—2026-08-05

Washington
DCActive67$336,0002026-12-31

Augusta County
VAActive2——

Bridgewater
VACancelled pending validation*——2026-09-08

Charlottesville
VACancelled pending validation*——2025-12-15

Lynchburg
VACancelled pending validation*——2026-09-03

Newport News
VAActive74$222,000—

Staunton
VACancelled pending validation*6—2025-12-19

Asheville
NCCancelled pending validation*11—2026-08-25

Dare County
NCCancelled pending validation*14——

Greenville
NCProposal rejected pending validation*10—2026-09-10

Henderson County
NCActive13——

Hendersonville
NCActive—$6,000—

Nags Head
NCUnder debate12——

New Hanover County
NCCancelled pending validation*——2026-09-08

Rutherford County
NCUnder debate———

Wrightsville Beach
NCActive4——

Greenville County
SCActive32——

Gwinnett County
GAActive———

Bradford County
FLCancelled pending validation*8—2026-08-31

Brevard County
FLCancelled pending validation*7—2026-08-31

Oviedo
FLCancelled pending validation*8—2026-09-21

Jacksonville
FLCancelled pending validation*——2026-08-31

Palm Bay
FLUnder debate51—2026-09-21

Volusia County
FLCancelled pending validation*——2026-08-31

Harrisonburg
VACancelled verified33—2026-07-28

Ithaca
NYCancelled verified22—2026-03-04

Dayton
OHUnder debate72—2026-05-01

Elyria
OHCancelled pending validation*15—2026-08-28

Reynoldsburg
OHCancelled pending validation*——2026-09-09

Pierce Township
OHCancelled pending validation*———

Oxford
OHCancelled pending validation*14——

Monroe
OHCancelled pending validation*——2026-09-22

Akron
OHActive145—2022-06-10

Lorain
OHActive40—2023-02-08

Strongsville
OHActive19$63,500—

Cleveland
OHActive100—2026-07-15

Mansfield
OHActive24——

Euclid
OHActive26——

Columbus
OHUnder debate———

Menominee
MICancelled pending validation*——2026-05-18

Ypsilanti
MIProposal rejected pending validation*——2022-09-13

Bay City
MIProposal rejected pending validation*——2025-11-17

MIActive30$75,0002021-11-16

Troy
MIActive25$66,000—

MIActive5——

New Baltimore
MIActive9——

MIActive———

Grand Rapids
MIActive29——

MIActive62——

MIActive31$45,000—

Bloomington
INCancelled pending validation*6—2026-07-23

Bloomington
INExpired pending validation*———

Fort Wayne
INCancelled pending validation*36—2026-08-25

INCancelled pending validation*31—2026-09-10

Chesterton
INCancelled pending validation*——2026-09-14

INUnder debate———

Evansville
INActive55$142,500—

Evansville
INActive17——

Indianapolis
INActive275—2028-12-31

Plainfield
INActive12——

South Bend
INActive52——

Lafayette
INActive20——

West Lafayette
INActive4——

Lafayette
INActive———

Franklin
INActive———

Danville
INActive———

Boonville
INActive———

Greenfield
INActive———

Huntington
INActive—$15,000—

Oak Park
ILCancelled pending validation*8—2025-08-05

Evanston
ILCancelled pending validation*19—2025-08-26

Springfield
ILActive———

Decatur
ILActive100——

Champaign
ILActive46——

Vernon Hills
ILActive28——

Huntley
ILActive17—2023-04-13

Quincy
ILActive20——

Rantoul
ILActive25——

Appleton
WICancelled verified20—2026-05-06

Madison
WICancelled pending validation*24$80,0002026-04-16

Racine
WIActive——2026-09-15

Racine
WICancelled pending validation*——2026-09-04

Kenosha
WICancelled pending validation*31—2026-09-02

Sheboygan
WICancelled pending validation*15—2026-09-08

Oshkosh
WICancelled pending validation*——2026-04-22

Green Bay
WIActive42—2026-09-14

Milwaukee
WIActive31—2026-08-31

Fond du Lac
WICancelled pending validation*——2026-09-04

Memphis
TNActive———

Memphis
TNActive———

Germantown
TNActive———

Millington
TNActive19$47,5002024-01-08

Johnson City
TNActive145—2025-07-17

Murfreesboro
TNActive———

Knoxville
TNCancelled pending validation*143—2026-08-31

Lexington
KYActive125$317,5002024-04-25

Elizabethtown
KYActive40$100,0002023-12-08

La Grange
KYActive———

Lexington
KYActive15——

Jeffersontown
KYActive———

Morgantown
WVActive20——

Fairmont
WVActive41——

Birmingham
ALActive———

Huntsville
ALActive—$6,000—

Birmingham
ALActive———

Decatur
ALActive40——

Ridgeland
MSActive20—2021-10-19

Scottsdale
AZActive85$370,0002026-10-06

Tempe
AZCancelled pending validation*33—2026-08-26

Chandler
AZCancelled pending validation*40$153,0002026-08-07

Surprise
AZCancelled pending validation*28—2026-08-13

Pinal County
AZCancelled pending validation*——2026-08

Sedona
AZCancelled pending validation*11—2025-09-09

Flagstaff
AZCancelled pending validation*32—2025-12-16

Cottonwood
AZUnder debate——2026-09-04

Tucson
AZActive62$160,0002025-02

Queen Creek
AZActive62—2026-09-02

Los Angeles
CAExpired pending validation*138—2026-07-11

Santa Cruz
CACancelled pending validation*8—2026-01-13

Mountain View
CACancelled verified30—2026-02-24

Grass Valley
CACancelled pending validation*——2026-08-11

San Jose
CAActive490——

Fresno
CAActive80$492,0002024-02-22

Woodland
CAActive38$148,0002026-02-03

Stockton
CAActive120—2026-03-31

Oxnard
CAUnder debate19——

Berkeley
CAActive52—2026-03-24

Denver
COCancelled pending validation*110—2026-03-31

Aurora
COActive———

Englewood
COCancelled pending validation*12$64,5002026-09-08

Fort Collins
COCancelled pending validation*15—2026-06-16

Steamboat Springs
COCancelled pending validation*6—2026-08-26

Steamboat Springs
COCancelled pending validation*6$18,0502026-09-02

Hayden
COCancelled pending validation*2$6,0002026-09-03

Thornton
COActive16$48,500—

Castle Rock
COCancelled pending validation*50—2026-07-14

Fountain
COActive———

Wichita
KSActive———

Gardner
KSCancelled pending validation*——2026-08-17

Wellsville
KSCancelled pending validation*2—2026-08-20

Salina
KSActive24—2026-06-01

Derby
KSActive16—2021-10-26

Park City
KSActive———

Newton
KSActive4——

Manhattan
KSActive11$33,000—

Kansas City
KSActive———

Baton Rouge
LAActive———

Baton Rouge
LAActive———

Gretna
LAActive———

Kenner
LAActive55—2022-12-01

Central
LAActive11—2022-04-12

Lafayette
LAActive———

Thibodaux
LAActive54——

Houma
LAActive39——

St. Charles
MOCancelled verified——2026-08-20

Waynesville
MOCancelled pending validation*——2026-08-19

Willard
MOCancelled pending validation*——2026-08-21

Bolivar
MOCancelled pending validation*5——

Jefferson City
MOActive17$51,000—

Columbia
MOActive——2024-10-07

Louisiana
MOCancelled pending validation*7—2026-09-28

Parkville
MOUnder debate———

Springfield
MOActive—$45,000—

Brentwood
MOActive———

Oklahoma City
OKActive90$270,0002027-06-30

Tulsa
OKActive———

OKActive25——

Norman
OKProposal rejected pending validation*———

Bartlesville
OKActive———

Muskogee
OKActive———

Guthrie
OKCancelled pending validation*———

Tahlequah
OKCancelled pending validation*6$21,9002026-09-08

Coweta
OKCancelled pending validation*2——

OKCancelled pending validation*——2026-07-21

Eugene
ORCancelled pending validation*57$171,0002025-12-05

Springfield
ORCancelled pending validation*25$77,0002025-12-05

Eugene
ORCancelled pending validation*22$66,0002025-12-10

Albany
ORCancelled pending validation*4$14,0002026-05-28

Woodburn
ORCancelled verified23$84,0002026-06-23

Bend
ORExpired pending validation*4—2026-01

Florence
ORActive6—2026-02-02

Talent
ORUnder debate——2025-12-22

Dallas
TXActive684—2025-06-15

Fort Worth
TXActive250——

San Antonio
TXActive35——

College Station
TXActive84—2026-09-24

El Paso
TXCancelled pending validation*150—2026-09-15

Austin
TXCancelled verified——2025-06-21

San Marcos
TXCancelled pending validation*———

Manvel
TXCancelled pending validation*16—2026-09-08

Pflugerville
TXCancelled pending validation*28—2026-08-25

Willis
TXUnder debate——2026-09-08

Olympia
WACancelled pending validation*15$45,0002025-12-02

Everett
WAActive71$250,0002024-05

Chelan County
WAActive12——

Redmond
WACancelled pending validation*24—2026-07-21

Lynnwood
WACancelled pending validation*25—2026-02-23

Mill Creek
WAActive———

Kent
WAActive25$60,000—

Renton
WAActive24$88,2402026-05-04

Spokane County
WAActive46—2026-04

Spokane
WAActive30$91,000—

Little Rock
ARActive—$345,0002025-10-21

Fort Smith
ARActive21—2026-08-27

Van Buren
ARActive——2026-09-02

Beebe
ARCancelled pending validation*——2026-08-24

Searcy
ARCancelled pending validation*———

Pea Ridge
ARCancelled pending validation*———

Greers Ferry
ARCancelled pending validation*———

Mayflower
ARCancelled pending validation*———

Cabot
ARUnder debate———

Centerton
ARCancelled pending validation*———

Waukee
IACancelled pending validation*11—2026-08-14

Indianola
IACancelled pending validation*8$24,0002026-08-17

Coralville
IACancelled verified4$18,0002026-02-24

Urbandale
IAActive26$50,000—

West Des Moines
IAActive57——

Cedar Rapids
IAActive70—2026-06-30

Ankeny
IAActive16$35,000—

Altoona
IAActive51——

Clive
IAActive20——

Nevada
IAActive2——

Caldwell
IDActive87$378,000—

Twin Falls
IDActive—$43,800—

Idaho Falls
IDActive———

Pocatello
IDActive———

Jerome
IDCancelled pending validation*———

Hailey
IDActive16—2027-03-30

Bellevue
IDCancelled pending validation*———

Wilder
IDActive———

Boise
IDActive———

Forest Heights
MDActive11$16,500—

Salisbury
MDActive———

Millersville
MDActive———

Boonsboro
MDCancelled pending validation*——2026-08-10

Columbia Heights
MNCancelled pending validation*12—2026-06-08

Crystal
MNCancelled verified6—2026-09-09

Duluth
MNCancelled pending validation*9—2026-08-03

Saint Paul
MNCancelled pending validation*2—2026-08-26

Plymouth
MNCancelled pending validation*16——

Brooklyn Park
MNCancelled pending validation*———

Winona
MNCancelled pending validation*8—2026-08-12

North Branch
MNCancelled pending validation*3—2026-09-09

Anoka
MNActive———

Shakopee
MNActive———

Kearney
NEActive28—2023-12-12

Papillion
NEActive30$43,0002023-07-18

Ord
NECancelled pending validation*2—2026-08-03

Ord
NEActive7——

Grand Island
NEActive———

Scottsbluff
NEActive———

Alliance
NEProposal rejected pending validation*——2026-08-25

Alma
NEActive———

Grand Island
NEActive———

Chadron
NEActive3$7,500—

Kearney
NEActive———

Omaha
NEActive15——

Albuquerque
NMCancelled pending validation*21—2026-09-03

Las Cruces
NMActive21$141,850—

Rio Rancho
NMActive19——

Alamogordo
NMActive60——

Farmington
NMActive24——

Aztec
NMActive7——

Las Cruces
NMActive7——

Alamogordo
NMActive———

Reno
NVCancelled pending validation*29—2026-10-08

Sparks
NVCancelled pending validation*———

NVActive———

Las Vegas
NVActive180——

Las Vegas
NVActive——2026-08-24

Ogden
UTActive41——

Provo
UTActive———

Highland
UTActive3$9,000—

Draper
UTActive———

Loa
UTActive——2025-02-04

Cedar City
UTActive—$157,500—

North Ogden
UTActive———

Tooele
UTActive———

Humacao
PRActive12——

Santa Isabel
PRActive12——

San Lorenzo
PRProposal rejected pending validation*———

VIUnder debate———

Ithaca
NYCancelled pending validation*——2026-04-14

Marinette
WICancelled pending validation*4—2026-09-17

Eastpointe
MICancelled pending validation*——2026-09-17

Manitowoc
WICancelled pending validation*——2026-09-25

Clawson
MICancelled pending validation*——2026-09-23

Adrian
MICancelled pending validation*——2026-09-21

Bedford Township
MICancelled pending validation*4$12,0002026-09-10

Boynton Beach
FLCancelled pending validation*—$60,0002026-09-16

Athens
OHActive6—2027

Reidsville
NCCancelled pending validation*——2026-09-14

Carey
IDProposal rejected pending validation*——2026-09-28

Tallahassee
FLUnder debate150—2026-09-09

Cambridge
MACancelled pending validation*———

Cincinnati
OHCancelled pending validation*75—2026-10-02

Newburgh
NYCancelled pending validation*——2026-09-29

South Lyon
MICancelled pending validation*——2026-09-29

Sturgis
MICancelled pending validation*——2026-09-29

Cookeville
TNActive10$30,0002026-09-17

Liberty Hill
TXCancelled pending validation*——2026-09-09

Arlington
VACancelled pending validation*41—2026-09-15

Henrico
VACancelled pending validation*——2026-10-06

Neenah
WICancelled pending validation*12$30,0002026-09-16

De Pere
WICancelled pending validation*——2026-09-14

Richmond
VACancelled pending validation*99—2026-10-10

Milton
MACancelled pending validation*——2026-10-06

South Windsor
CTCancelled pending validation*——2026-10-05

Every record is sourced and confidence-rated. Terminal claims (cancelled / rejected / expired) are marked verified only with 1+ primary record and 2+ independent news sources; the rest are marked pending validation*. What the badges mean · Evidence tiers. *Pending validation = does not yet meet the evidence bar; shown while awaiting corroboration. Spot an error or a missing contract? Open an issue.

How this tracker works

Evidence tiers

Cancelled, rejected, or expired claims are verified only with 1+ primary record (government/procurement document, court record, official statement, transparency portal) and 2+ independent news sources. Everything else is marked pending validation*, with its exact citation counts shown per record. News-only claims stay pending indefinitely, no matter how many outlets repeat the story. * Does not yet meet the evidence bar; shown while awaiting corroboration. Records not re-verified in 180 days drop to pending validation* automatically until re-confirmed. "Verified" here means "meets this evidence bar," not "absolute truth": read the underlying sources and decide for yourself.

Source transparency

– verified citations and – unverified leads across the dataset. Every citation is classified by an explicit, version-controlled domain list (scripts/classify_sources.py); unknown domains fail closed to unverified. Advocacy organizations, social and video platforms, aggregators, and AI summaries count as leads, never as citations.

Full domain classification (– domains)

Loading…

Open data

Dataset: agencies.json (last updated –) · classification: source_classification.json · methodology, scripts, and full history on GitHub.

Corrections and upkeep

Records are re-checked weekly (see the monitor runbook). Wrong or stale? Open an issue. Corrections win over pride.