Events from a deleted camera still appear
You deleted a camera a while back. On the Events page you still see entries from that camera. This is working as designed — this page explains why and how to filter them out of your daily view.
Symptom
On the Events page, events whose camera no longer exists in your Cameras list are still showing up:
- Event rows name the deleted camera.
- Event detail pages still open and the clip still plays back.
- Alert history for the deleted camera is also preserved.
Likely causes
Camera deletion is a soft-delete. Deleting a camera sets deleted_at and enabled=false on the camera record but preserves all past events, clips, snapshots, and AI analysis results. This protects the forensic record:
- Evidence you are already holding for an investigation does not disappear because the camera was retired.
- Audit trails — who saw what, when — remain intact for compliance.
- Alert history stays valid for response-time reporting.
The soft-delete cascade is documented in the camera lifecycle: events are kept, alert rules drop the deleted camera from scope (auto-disabled if the rule has no other cameras), grid slots show a “Camera removed” placeholder, and the AI pipeline stops queuing new analyses.
Fixes
Recognise deleted cameras in the event list
Every event payload carries a camera_deleted boolean (cloud/internal/events/handler.go:128). The current Events page does not surface it as a distinct badge — events from deleted cameras render with the camera’s name as-of-deletion. The camera-picker filter at the top of the page omits soft-deleted cameras, so the easiest visual cue is “the event names a camera that’s not in the picker”.
Exclude deleted cameras from your view
Scope the event list to the active cameras you care about using the Camera filter — deleted cameras do not appear in that picker, so any event whose camera is absent from the dropdown is from a soft-deleted source.
Remove a deleted camera’s events from an investigation
Deleted-camera events are still part of search results, alert exports, and CSV exports. If an export must exclude them, filter the export’s camera list to active cameras only before generating the CSV.
Verify the fix
- On the Events page, your active-camera filter excludes the deleted camera’s rows.
- A CSV export for the same filter contains only active-camera rows (
camera_deletedcolumn isfalsefor all rows). - The Camera picker dropdown no longer lists the deleted camera.
Still stuck?
- Why the chain of custody matters — background on why events survive deletion
- Delete an organisation — the only hard-delete path in v1, and only at org scope