FinePrint

ALPR Audit Watch

Minnesota requires an independent audit of every license plate reader program every two years. We track who runs ALPRs, who audits them, and what those audits find.

Most of them find nothing. A small number of auditors produce most of the reports, and the reports look alike.

118

Agencies tracked

116 on the BCA list

61

No audit located

of 118 agencies

68

Audits reviewed

56 with zero findings

13

Distinct auditors

across every audit found

What the law requires

Under Minn. Stat. § 13.824, subdivision 6, any law enforcement agency operating an automated license plate reader must arrange an independent, biennial audit of its ALPR records. The audit has to confirm that the data is properly classified, that it is being used only as the statute allows, that it is destroyed on schedule, and that every query was authorized.

Results go to the Commissioner of Administration, the chairs and ranking minority members of the relevant legislative committees, and the Legislative Commission on Data Practices, within 30 days. If an audit finds substantial noncompliance, the commissioner may order the agency’s readers shut off until it complies.

Separately, ALPR data unrelated to an active investigation must be destroyed within 60 days, and agencies must report each reader to the BCA within ten days of installation.

The pattern

Audit Requirements and Audit Mills

The statute does not define who counts as an independent auditor, what the audit must test, or what the report must contain. In practice a handful of firms and consortiums produce most of the reports in Minnesota, several of them run by former law enforcement officials, and several of them auditing the same member agencies that fund them.

A real audit almost always turns something up. Records get held past the 60-day deletion window, a reader goes unreported to the BCA, a log of use never gets maintained, a query lacks documented authorization. Findings are the visible evidence that someone actually looked. An auditor who reports them is doing the job the legislature described.

A template that clears every agency it touches is a different thing. When the same firm files the same checklist year after year and never records a discrepancy, the audit stops being an inspection and becomes a stamp. That satisfies the letter of the statute while defeating its purpose, which was to put an independent set of eyes on a surveillance system the public cannot see.

Of the 68 audits we have read in full, 56 recorded zero findings (82% of them). The reports run from two pages to nine. Most are checklists: a statute-by-statute table, a policy review, and a sentence stating that no discrepancies were noted.

The audits that do dig in find real problems. The one auditor who tested the live platform found that Flock data exports generate no audit-trail entry at all, a flaw that undercuts the 60-day deletion rule the audit exists to verify, and one that applies to every agency running the same system. Nobody else caught it.

How to read this tracker

Green marks an auditor doing real work: findings on the record, and testing that goes past the paperwork.

Red marks rubber-stamp signals: superficial audits, conflicts of interest, or clean sheet after clean sheet.

When an audit does record findings, we grade each one by how much it actually matters:

Systemic
The audit caught a flaw in the platform itself, so fixing it fixes the system for every agency that uses it. The benchmark: exported plate data that escaped the 60-day deletion rule with no audit trail.
Material
The auditor put in the work and surfaced a significant problem: data kept too long, unlogged queries, no breach policy, unreported cameras.
Superficial
A trivial note recorded for the sake of having something to show. Paperwork nits, wording tweaks. These findings are noted, but do not count towards substantial work or accountability building by the auditors.
Ghost finding
A problem the audit describes in its own text but never records. It does not change the official count, but it counts against the auditor, because it proves they knew.

Auditing the Auditors

By Auditor

All auditors →
AuditorVerdictAgenciesAudits readZero findingsReal findingsFlags
Minnesota Security Consortium (MNSec)

Government consortium

Audit-mill signals182017/20 (85%)3
Tested the system, not the paperworkGhost findingsAudits its own membersLaw enforcement background
Lynn Lembcke Consulting

Private consultant

Structural flag171715/17 (88%)2
Law enforcement background
LOGIS

Government consortium

Audit-mill signals101313/13 (100%)0
Never recorded a findingAudits its own members
LEADS Consulting

Private consultant

Audit-mill signals444/4 (100%)0
Tested the system, not the paperworkGhost findingsNever recorded a findingLaw enforcement background
Rampart Audit LLC

