For journalists

Who Approved This tracks Flock Safety contracts from public records: who approved each one, what it costs, how it’s funded, and when it renews. The tracker holds 1,044 contracts across 48 states, with 243 documented endings. Everything on this site is free to cite.

Cite it as

For a record: Who Approved This, “[record title],” whoapprovedthis.org, accessed [date], [record URL]. For the dataset: Who Approved This, “Flock Safety Contract Tracker,” whoapprovedthis.org, accessed [date], https://whoapprovedthis.org/tracker/. Each record page prints its own line, filled in, near its sources. For a fact a story rests on, cite the primary document the record links as well.

Data download

Current tracker CSV or JSON (same fields). Published, verified entries only; each row includes its source. Updated continuously; the filename carries the export date.

Methodology in one paragraph

We publish a fact when a primary source (contract, minutes, budget record, or official statement) confirms it, and label anything less as unverified and exclude it from totals. Every page shows a last-verified date. Roll-call names come only from minutes or meeting video. Corrections from anyone, officials and Flock Safety included, go through the same check. We review each correction within 72 hours; most are read the same day. Full detail: methodology.

Embeds

Any city receipt and countdown can be embedded free with attribution; the snippet is on each city page.

Contact

Press questions go through the correction form; say in the first line that you are a reporter. Questions about renewal dates get the fastest answers, because the dates are already on the decision calendar.

Current numbers

The tracker crossed 250 verified records on July 27, 2026 and holds 1,044 records across 48 states, with $165.0 million in documented public spending. The biggest cities entered the dataset the same month: Houston approved up to $6.4 million for 318 leased cameras, and Dallas signed a 3-year, $5.7 million contract recorded in council resolution 25-0807. Three computed pages give reporters direct access: the decision calendar with an ICS feed, the cancellations ledger, and the officials index of every named vote.

Every record page ends with an embed code you can paste to show that record’s live status on your own site.

The data page documents every field and links the CSV, JSON, and calendar exports.

What you can take

Everything on the site is available in bulk. The CSV and JSON exports carry all 1,044 records with the same 14 fields, computed live at request time; the JSON payload includes a generated timestamp and a row count. The ICS feed carries scheduled votes and renewal deadlines and subscribes into any calendar app. Every record page ends with an embed code that renders that record’s live status on your own site, and every record has a social card image generated from its own data.

How to attribute

Use the format under Cite it as. Every record page carries a copy-ready citation block near its sources. The data page defines every column, which is worth reading before you compare 2 numbers that look comparable and are not.

What we can confirm on request

Whether a jurisdiction is in the dataset and what its record says. Which document a specific figure came from, including the page or item number where the document has one. Whether a tally has names attached yet: Cleveland’s 9 to 6 extension has 6 named no votes and 9 yes votes still waiting on a readable copy of the City Record, and the record says so rather than rounding up. What we will not do is characterize a document nobody here has read, or speculate about a pending vote.

Response expectations

We review each correction within 72 hours; most are read the same day. Send requests through the correction form. A correction backed by a document usually lands on the record within a day; a correction that needs a records request takes as long as the agency takes. If you are working to a same-day deadline, say so in the first line.

Story angles the data already supports

3 that hold up across states. First, how often these contracts arrive with no recorded vote at all, which the officials index makes visible by being far shorter than the record count. Second, what ending a contract costs: Lynnwood forfeited the remaining value of a 38,453-dollar contract to leave early, and Killingworth owes an exit fee the vendor has not stated. Third, the same statute producing opposite outcomes, which the state-law explainer traces through Washington.