10,010
drone flights in the published record.
1,145
flights in September 2026, the latest full month.
13 min
median flight. Half were shorter.
San Francisco Police Department drones flew 10,010 times between 16 May 2024 and 30 September 2026, by the agency's own published record. 1,145 of those flights were in September 2026.
2,390 hours of flight time in the record.
9 in 10 flights were shorter than 22 minutes.
— The record publishes no times of day.
52 flights had a sensitive stated purpose. Those are counted but never listed or drawn.
Month by month
Flights per month, by takeoff date on the agency's local calendar. Click a month for its days.
The two hatched bars are the most recent months and are provisional. The current month is still in progress.
Why, in the agency's words
The agency's stated purpose for each flight, grouped into classes, as a share of all 10,010 flights.
Hour of day
Not published: this record carries dates only.
Flight list, September 2026
Every listable flight in the view, oldest first: date, takeoff time, purpose class, time airborne and the first eight characters of the source flight id. The filters above the map apply here too.
The first 500 of 1,145 listable flights in September 2026. Flights with a sensitive stated purpose are counted in the totals but not listed. Times are local to the agency.
How this page is made
- Nothing that landed in the last 48 hours is counted, listed or drawn.
- Drawn paths are simplified to 10 m and lose their first and last 200 m; flights too short to keep an interior are counted but not drawn.
- The record's free-text description is never read into a page. Flights whose stated purpose names a domestic, sexual-assault, kidnapping, welfare, mental-health or juvenile matter are counted in totals and appear in neither the flight list nor on the map.
- Purposes are the agency's own words, grouped into classes by a committed lookup table; unmatched values are "Other" and blank ones "Not stated".
- Times are converted to the agency's clock through the IANA zone database, never a fixed offset.
- Without filters the map draws at most 300 flights, sampled evenly from the latest full month, and the flight list is that month, capped at 500 rows. With filters the map draws at most 400 and the list at most 500, both sampled evenly, and the count line says when a cap applied. Each month's flights are a static JSON file under flights/ next to this page; the whole-record option is an even 300-flight sample.
- Record source: San Francisco Police Department Drone Flight Logs (DataSF dataset giw5-ttjs), via DataSF open data (https://data.sf.gov/resource/giw5-ttjs.json), licence: PDDL 1.0 (DataSF, dataset giw5-ttjs); DataSF terms bar re-identification. Read from
../var/lib/drone-publish/work/sources/sfpd/sfpd.json, no network at build time. - What this record does not publish: no time of day (flights are dated; the hour chart, time-of-day filters and night share are not shown); no flight path (the map shows the published block-level point per flight; there are no per-flight pages or animations). Nothing is inferred to fill those gaps.
Corrections and questions: file an issue in the korvid-labs repository (demo).