Private consultant

Doing the work332/3 (67%)1
Found a systemic flawTested the system, not the paperworkGhost findings
Axtell Group

Private consultant

Audit-mill signals221/2 (50%)1
Real findings in most auditsAudits its own membersLaw enforcement background
In-house / City Auditor

In-house / city auditor

Doing the work220/2 (0%)7 +2 superficial
Tested the system, not the paperworkReal findings in most audits
Office of the State Auditor

State oversight office

Doing the work221/2 (50%)1
Real findings in most audits
Backbone Consultants

Private consultant

Too few audits read111/1 (100%)0
—
FRSecure

Private consultant

Too few audits read111/1 (100%)0
—
Office of the State Auditor (OSA)

Other

Audit-mill signals111/1 (100%)0
Ghost findings
Other

Other

Doing the work110/1 (0%)3
Real findings in most audits
Wildcard

Private consultant

Doing the work110/1 (0%)2 +1 superficial
Real findings in most audits

Flags and rates are computed only over audits FinePrint has read in full, so unverified leads cannot flatter or distort an auditor’s record.

The roster

By Agency

Seeded from the BCA’s published list of agencies using license plate readers, plus agencies we have documented operating ALPRs that the BCA list does not name.

Showing 118 of 118

AgencyTypeBCA listLatest auditAuditorFindingsNext expected
Aitkin County Sheriff's OfficeSheriff's OfficeListedNone located———
Alexandria Police DepartmentMunicipal PDListedNone located———
Anoka County Sheriff's OfficeSheriff's OfficeListed2025Lynn Lembcke ConsultingNone2027
Anoka Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Becker County Sheriff's OfficeSheriff's OfficeListedNone located———
Belle Plaine Police DepartmentMunicipal PDListed2026Lynn Lembcke ConsultingNone2028
Beltrami County Sheriff's OfficeSheriff's OfficeListedNone located———
Benson Police DepartmentMunicipal PDListedNone located———
Benton County Sheriff's OfficeSheriff's OfficeListedNone located———
Blaine Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Bloomington Police DepartmentMunicipal PDListed2025LOGISNone2027
Brooklyn Center Police DepartmentMunicipal PDListed2025Minnesota Security Consortium (MNSec)1 finding2027
Brooklyn Park Police DepartmentMunicipal PDListed2017LEADS ConsultingNone2019
Champlin Police DepartmentMunicipal PDListed2025Minnesota Security Consortium (MNSec)1 finding2027
Chisago County Sheriff's OfficeSheriff's OfficeListedNone located———
Columbia Heights Police DepartmentMunicipal PDListed2025Lynn Lembcke Consulting1 finding2027
Coon Rapids Police DepartmentMunicipal PDListed2025LOGISNone2027
Corcoran Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Cottage Grove Police DepartmentMunicipal PDListedNone located———
Crow Wing County Sheriff's OfficeSheriff's OfficeListedNone located———
Crystal Police DepartmentMunicipal PDListed2019LOGISNone2021
Dakota County Sheriff's OfficeSheriff's OfficeListedNone located———
Dayton Police DepartmentMunicipal PDListedNone located———
Deephaven Police DepartmentMunicipal PDListed2025Axtell Group1 finding2027
Detroit Lakes Police DepartmentMunicipal PDListedNone located———
Dilworth Police DepartmentMunicipal PDListedNone located———
Duluth Police DepartmentMunicipal PDListedUndatedFRSecureNone—
Eagan Police DepartmentMunicipal PDListedNone located———
Eden Prairie Police DepartmentMunicipal PDListed2025LOGISNone2027
Edina Police DepartmentMunicipal PDListed2025Minnesota Security Consortium (MNSec)None2027
Elk River Police DepartmentMunicipal PDListedNone located———
Faribault Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Farmington Police DepartmentMunicipal PDListedNone located———
Forest Lake Police DepartmentMunicipal PDListedNone located———
Fridley Police DepartmentMunicipal PDListedNone located———
Golden Valley Police DepartmentMunicipal PDListedUndated———
Grand Rapids Police DepartmentMunicipal PDListed2025Rampart Audit LLCNone2027
Hennepin County Sheriff's OfficeSheriff's OfficeListed2025Minnesota Security Consortium (MNSec)None2027
Hibbing Police DepartmentMunicipal PDListedNone located———
Hill City Police DepartmentMunicipal PDListedNone located———
Hopkins Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Houston County Sheriff's OfficeSheriff's OfficeListedNone located———
Hutchinson Police DepartmentMunicipal PDListedNone located———
Isanti County Sheriff's OfficeSheriff's OfficeListedNone located———
Isanti Police DepartmentMunicipal PDListedNone located———
Isle Police DepartmentMunicipal PDListedNone located———
Itasca County Sheriff's OfficeSheriff's OfficeListedNone located———
Kandiyohi County Sheriff's OfficeSheriff's OfficeListedNone located———
Lake City Police DepartmentMunicipal PDListedNone located———
Lakes Area Police DepartmentOtherListedNone located———
Lakeville Police DepartmentMunicipal PDListedNone located———
Little Falls Police DepartmentMunicipal PDListedNone located———
Mankato Department of Public SafetyMunicipal PDListedNone located———
Maple Grove Police DepartmentMunicipal PDListed2024LOGISNone2026
Maplewood Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Medina Police DepartmentMunicipal PDListedNone located———
Mille Lacs County Sheriff's OfficeSheriff's OfficeListedNone located———
Mille Lacs Tribal Police DepartmentOtherListedNone located———
Minneapolis Police DepartmentMunicipal PDListed2026In-house / City Auditor2 findings2028
Minnesota State PatrolState AgencyListed2024Minnesota Security Consortium (MNSec)None2026
Minnetonka Police DepartmentMunicipal PDListed2026LOGISNone2028
Minnetrista Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Montevideo Police DepartmentMunicipal PDListedNone located———
Moorhead Police DepartmentMunicipal PDListed2018LEADS ConsultingNone2020
Morgan Police DepartmentMunicipal PDListedNone located———
Mounds View Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
MSP Airport PoliceOtherListed2018In-house / City Auditor7 findings2020
New Brighton Police DepartmentMunicipal PDListedNone located———
New Hope Police DepartmentMunicipal PDListed2026Lynn Lembcke ConsultingNone2028
New Prague Police DepartmentMunicipal PDListed2026Lynn Lembcke ConsultingNone2028
North Branch Police DepartmentMunicipal PDListedNone located———
North St. Paul Police DepartmentMunicipal PDListedNone located———
Oakdale Police DepartmentMunicipal PDListed2025Minnesota Security Consortium (MNSec)None2027
Olmsted County Sheriff's OfficeSheriff's OfficeListed2024Minnesota Security Consortium (MNSec)None2026
Onamia Police DepartmentMunicipal PDListedNone located———
Orono Police DepartmentMunicipal PDListed2025Minnesota Security Consortium (MNSec)None2027
Osseo Police DepartmentMunicipal PDListedNone located———
Owatonna Police DepartmentMunicipal PDListedNone located———
Paul Bunyan Drug Task ForceMulti-agency Task ForceNot listed2025Rampart Audit LLC1 finding2027
Pine County Sheriff's OfficeSheriff's OfficeListedNone located———
Plainview Police DepartmentMunicipal PDListedNone located———
Plymouth Police DepartmentMunicipal PDListed2025Lynn Lembcke Consulting1 finding2027
Prior Lake Police DepartmentMunicipal PDListedNone located———
Ramsey County Sheriff's OfficeSheriff's OfficeListed2017Other3 findings2019
Ramsey Police DepartmentMunicipal PDListedNone located———
Red Wing Police DepartmentMunicipal PDListedNone located———
Renville County Sheriff's OfficeSheriff's OfficeListedNone located———
Richfield Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Robbinsdale Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Rochester Police DepartmentMunicipal PDListed2024LOGISNone2026
Rogers Police DepartmentMunicipal PDListedNone located———
Rosemount Police DepartmentMunicipal PDListedNone located———
Roseville Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Sartell Police DepartmentMunicipal PDListed2025Axtell GroupNone2027
Sauk Center Police DepartmentMunicipal PDListedNone located———
Shakopee Police DepartmentMunicipal PDListed2026Lynn Lembcke ConsultingNone2028
Sherburne County Sheriff's OfficeSheriff's OfficeListedNone located———
South Lake Minnetonka Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
South St. Paul Police DepartmentMunicipal PDListed2025LOGISNone2027
Spring Lake Park Police DepartmentMunicipal PDListedNone located———
St. Cloud Police DepartmentMunicipal PDListed2026Rampart Audit LLCNone2028
St. Francis Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
St. Louis County Sheriff's OfficeSheriff's OfficeListedNone located———
St. Louis Park Police DepartmentMunicipal PDListed2025LOGISNone2027
St. Paul Police DepartmentMunicipal PDListed2025LOGISNone2027
Stearns County Sheriff's OfficeSheriff's OfficeListedNone located———
Stillwater Police DepartmentMunicipal PDListedNone located———
University of Minnesota Police DepartmentUniversity / College PDListed2025Minnesota Security Consortium (MNSec)None2027
Waseca Police DepartmentMunicipal PDNot listed2025Lynn Lembcke ConsultingNone2027
Wayzata Police DepartmentMunicipal PDListedNone located———
West Hennepin Public SafetyOtherListed2025Lynn Lembcke ConsultingNone2027
West Saint Paul Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
White Bear Lake Police DepartmentMunicipal PDListedNone located———
Willmar Police DepartmentMunicipal PDListed2025Lynn Lembcke ConsultingNone2027
Winona Police DepartmentMunicipal PDListedNone located———
Woodbury Public SafetyMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028
Wright County Sheriff's OfficeSheriff's OfficeListedNone located———
Wyoming Police DepartmentMunicipal PDListed2026Minnesota Security Consortium (MNSec)None2028

