glossyio/traffic-monitor

[Feature] LPR anonymization

Ouverte

#143 ouverte le 20 févr. 2026

 (0 commentaire) (0 réaction) (0 personne assignée)Shell (16 forks)auto 404
enhancementgood first issuehelp wanted

Métriques du dépôt

Stars
 (125 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Problem

We are able to collect License Plates via Frigate's License Plate Recognition (LPR). We value open data and want to maintain a fully de-identified dataset as well as maintain privacy, so we want a system to be able to check for and look for specific license plates.

Examples: Having a public/known set of license plates and being able to know when that known vehicle was the object that passed by. Or another use case would be having a list of known license plates for large commercial trucks and knowing how many passed by a specific traffic monitor deployment.

Proposed Solution

Ideas/suggestions instead of simply bulk collecting license plates:

  • User may provide an "allow list" of plates-of-interest, a flag is set on the event if it matches
  • User may provide multiple lists and only the list name is collected.
  • User is allowed a one-time download of the salted crosswalk for later lookups

Anonymizing a license plate:

  • Salt (e.g. concatenate RPi SN) + Encrypt (e.g. SHA512 checksum) license plates

Frigate database will maintain plain-text OCR plates, but in circumstances where privacy is a concern, minimal storage time should be set (e.g. 5-minutes or less).

Limitations

Will want to also keep the LPR score, to know how well the plate was read before it was salted and hashed, since we cannot use any fuzzy matching logic.

Alternative Solutions

Keep licenses plates as-is in the final database. Will need user-selectable option: make this opt-in, even if Frigate LPR is enabled. Also have a way to mark the database as containing PII.

Additional Info

This may work by having an "upload" form on the Dashboard, processing the known-list, and keeping that in memory.

Guide contributeur