ProCat Solutions
Someone scraped our Tesla in a car park. Can Sentry Mode tell us who?
In Spain we are testing whether Sentry Mode, the Tesla Fleet API and plate recognition can produce usable parking-damage evidence. What works, what doesn't, and what the law allows.
You walk back to the car in a shopping-centre car park and find a fresh scrape along the rear door. The bay next to it is empty. Nobody is around. In a Tesla, it is reasonable to hope the cameras saw everything. Sometimes they did: if Sentry Mode was triggered, the ten minutes before the event are saved to a USB stick inside the car. If it wasn’t, there is no saved clip.
Even when the footage exists, it does not say who did it. It sits in a folder, each file named to the second, with nothing linking it to the car that pulled in alongside two hours earlier.
That link is what we are trying to automate. We are testing it on our own car on the Costa del Sol in Spain. The system learns from the Tesla Fleet API when and where the car is parked, reads the plates of nearby cars from the footage, and assembles an evidence pack when damage turns up. It is not finished. Here is what works, what doesn’t yet, and why.

The car reports that it has parked
This part works. Tesla’s Fleet Telemetry pushes the fields you configure straight to your server, so there is nothing to poll. We need two: Gear, the gear reported by the drive inverter, and Location, latitude and longitude. When Gear switches to P, the system logs a parking event with a timestamp and coordinates.
Telemetry needs a virtual key in the car, software 2024.26 or later, and Tesla’s vehicle-command proxy to sign the configuration. A car can stream to at most five third-party apps. Authentication is OAuth2, location requires a separate vehicle_location scope, and since software 2023.38 the classic vehicle_data call only returns position when you ask for it explicitly (location_data).
Tesla has charged for the API since early 2025. One dollar buys 150,000 streamed signals, 500 data requests, 1,000 commands or 50 wake-ups, and individual developers get a $10 monthly credit. The documentation says not to poll vehicle_data regularly; telemetry is far cheaper. A parking log sends a handful of signals a day, well within the credit.
What the API will not give you is video. The set_sentry_mode command turns Sentry on and off, but no endpoint lets you download a recording.
A number plate in a blurred frame
On HW3 cars Sentry Mode records from four cameras: front, rear and both sides. Since the 2025 spring update, HW4 cars also record from the B-pillar cameras. We pull frames from the clips and run a number plate recognition (ANPR) model over them. One stage finds the plate, the next reads the characters.
Accuracy depends heavily on conditions. Laroca and colleagues report that their model averaged 96.9% across eight public datasets and 97.8% on European plates. On footage from moving cameras (UFPR-ALPR) it reached 90%, against 82.2% for OpenALPR and 62.3% for Sighthound. A 2022 study found that models do markedly worse on data unlike what they were trained on. Motion blur is a problem of its own.
So every plate we read is stored with its confidence score and the source frame. The system proposes candidates. A person makes the call.
Each parking event opens a file. Into it goes everything that happened while the car stood there: the plates visible when it went into P, and every Sentry clip recorded at the same spot until the car next drove off. When we find damage, the system builds the pack: a timeline, the location, the recognised plates with their frames, and the original videos untouched. Every file gets a SHA-256 hash so anyone can check later that it has not been altered. Article 382 of Spain’s Civil Procedure Act (LEC) allows parties to submit recorded images and sound as evidence. What that is worth in a given case is for the court to decide.
The footage is stuck in the car
This part does not work yet. Sentry writes to a drive plugged into the car’s USB port. It must be at least 64 GB, sustain at least 4 MB/s writes, and use exFAT, FAT, ext3 or ext4. At the root sits a TeslaCam folder containing RecentClips (up to the last hour), SavedClips and SentryClips.
Since December 2024 the Tesla phone app has shown these clips too, end-to-end encrypted and never stored on Tesla’s servers. It is convenient, but manual: each clip has to be opened and saved by hand. It cannot be automated.
That leaves two routes. One is pulling the stick and copying it, which in practice gets put off for weeks. The other follows the open-source teslausb project: a Raspberry Pi presents itself to the car as a USB drive and, once it is in range of home Wi-Fi, copies the footage to an archive server. That is the route we are testing. There is no Wi-Fi in a car park, so the evidence only reaches the server once the car is home. We are still checking how the Pi copes with power supply and with a Spanish summer.
The other open question is the scrape itself. In its Alert state, when someone stands very close to the car or leans on it, Sentry flashes the headlights and saves the ten minutes before the event. In its Alarm state the siren sounds as well. The camera-based detection option brings the external cameras into play. But a door opened slowly against the panel, or a trolley rolling into it, often triggers neither. Then there is no saved clip, at most the rolling RecentClips buffer if the car happens to be recording. Even then the file keeps every vehicle and time we logged until departure, so there is at least a list of candidates. Whether that is enough is what the test is for.
What Spanish data protection allows
A number plate is personal data. The European Data Protection Board’s guidelines on video devices say the household exemption must be read narrowly: in Ryneš, the EU Court of Justice held that recording that covers public space, even in part, is not purely personal. The same guidelines accept that protecting property against vandalism can be a legitimate interest, but a dashcam may not film traffic continuously, and footage should be deleted within a few days. Keeping it beyond 72 hours needs specific justification.
A legal report by Spain’s data protection authority, the AEPD, calls general, unrestricted recording of traffic disproportionate. It considers acceptable a setup that records only on events, keeps short segments and blurs uninvolved people and plates. After an investigation by the Dutch data protection authority, Tesla changed Sentry across the EU in 2023: off by default, keeping at most ten minutes, and triggered by contact.
We follow the same lines. We keep only files tied to an incident, delete data from parkings without damage after a short time, blur uninvolved plates in the evidence pack, and use the footage only to settle the damage. The system has one question to answer: who was parked next to the car when the scrape happened.
Sources
- Tesla Fleet API: vehicle endpoints and location_data
- Tesla Fleet API: best practices, wake-ups and polling
- Tesla Fleet Telemetry and available fields (Gear, Location)
- Tesla Fleet API: authentication and scopes
- Tesla Fleet API: billing and limits, Not a Tesla App: API pricing 2025
- Tesla Fleet API: vehicle commands (set_sentry_mode)
- Tesla Model Y owner’s manual: USB drive and TeslaCam, Sentry Mode
- Not a Tesla App: Dashcam Viewer in the app
- Not a Tesla App: B-pillar Sentry recording requires HW4
- teslausb (GitHub)
- Laroca et al. 2018, UFPR-ALPR, Laroca et al., eight datasets, cross-dataset study, 2022, motion blur and plate recognition
- EDPB Guidelines 3/2019 on video devices
- AEPD legal report 2015-0456, AEPD: Cámaras on-board y protección de datos
- LEC Article 382 (BOE)
- Dutch Data Protection Authority: Tesla camera settings