By filing year

Undated


2 audits

2026


20 audits

2025


30 audits

2024


3 audits

2023


1 audit

2022


2 audits

2020


4 audits

2019


3 audits

2018


2 audits

2017


2 audits

Findings are shown in green because a recorded finding is evidence the auditor looked. A clean sheet is shown in red.

Method and sources

  • —The agency roster is seeded from the BCA’s published list of agencies using LPRs. Agencies we document elsewhere are added and flagged as not listed.
  • —Audit reports come from the Legislative Reference Library’s mandated-reports collection, from agency records requests, and from Department of Administration filings. Every reviewed audit links to its primary source.
  • —Findings counts, flags, and clean rates are computed only over audits FinePrint has read in full.
  • —Audit depth is a FinePrint editorial assessment: checklist (paperwork only), substantive (sampled records or tested some controls), deep (tested the live system, logs, or exports).
  • —A ghost finding is a problem an audit describes in its own narrative but never records as a finding: found, sometimes fixed mid-audit, and left off the record. Ghost findings do not change an audit’s official findings count, but they are flagged on the audit and count against the auditor.
  • —Every individual finding is categorized by FinePrint into one of three tiers: systemic (a major structural flaw in the platform or program itself, weakening privacy protections beyond the audited agency), material (a substantive compliance failure with real privacy impact at that agency), and superficial (anything that does not affect privacy or mass surveillance in a real way). Auditors are credited for systemic and material findings; a record of only superficial ones is treated as a rubber-stamp signal.
  • —Next-expected year is the most recent located audit plus two, per the biennial requirement.
  • —Flags describe what the filed reports contain and who wrote them. They are not an allegation that any audit was fraudulent or that any agency is out of compliance.

Know of an ALPR program that isn’t here?

We are looking for audits we have not found, agencies running readers that the BCA list does not name, and any audit that actually turned something up. If you have a report, a records response, or a lead, we want it.

Send a tip →

Related