Surveillance procurement
Automated licence-plate readers arrive by a vote. This is the paper trail behind those votes across Illinois — the original contracts, every renewal and amendment that followed, and the staff reports that were in front of the council when it decided. Where a staff report and the contract it accompanied describe different things, that comparison is set out here with both passages quoted.
A gap means the record was not found on the jurisdiction's public portal. It is not a statement that the record does not exist, and it is not a statement about whether the jurisdiction operates ALPR.
| Jurisdiction | Kind | Portal | Status |
|---|---|---|---|
| Chicago | city | No portal found | Not yet swept |
| Joliet | city | Legistar | Not yet swept |
| Naperville | city | Legistar | Not yet swept |
| Springfield | city | No portal found | Not yet swept |
| Elgin | city | civicclerk | Not yet swept |
| Waukegan | city | civicclerk | Not yet swept |
| Cicero | city | No portal found | Not yet swept |
| Champaign | city | No portal found | Not yet swept |
| Bloomington | city | civicclerk | Not yet swept |
| Arlington Heights | city | civicclerk | Not yet swept |
| Evanston | city | No portal found | Not yet swept |
| Schaumburg | city | No portal found | Not yet swept |
| Decatur | city | CivicWeb | Not yet swept |
| Bolingbrook | city | No portal found | Not yet swept |
| Palatine | city | civicclerk | Not yet swept |
| Skokie | city | CivicEngage | Not yet swept |
| Des Plaines | city | civicclerk | Not yet swept |
| Orland Park | city | Legistar | Not yet swept |
| Tinley Park | city | civicclerk | Not yet swept |
| Oak Lawn | city | No portal found | Not yet swept |
| Berwyn | city | No portal found | Not yet swept |
| Mount Prospect | city | civicclerk | Not yet swept |
| Normal | city | No portal found | Not yet swept |
| Wheaton | city | No portal found | Not yet swept |
| Hoffman Estates | city | civicclerk | Not yet swept |
| Oak Park | city | Legistar | Not yet swept |
| Downers Grove | city | No portal found | Not yet swept |
| Elmhurst | city | No portal found | Not yet swept |
| Glenview | city | No portal found | Not yet swept |
| Lombard | city | Legistar | Not yet swept |
| DeKalb | city | No portal found | Not yet swept |
| Moline | city | Granicus | Not yet swept |
| Belleville | city | No portal found | Not yet swept |
| Buffalo Grove | city | civicclerk | Not yet swept |
| Urbana | city | No portal found | Not yet swept |
| Plainfield | city | Granicus | Not yet swept |
| Bartlett | city | civicclerk | Not yet swept |
| Quincy | city | Granicus | Not yet swept |
| Crystal Lake | city | No portal found | Not yet swept |
| Carol Stream | city | No portal found | Not yet swept |
| Streamwood | city | No portal found | Not yet swept |
| Romeoville | city | Legistar | Not yet swept |
| Rock Island | city | civicclerk | Not yet swept |
| Hanover Park | city | No portal found | Not yet swept |
| Carpentersville | city | CivicEngage | Not yet swept |
| Wheeling | city | civicclerk | Not yet swept |
| Park Ridge | city | Granicus | Not yet swept |
| Addison | city | No portal found | Not yet swept |
| Calumet City | city | No portal found | Not yet swept |
Documents are archived copies of what the jurisdiction published, kept because municipal portals do not use permanent links. Every figure shown is either quoted from a document or marked as not stated. A dash means the record does not say, which is never the same as zero.