swamplink

Who watches the watchers?

Start with the — pick a state, or plug in your own numbers, or click one on the — drawn down to every county. Every number on this site traces back to a , and the page says what this can and can't tell you.

ALPR camera density calculator

Pick a state to load its mapped camera count and population, or type your own numbers below. The readout compares the resulting density — cameras per 100,000 residents — against the average density in states grouped by ALPR-restriction law strength, computed from the same rows behind this project's *-law-state-camera-density figures.

—
mapped cameras per 100,000 residents
0—
Show the law-strength buckets

"Strong" / "partial" / "none" are per-state ALPR-restriction law ratings from data/state-density-law.json (unflocked.org, cross-checked against NCSL's 50-state survey) — see the page's law caveat. A handful of states are rated "pending" and excluded from every bucket average, including the current selection's own bucket if it lands there.

County map

Every county in the 50 states and DC, shaded by its mapped ALPR camera count — and, this project's whole point, drawn so that a corroborated zero never looks like a data gap: blue means an independent source backs the absence, hatched amber means nobody has data either way. Hover a county for its reading, or click one to pin its details below the map.

overlay
mapped cameras 1   1,000+ corroborated zero data gap CT boundary note

Camera locations are volunteer-crowdsourced (DeFlock / OpenStreetMap, ODbL) — shading reflects what has been mapped, not necessarily what exists. Connecticut is hatched grey because its data lives on the planning regions that replaced its counties in 2022, which don't align with these boundaries — all nine regions have documented cameras; use . Boundaries: US Census Bureau cartographic files via us-atlas (pre-2022 vintage). Raw data: /api/counties.

Mapped ALPR cameras per 100,000 residents, by state

Every state and DC, colored by mapped camera density — the same cameras_per_100k rows behind the calculator's law-strength buckets. Click a state — on the map or in the table — to zoom the county map above to it.

fewer mapped cameras per 100k  ·  more mapped cameras per 100k

Change over time, 2021 → 2025: camera growth vs. crime-rate change

A level map invites "cameras cause crime" or "crime causes cameras" misreads either way — this pairs each state's camera growth against its crime-rate change over the same window instead, both diverging maps centered on zero. Most states' "growth" here is close to their whole mapped total: this project's own mapping-timeline finding (the dataset tripled in 2026) means OSM/DeFlock coverage of ALPR cameras barely existed before 2021 in nearly every state — that's a caveat on the camera side, not the crime side. Crime-rate change uses a balanced agency panel (only agencies reporting all 12 months of both years) specifically to avoid an unbalanced comparison making growing NIBRS participation look like a crime trend.

Camera growth (per 100k residents)

Total crime-rate change (per 100k residents)

Fewer cameras added / crime fell more  ·  more cameras added / crime rose more — each map's own scale, not shared, and centered on no change (white).

Camera growth: creation-dated (OSM version-1) node counts, data/camera-timeline.json. Crime-rate change: FBI Return A, balanced 12-month panel both years, data/agency-clearance.json via data/ori-county-crosswalk.json. No causal claim in either direction — see the page and README for the full caveats. Raw data: /api/states/change.

Cameras vs. crime rate over time, 2016 → 2025

The change map above is one point per state. This is every year: mapped cumulative cameras against the reported crime rate, year by year, for the nation or one state at a time. Watch the national series first — it's the only line here from a balanced agency panel (same set of agencies reporting all twelve months of every year), so its moves are real crime trends, not reporting-participation churn. No per-state balanced panel exists across all ten years, so every state-level crime line carries that churn risk — the 2021 SRS-retirement trough is visible as a dip in reporting agencies, not necessarily in crime.

Cameras: creation-dated (OSM version-1) cumulative node count, forward- filled year to year, data/camera-timeline.json — a mapping timeline, not a deployment timeline (most states show ~0 through 2021 because OSM/DeFlock coverage of this category barely existed yet). Crime rate: FBI Return A violent + property offenses per 100k residents, data/crime-timeline.json; the national line switches to the balanced panel automatically, every state line is the unbalanced "agencies reporting that year" series — see . No causal claim in either direction: an overlay is not evidence one line drives the other. Raw data: /api/states/timeline.

Search by zip code

Enter a 5-digit zip code to see the mapped ALPR camera count for its county — this only ever resolves to county granularity, never a city, neighborhood, or address, and the zip you type isn't stored anywhere: it's sent to the server to look up the county and nothing else happens to it. See for the full privacy note.

Every number here has a citation

A figure without a source doesn't ship — see /api/figures for the raw corpus. "Preliminary" figures are marked because the underlying method (a state law-strength rating, in every case so far) hasn't had a full legal review yet — they're not guesses, but they carry a caveat the "verified" figures don't.

This site isn't the whole picture

Flock-style ALPR is one piece of a much bigger landscape of things that count cars, read plates, or can identify someone to law enforcement or a government body — doorbell cameras, other ALPR vendors, municipal traffic counters, and mobility-data brokers among them. This catalog exists so leaving the map doesn't leave you thinking Flock is the only story.

Read this before relying on it: descriptive, not exhaustive — new entrants and quiet vendors are the norm in this space, not the exception. Entries describe a technology category, not a confirmed deployment near you; only the ALPR camera data on the above is independently corroborated at that resolution. Every entry links its own source; see /api/landscape for the raw list.

In the news

Recent reporting on ALPR cameras — Flock contracts, council votes, lawsuits, statehouse bills — as a national wire plus a per-state feed. Headlines and links only, from each outlet's own coverage via Google News; nothing is rehosted here, and only stories from the last 90 days are kept.

National wire

State

What this is

Mapping where ALPR cameras (Flock Safety and others) are not — precisely, and with the honesty to distinguish "no cameras here" from "nobody's mapped this yet." Built on open crowdsourced camera-location data (DeFlock / OpenStreetMap, ODbL) joined against US Census population and county boundaries, cross-checked where possible against the EFF's Atlas of Surveillance and FBI crime clearance data.

Part of the SwampLink counting-* family of public data projects, sibling to counting-chicken-wings. No entity behind this — a private project, donations-only if it ever needs them, same shape as DeFlock itself.

Zip lookup: what happens to the zip you enter

Nothing is stored. The zip code goes to the server in one request, resolves to a county in memory against a dataset baked into this site's build, and comes back — no database, no request log kept beyond whatever a web server normally keeps, no analytics tied to it. Your browser doesn't remember it either, unless you look up more than one zip in the same visit, in which case the last one you searched is kept in sessionStorage so the field doesn't clear itself — that's gone the moment you close the tab, never sent anywhere on its own, and never a cookie. We only ever resolve to county, never a city, neighborhood, or address, on purpose.

Nor does anyone else get to watch you read this. Every asset this page loads comes from this site: no analytics, no tag manager, no advertising pixel, no cookie, and nothing embedded from a third party. The map library (Plotly.js, MIT), the map's outlines, and the fonts all ship with the build rather than loading from cdn.plot.ly and Google Fonts, because an embedded third-party asset hands your IP address and the page you're on to someone else on every visit — which is a strange thing for a site about being watched to do. You can check: open your browser's network tab and every request should point back here.

Read this before relying on it

  • Camera locations are volunteer-crowdsourced, not verified by any camera operator, law enforcement agency, or government body — likely incomplete, possibly outdated or inaccurate.
  • A county or state with zero (or few) mapped cameras is evidence of an unmapped area, not necessarily a camera-free one, unless corroborated by an independent source like EFF's Atlas of Surveillance.
  • This is not a guarantee that any route, area, or location is free of surveillance cameras or ALPR coverage of any kind.

Full terms: see this repository's TERMS.md.

Data & API

/api/figures — the full citation corpus, verbatim, as JSON.
/api/landscape — the catalog of other things that count cars, read plates, or identify people to law enforcement or government.
/api/states — the per-state camera-density and law-strength dataset behind the calculator above.
/api/counties — per-county status and camera count for every county the draws.
/api/zip/{zip} — resolves a 5-digit zip to its county's camera figures, behind the lookup above (no browsable index — it's a per-zip lookup, not a corpus dump).
/api/version — what build is currently running.

counting-cars-plates ·v0.1.0a6+31.g3c541ea

SwampLink LLC · legal · dmca