Property management guide

An apartment CCTV evidence log is not a folder of mp4 files. It is a structured, append-only table.

Most apartment properties answer a subpoena, an insurance claim, or an eviction filing with a thumb drive of exported clips and a clipboard at the front desk. That is not a log. A log is a row per real event with a timestamp, a camera, a zone, a class, a dwell, and a clip pointer. This guide walks the schema, the three queries property managers actually run against it, and the one specific reason getting your timestamps from one source instead of twenty-five matters in a courtroom.

See an evidence log running on your existing DVR
M
Matthew Diakonov
11 min read

Direct answer (verified 2026-05-07)

An apartment CCTV evidence log is a chronological, append-only record where each row pairs a camera-detected event (timestamp, camera, zone, event class, dwell) with a short preserved clip pointer that lives outside the DVR ring buffer. There is no statutory schema for the log; what survives an eviction hearing, an insurance claim, or a police request is the eight columns listed below, with the timestamp sourced from one place and a chain-of-custody audit row appended every time a human touches the entry.

Why most apartment CCTV evidence logs fail at the worst possible moment

The pattern is consistent across small and mid-sized property managers. A serious incident happens, a board member or an attorney or a police detective calls, and the property manager opens the DVR client, scrubs through the channel they think is relevant, exports a 60-second mp4, copies it to a thumb drive, and emails a one-paragraph summary. Six weeks later a deposition asks where on the property camera 03 is, who exported the file and when, whether the clock on the camera was correct, and whether the same person had been seen on the property earlier that month. The property manager has none of those answers in writing because the underlying record was not a log, it was a video file.

The fix is not a bigger hard drive and not a longer retention window. The fix is to keep the log structured, written at event time, and stored outside the DVR ring buffer. The DVR can keep doing what DVRs do; the log sits alongside as the index that makes the DVR's tape queryable in the operational windows property managers actually need.

The eight columns of a defensible evidence log row

Below is one event written by a Cyrano edge unit deployed against a 25-camera DVR at a multifamily property. The row is small, the clip lives in a separate object store, and the audit log inside the row records every subsequent human touch.

evidence_log_row.json

iso8601_ts is the most important field and the one most evidence logs get wrong. If it comes from the camera, it inherits whatever clock drift that camera has; if it comes from the network recorder, it inherits the recorder's drift; if it comes from a single composite-frame ingest, every per-tile event written from that frame carries the identical timestamp because they were one picture.

actor_embedding is the field that makes the log useful past the first 30 days. It is a small re-identification vector computed at index time, which is what lets the log answer 'show me every prior visit by this same subject' without a manual scrub through earlier weeks of footage. Without that column, asking 'has this person been here before?' is a multi-hour job; with it, the question is a cosine-distance filter that returns in under a second.

How a row gets written without a clock-drift argument

Most apartment camera deployments have 25 separate clocks, one per IP camera, kept in approximate sync by NTP. Approximate is fine for recording. Approximate is not fine when an event on tile A at 02:43:09 and an event on tile B at 02:43:07 need to be ordered against each other to reconstruct who walked where. The fix is to read the multi-tile composite the DVR is already painting over its HDMI output, sample that composite at 30 frames a second, and stamp every per-tile event from one frame with the same iso8601_ts.

HDMI ingest to evidence log row

Existing DVR (HDMI out)Cyrano edge unitEvidence log rowPreserved clip store25-tile composite frame, every 33msPer-tile classify, threat triage, embedAppend row {ts, tile, class, dwell}Cut clip, write outside DVR ringclip_path link

The composite frame is the source of truth for ordering. Two tiles cannot have clock drift between them because they were literally one picture. Cross-tile reconstruction becomes a literal ORDER BY ts in the evidence log, which is what makes the path of an incident across five or eight cameras defensible end to end.

Three queries every property manager should be able to run in five seconds

The bar for whether you have an evidence log or a folder of mp4 files is whether you can answer these three. Each one comes up weekly at any portfolio of more than a few hundred units.

evidence_queries.sql

The first query, eviction support, is the one that compresses the most labor. A pattern-of-violation file that used to take a regional manager four to six hours of scrubbing collapses into a single filter on the actor_embedding column. The second query, insurance, is what closes claims fast: a documented loitering pattern at a specific zone is what a carrier wants to see. The third query, resident complaint, is the one that turns 'we have a problem at the south alley after 2 AM' from an opinion into an exhibit.

20

At one Class C multifamily property in Fort Worth, Cyrano caught 20 incidents including a break-in attempt in the first month. Customer renewed after 30 days.

Fort Worth, TX deployment

What the log does for the questions a hearing actually asks

