← Monroe meeting report All departments CT ALPR Explorer Loading…
Date range
—

Search events per month click a bar for one month, or use the slider

Where the searchers are click a state to filter — every state is clickable, including the small ones

Type of agency

Camera networks swept per query how wide each search reached

Stated reason category top 20 — read this first, the field changed completely in 2025-12

Agencies click a row to pin one agency — or use the agency search at the top to match several

Loading…

Reason text what officers typed, with personal names masked

Every distinct wording used three or more times. Filtering by agency, state or agency type narrows this list and recounts it — so you can see what one department actually typed. Month, search type, reason category and networks-swept filters do not reach it. Searching the box below filters this list only; the charts above are not narrowed by it.

What “era” means

The reason field was a free-text box until 2025-12, then became a dropdown of preset categories. Each wording is tagged by where its events fall:

  • free-text era used only before the change — somebody typed it. Nearly all distinctive wording is here.
  • dropdown era used only after — almost always one of Flock's preset categories.
  • spans the change used on both sides, which mostly means a preset category that also existed as typed text.

Filtering to one era also keeps the wordings that span it, since those genuinely occur in both. More on the change.

Loading reason text…

How the search was run the tool used, never the purpose

How to read this

What a search event is, what each field means, and the things about this data that will mislead you if nobody says them out loud.

What a search event is

One search event is one searcher running one query. An officer at some department types in a plate (or a description, or a time and place) and asks the network what it has. That is one event, whether the query reached one camera network or seven thousand.

This corpus holds — search events run by — agencies. It is every query that reached the cameras of six Connecticut towns whose audit exports we hold — so it is a floor. A query that touched none of those six is invisible here, however many other networks it swept.

Which town's export happened to carry a row is data lineage, not a property of the search, so it is not a filter on the dashboard. It is listed at the bottom of this page.

The reason field changed completely in December 2025

For most of this corpus the “reason” was a free-text box — type anything, or nothing. In 2025-12 it became a dropdown of preset categories. The changeover took about two months:

MonthSearch events Using a preset categoryShare

What that looks like in the actual data

The most common reasons officers gave, either side of the change. This is the whole point — these are two different instruments, not two samples of one:

free text November 2025

    Whatever an officer typed. Note inv, investigation, Investigation and INVESTIGATION arriving as four different values for one idea, and how little any of them tells you.

    dropdown March 2026

      Picked from a menu. Consistent, countable — and no longer capable of saying anything the menu does not offer. The trailing - is where free text would go if the officer added any.

      Why this matters for searching the text

      Because officers largely cannot type anything any more, searching the reason text mostly tells you about the past. Finding few recent mentions of a term does not mean the activity stopped — it means the box people typed it into stopped existing.

      Reason text mentions… Free-text eraDropdown era Share before the change

      So if you search the reason list for ICE and find little after 2025, that is a fact about the form, not about immigration enforcement. The reason list has an era filter for exactly this reason: compare like with like, or say plainly that you cannot.

      Search type — what each one actually does

      This field records which tool produced the query. It never records the purpose, and no type is inherently more or less legitimate than another.

      TypeWhat the officer didWhat it returns
      lookup Started from a specific plate — they already have the number and want its history. Everywhere that plate was photographed, across every network the query reached.
      search Started from a place and a time, or a vehicle's characteristics — colour, make, body type — rather than a plate. Every vehicle matching, e.g. everything that passed a given camera in a window. This is the one that sweeps people who were simply driving past.
      … - Mobile The same query from the phone app rather than a desktop console. Identical results. It tells you where the officer was, not what they were doing.
      convoy Asked which other vehicles were travelling with a given one. Vehicles repeatedly seen alongside the subject — an association tool, not a location one.
      visual / freeform Typed a written description of a vehicle instead of a plate. Vehicles matching the description. Searching by appearance rather than by identity.
      multiGeo Ran one query across several separate areas at once. Matches from every area in the set.
      searchSummary Retrieved a summary of a previous search rather than running a new one. Nothing new — a review action.

      Naming is Flock's own, from the export. The descriptions of convoy, multiGeo and searchSummary are our reading of the product's behaviour; lookup and search are unambiguous in the data.

      Camera networks swept — the most misread number here

      Every Flock customer — a police department, but also a business park or a homeowners' association — operates a network of cameras. When an agency shares its network outward, other agencies' searches run against it too.

      “Networks swept” is how many of those a single query reached. It is recorded per event as a count, never a list, so you can see that a query touched thousands of networks but never which ones.

      • A query sweeping one network is a department searching its own cameras.
      • A query sweeping thousands is a nationwide search. The town whose export captured it was one network among those thousands — not a target.
      • So a high count against any town means that town's data was inside somebody's wide query, not that anyone was investigating the town. This is the single most common misreading of this data.
      • It also means a raw event count measures how heavily an agency uses the platform, far more than any interest in Connecticut.

      Every other field

      FieldWhat it isWhat to watch for
      Month When the query ran, Eastern time. Coverage differs by town, so the earliest and latest months are thinner than the middle.
      Agency The organisation that ran the query, as the export names it. No officer or user is recorded. You cannot tell whether a department's events came from one person or a hundred.
      Agency state / type Parsed from the agency name, then classified. Names arrive in a dozen formats, so state totals move a little depending on how they are resolved.
      Reason The justification given. Free text, then a preset category — see above. Never validated against a case or a statute. A blank reason means you were not told, not that nothing was written.

      What this record cannot tell you

      • Who ran the search. Agency only, never the officer.
      • Which plate, or what came back. The log records that a query ran — not the result, a hit, a stop or an arrest.
      • Which camera, or where. No location per event.
      • Whether a search was proper. Nothing here identifies misuse, and no reading of a single row could.
      • That something did not happen. With no officer, no plate, and a reason field that was optional and is now a menu, absence means not recorded — not did not occur.
      • A missing case number is not a finding. Around 89% of events carry none; that is how the vendor exports data.

      Obtained by other people’s work

      None of these records were volunteered. Each export was released only after somebody asked and waited. Row counts here are rows carried by that export, so they sum to more than the number of search events — most queries appear in more than one town's copy.

      ExportRows carried CoveringObtained by

      Names in reason text are masked

      Officers type people into the reason box — suspects, partners, witnesses, people who were simply nearby. Those are replaced with [name]. The rule comes from the corpus itself: a word is masked unless it is ordinary vocabulary or the data shows it to be shared police shorthand. It deliberately over-masks — a masked acronym costs a reader nothing, an unmasked surname costs a stranger something.