An eviction hearing, an insurance examination, or a deposition in a negligent security case asks remarkably similar questions. Was the camera working at the time of the incident? Yes, the row exists; gaps in the log are themselves a signal. Was the system generating events of this class on the day in question? Filter by date and event_class; the row count answers it. Was the same subject seen earlier in a related context? The actor_embedding column answers it without a verbal hand-wave. Who handled the evidence after the camera captured it? The audit_log inside the row answers it. None of those answers require the original DVR ring buffer, which is the whole reason the log exists outside of it.

The other side of the value is what the log does not do. It does not replace the DVR; the DVR remains the canonical recording. It does not replace the property manager's judgment; threat triage is coarse and a real incident review still needs eyes on the clip. It does not promise to catch every event; nothing does. What it gives you is a structured record of every event the cameras did catch, written in a format that survives review in front of the only audiences whose opinion materially matters later.

Why $200 a month is the right line item for this

The natural comparison line item is a security guard. An overnight guard at a multifamily property is roughly $3,000 a month and produces no structured evidence; their handwritten logbook is selective, lossy, and walks out the door when they quit. A Cyrano edge unit at $450 one-time and $200 a month after month two produces a queryable evidence log over every camera you already own, runs continuously, and does not have a bad shift. The two are not mutually exclusive (some properties keep both, and the guard's clipboard becomes the human-noticed subset of the camera log), but the unit economics of replacing clipboard logs with structured event logs is straightforward.

What this looks like for a small property versus a portfolio

For a single building with 8 to 16 cameras, the log is one table with maybe 100,000 rows a year and a few hundred gigabytes of preserved clips. The property manager queries it through a web dashboard; the regional company never touches it directly until a discovery request. For a portfolio of 12 to 40 buildings, the log becomes a single table indexed by property_id and camera_id, with a regional dashboard that surfaces unusual event classes (a sudden spike in after_hours_entry at one building) before any tenant complaint hits the email inbox. The same eight columns work at both scales; the difference is how many people read the dashboard.

Before, every police request was a half-day project. Now we run one query, export the rows, attach the clips, and the whole packet is on the detective's desk in twenty minutes.
R
Regional property manager
180-unit Class C multifamily, Texas

Frequently asked questions

Is a clipboard at the front desk a CCTV evidence log?+

No. A clipboard is an incident log written by humans about things humans noticed. A CCTV evidence log is a record written by the camera system about every classified event the cameras captured, whether or not anyone noticed at the time. The clipboard is selective and lossy. The CCTV log is exhaustive within its detection class. The two are complementary, not interchangeable. A clipboard pinned to the night manager's desk does not survive the manager quitting; a CCTV log written to a database does.

What columns does an apartment CCTV evidence log actually need?+

Eight load-bearing columns. (1) iso8601_ts, the event timestamp at HDMI ingest, not at human review. (2) camera_id or tile_index, naming where on the property the event occurred. (3) zone, the named area inside that camera (mailroom interior, parking row B, north gate, etc.). (4) event_class, the classified event type (person_in_zone, vehicle_in_zone, package_handled, loitering, after_hours_entry). (5) threat_level, a coarse triage label (low, medium, high) so an operator scanning the log can prioritize. (6) dwell_seconds, how long the subject stayed in the zone. (7) clip_path, a pointer to the preserved short clip stored outside the DVR ring buffer. (8) actor_embedding, a small vector that lets you ask 'show me every prior visit by this same subject' without scrubbing tape. Anything fewer than these columns and the log cannot answer the questions an eviction hearing, an insurance claim, or a police request will ask of it.

Why does the timestamp source matter so much?+

Because if every camera writes its own timestamp, every camera's clock drifts independently. On a typical 16-channel DVR with cameras that have been on the network for two years, drift between channel 1 and channel 16 is usually somewhere between 200ms and 4 seconds. That sounds small until you try to reconstruct a person walking from the lobby into the elevator: the lobby camera says they exited at 02:43:09, the elevator camera says they entered at 02:43:07, and now the log shows them inside the elevator before they left the lobby. An opposing attorney calls that an inconsistency. A judge calls it an inconsistency. The fix is to source the timestamp from one place and stamp every per-camera event with that same one. The Cyrano approach reads the multi-tile composite the DVR is already painting over HDMI, so all 25 tiles in one frame share the identical iso8601_ts. There is no clock drift to argue about because the tiles were one picture.

What does an evidence log row look like in practice?+

It is small. A single row is on the order of 600 bytes including the embedding, plus a separate clip on the order of 2 to 6 megabytes. A property with 25 cameras producing roughly 200 real classified events per day is generating about 30 megabytes of log per month and about 12 to 30 gigabytes of preserved clips per month. That all sits comfortably outside the DVR ring buffer on a property management cloud share or an evidence drive. The clip stays linked from the row by the clip_path column. When months later a board member asks about a specific incident, the row is what gets queried and the clip is what gets played; the DVR's ring buffer being long since overwritten does not matter because the small archive lives elsewhere.

What questions should the log be able to answer?+

Three families of questions, in plain English, in under five seconds each. (a) Eviction support: 'show me every entry by the subject in apartment 412 over the last 90 days, with timestamps and entry points.' (b) Insurance: 'show me every loitering event longer than 60 seconds at parking row B between February 1 and April 30, ordered by dwell.' (c) Resident complaint: 'show me everything that happened at the south alley between 2 and 4 AM in the last 30 days, low and high threat both.' If your log cannot answer those three, it is a folder of clips, not a log. The bar is set by what an attorney, an adjuster, or a board member will actually ask for.

How long does the log live, and how long do the clips live?+

Different windows. The log itself, being a few hundred bytes per row, can live indefinitely; there is no operational reason to expire it and good reason to keep it for the same period your insurance carrier or local statute of limitations cares about. Most property management policies land on three to seven years for the structured log. The preserved clips are larger and benefit from a tiered retention: keep all clips for 90 days, keep clips tagged high-threat or linked to a documented incident report indefinitely, and let the rest age out. The DVR's underlying 14 to 30 day ring buffer is unrelated to either window because the log and the preserved clips were exported at event time, not at review time.

Does the log need a chain of custody?+

Yes, and the chain is easier to keep clean when the log is structured than when it is a folder of files. The chain is a record of every person who touched a row or its clip from creation to courtroom. With an automated event log the first hop is automatic: the row's writer is the system itself, with a service identity, a host name, and an immutable created_at. Subsequent hops (an operator viewed it, a manager exported it, a prosecutor received it) are appended as audit_log rows that reference the original event row by its primary key. A judge asking 'how do you know this footage was not edited' has a five-row answer in writing instead of a verbal hand-wave.

Can this run on the cameras and DVR I already have?+

Yes. The Cyrano edge unit plugs into the existing DVR or NVR over HDMI, reads the multiview composite the recorder is already drawing, and writes the structured event log on top. No camera replacement, no rewiring, no cloud upload of raw footage. One unit indexes up to 25 camera feeds. Install on site is roughly two minutes. The original DVR keeps doing its job as the canonical recorder (which is the chain courts have been accepting for decades), and the evidence log sits alongside it as the structured index that turns retroactive review from a four hour scrub into a one second query.

See an evidence log written from your existing DVR in real time

Ten minutes on a screen share. Bring your DVR over HDMI. Walk away with a sample log row, a sample query, and a sense of whether this fits your operations.

Frequently asked questions

What is the difference between an apartment CCTV evidence log and an incident report?

An incident report is a single document about one named event, usually written by a human after the event was noticed. An apartment CCTV evidence log is a continuous, append-only record of every classified event the cameras captured. One incident report may reference dozens of log rows from across multiple cameras. The log is the substrate; the incident report is one query against it.

Do I have to tell residents that an evidence log is being kept?

Notice rules vary by state and by what you are recording. The general pattern at multifamily is a one-paragraph clause in the lease and signage at every entrance stating that the property is under video surveillance. Logging the events the cameras already capture is not a separate disclosure obligation in most jurisdictions because the recording is the disclosure. A property attorney should review your specific notice posture once and you can reuse it across the portfolio.

Can the evidence log be subpoenaed?

Yes, the log and the linked clips are discoverable in civil and criminal proceedings the same way the underlying DVR footage is. That is the point. The structured log makes responding to a subpoena cheaper because the response is a query and an export instead of a four hour scrub.

How is a tagged event log different from DVR motion alerts?

DVR motion alerts fire on any pixel change. A passing car, a moving shadow, a tree branch in wind, a ceiling fan, all generate alerts. Operators stop reading them in week two. A tagged event log fires on classified events: person in zone, vehicle in restricted area, loitering above a dwell threshold, after hours entry. The signal-to-noise difference is roughly 50 to 1 in real deployments, which is the difference between a log a property manager actually reads and a log nobody opens.

What does the log do for an eviction case?

It compresses the discovery phase. An eviction file that needs to show pattern (repeated lease violations, repeated unauthorized guests, repeated noise hours) usually requires the property manager to scrub for those entries one by one. With a structured log the same evidence is a filtered query: subject by embedding, time range, zone, ordered chronologically. The exhibit in the eviction filing is the table itself, with thumbnails and timestamps; the underlying clips travel as attachments.

🛡️CyranoEdge AI Security for Apartments
© 2026 Cyrano. All rights reserved.

How did this page land for you?

React to reveal totals

Comments ()

Leave a comment to see what others are saying.

Public and anonymous. No signup.