Your smart home alerts are loud because the filter is reading 1 input. A real filter reads 6.
Smart home cameras have gotten very good at object detection. They have not gotten very good at filtering. The detector says "person at the side gate, 02:14, confidence 0.91", the filter says "send notification", and your phone buzzes for the eighteenth time today. Three of those buzzes were you arriving home. Two were the FedEx driver. Twelve were a neighbor's cat. One was a person leaning into your gate lock for 90 seconds at 02:14, and you missed it because you had already silenced the app.
The reason this happens is structural. A useful alert filter reads six inputs at decision time: object class, zone, time window, dwell duration, badge or identity, and posture. Consumer smart home apps expose 1 to 2 of those as user-tunable filters. Once you know which inputs are missing, the "why is this still spammy" question stops being mysterious. This page maps each of the six inputs against what Ring, Nest, Arlo, Eufy, Wyze, and Blink actually offer, then shows where the wall hits as you add cameras.
Real smart home security alert filtering reads six inputs at decision time: object class, zone, time window, dwell duration, badge or identity, and posture. Consumer apps (Ring, Nest, Arlo, Eufy, Wyze, Blink) expose only 1 to 2 of those six as user-tunable filters, which is why "turn on smart alerts" still leaves you with a buzzing phone. Filtering that holds up at 8+ cameras requires the full six-input stack, which today is shipped either on commercial edge boxes or on self-hosted stacks like Frigate or Scrypted plus a small posture classifier.
One detection, two filter shapes
The toggle below is the same person at the same gate at the same time of night. The 1-input filter is what most consumer smart home apps emit. The 6-input filter is what an operator (or a homeowner who actually wants to stay engaged with the stream) needs.
Person at the rear gate at 02:14
The detector fires on the person class above the configured confidence. The filter checks one input: was the class person? Yes. Send a push notification. Same shape regardless of whether this is you arriving home, a delivery driver, a curious neighbor, or someone with their hands on the gate lock for 90 seconds.
- Reads class only (sometimes plus a motion zone)
- Notifies on every above-threshold person frame
- Cannot tell you why this person was worth interrupting you
- Trains you to ignore the app inside two weeks
- True positives and noise share the same priority
The six inputs, mapped against consumer smart home apps
Six inputs, in the order they fire in the classifier. For each one: what a real filter does, and what the major consumer brands actually expose to you. This is the spine of the page. If your app is missing the input on the right, the buzz on your phone is structural, not user error.
Object class
Person, vehicle, animal, environmental, artifact. Tied to the per-frame detector confidence. Animal events outside of specific zones are dropped outright.
Most apps expose this. Ring, Nest, Arlo, Eufy, Wyze, Blink all let you pick whether to fire on people, vehicles, animals, or packages.
Coverage: 1 of 6 covered by every consumer brand. Necessary, never sufficient.
Zone
Polygon per camera, named (lobby, mailroom, parcel shelf, rear gate, loading bay, stairwell, parking, perimeter). The bounding-box centroid is the test, not any pixel of the box.
Ring, Nest, Arlo, Eufy, Wyze let you draw motion zones per camera. Blink is sensitivity-by-region. None of them resolve zones across multiple cameras at portfolio scale.
Coverage: 1 of 6 covered, but only at single-camera scope. Cross-camera zone logic is missing.
Time window
Property-level time windows: business hours, delivery hours, after-hours, weekend, holiday. Joined to zone and class to form fire rules.
Most apps offer schedules: camera on or off by hour. Almost none expose per-zone time-of-day fire rules ('person at parcel shelf is HIGH outside the configured delivery window').
Coverage: 0 to 1 of 6 covered. Schedule does not equal time-window-rule.
Dwell duration
Seconds the same tracked object stayed inside the zone. Per-zone threshold (15s for stairwell, 30 to 60s for parking). 2x threshold escalates LOW to HIGH.
Approximated as motion-frequency cooldown in Ring (an alert cooldown). Not the same as dwell on a tracked object.
Coverage: 0 of 6 fully covered. Cooldown blocks duplicate alerts; it does not turn dwell into a fire condition.
Badge or identity
Tenant, vendor, unknown, or n_a. Pulled from access control or smart-lock event stream when wired in. Promotes or demotes the event class.
Nest Familiar Faces is the cleanest implementation in the consumer tier. Ring offers 'Known Visitors' on Pro plans. Most others have nothing.
Coverage: 0 to 1 of 6 covered. Faces work for one camera; multi-camera badge is rare.
Posture
Walking, leaning, crouching, hands on door, masked. Inferred by a second classifier on the bounding-box crop. Costs one extra inference per detected person.
No consumer app exposes a posture filter input today. Ring 'package theft' is a narrow special case (lifting motion at a porch), not a general posture classifier.
Coverage: 0 of 6 covered in consumer tier. This is the largest gap and the highest-leverage filter input.
The anchor fact behind every decision in this guide
The 6-input classifier costs one extra inference per detected person, and zero extra inferences for the other five inputs.
Five of the six filter inputs (class, zone, time, dwell, badge) ride for free on top of detection. They are lookups against config (zone polygons, time windows, badge state) or accumulators on the existing track (dwell). The sixth input, posture, is the one that costs real compute: a small classifier runs once on each detected person's bounding-box crop and outputs walking, leaning, crouching, hands on door, or masked.
That one extra inference is the BOM cost that has kept posture out of consumer smart home cameras: it requires either an on-camera accelerator big enough to run the second model, or a hub with one. At the price point the consumer tier sells at, the math has not worked. That is why posture is the largest gap in every consumer-app filter today, and why you should expect the gap to stay until the BOM cost of edge accelerators drops another generation.
Coverage at a glance: 6 inputs across 6 apps
Same six brands you have in your house, mapped against the six filter inputs. The pattern is consistent: class is covered everywhere, zone almost everywhere, time and dwell sometimes, badge rarely, posture nowhere.
| Feature | Consumer smart home apps (typical) | 6-input filter (commercial edge or self-hosted) |
|---|---|---|
| Object class (person, vehicle, animal, package) | Yes, on every brand | Yes, with environmental and artifact added for outright drops |
| Zone (polygon, named) | Yes on Ring, Nest, Arlo, Eufy, Wyze. Region only on Blink | Yes, with cross-camera resolution and centroid-in-polygon test |
| Time window (per-zone fire rules) | Schedules only. No per-zone class plus time rules | Property-level windows joined to zone and class |
| Dwell duration | Approximated via motion-frequency cooldown on Ring. Otherwise no | Seconds on tracked object. 2x threshold escalates LOW to HIGH |
| Badge or identity | Nest familiar faces, Ring known visitors on Pro. Otherwise no | Pulled from access control or smart-lock feed. Promotes or demotes the event |
| Posture (walking, leaning, hands_on_door, masked) | Not exposed on any consumer brand | One extra inference per detected person on the bounding-box crop |
| Decision shape | Send notification or do not | Drop, low_threat, or high_threat. Routes to digest or page accordingly |
What each consumer app actually filters on
The six brands most homeowners and small landlords end up with, and what each one actually exposes as a filter input. None of them ship the full 6-input stack today.
Ring
Class plus motion zones plus motion-frequency cooldown. Familiar faces on Pro. No dwell, no posture.
Nest
Class plus zones plus familiar faces (Aware Plus). No time-window rules per zone, no dwell, no posture.
Arlo
Class (person, vehicle, animal, package) plus zones on Secure plan. No dwell, no badge, no posture.
Eufy
AI human detection plus zones at the camera. No badge, no dwell as fire condition, no posture.
Wyze
Cam Plus AI for class plus simple zones. No badge, no dwell, no posture.
Blink
Class plus sensitivity per region. Thinnest of the six. No zones-as-polygon, no dwell, no badge, no posture.
Where the consumer-app filter wall hits
The 1-to-2 input filter holds up at the smallest scale, where zones are narrow and traffic is predictable. As you add cameras, the missing inputs compound. Here is the rough tier-by-tier reality, by camera count.
1 camera
Single doorbell or a single rear-yard camera. Consumer filters do their best work here. Ring Smart Alerts plus a tight motion zone plus person-only is honest and good. Notifications fit on one phone screen, decisions are under three seconds. Do not over-engineer.
4 to 6 cameras
One small house or a small rental. Consumer filters still work but rule maintenance gets noisy. Different cameras have different expected visitors and different time windows; the apps treat each camera independently. By month two, half the cameras have permanently silenced notifications.
- 3
8 to 16 cameras
Larger house, multiple rentals, or a small commercial site. Consumer apps no longer scale. Either move to a self-hosted Frigate or Scrypted stack with all 6 inputs configured by hand, or move off consumer-tier devices entirely.
- 4
16 to 25 cameras
Multifamily property, construction trailer, retail strip. The architecture has to flip: one event stream across the recorder you already have, not one app per camera brand. A 6-input classifier running once per multiview frame is the only honest answer at this scale.
The highlighted tier is where most of the operators we talk to land. Same notification stream that worked at one camera is fully broken at sixteen.
Three honest paths, depending on how many cameras you have
Once you know which inputs are missing, the question is how to fill them. The answer changes a lot with scale.
1 to 4 cameras. Stay on the consumer app you already have and accept the 1-to-2 input filter is what you get. Tighten the motion zone, turn on person-only, and stop. Adding more software does not add filter inputs; it adds maintenance.
4 to 8 cameras. Self-host. Frigate or Scrypted on a Coral USB or Hailo, with zones in the config, time windows in Home Assistant, dwell from Frigate's tracked objects, badge from a smart lock event stream, posture from a separate inference plug-in. You are the integrator. The reward is all six inputs, configured to your exact property.
8 to 25 cameras. The architecture flips. You no longer want one app per camera brand; you want one event stream across the recorder you already have. This is the gap Cyrano sits in. The unit plugs into the HDMI output of the DVR or NVR you already run, splits the multiview into per-tile crops, and runs the 6-input classifier on every tile. Hardware is one-time, the filter rules live in one place, and the filtered events go to one feed. It is not for a one-doorbell house. It is for a property that has stopped checking the app.
“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 property deployment
A practical filter checklist before you replace anything
Before you assume the answer is "buy different cameras", work through the inputs you already have. Most of the gains live in turning on the inputs the app already exposes, not in moving brands.
- Class. Person-only on every camera that faces a public area. Animals off unless you are filtering for a specific zone (a chicken coop, a pet door).
- Zone.Tighten every motion zone to the actual area you care about. If your rear-yard camera is firing on the neighbor's walkway, redraw the zone to cut that pixel range.
- Time. Use schedules even if your app does not expose per-zone time-of-day rules. A camera turned off during business hours is a 0 of 6 input, but it is also zero false positives.
- Dwell. If the app has a motion-frequency cooldown (Ring), set it. It is not real dwell, but it suppresses one-class duplicate alerts on a parked car.
- Badge. Turn on familiar faces (Nest) or known visitors (Ring Pro) where available. This is the cheapest single input upgrade most homeowners ignore.
- Posture. No consumer app exposes this. Track the gap; if you start seeing alerts that would have been correctly classified by posture (a person leaning at a gate vs walking past it), it is the signal you have outgrown the consumer tier.
Have more than 8 cameras and a phone you have stopped checking?
15-minute call. We run the 6-input classifier live on the multiview from the recorder you already use, and show you what gets filtered out.
Frequently asked questions
What is smart home security alert filtering, in plain terms?
Smart home security alert filtering is the layer that decides which detected events become a notification on your phone and which get logged silently or dropped. The detector says 'a person was seen at 23:14 at the side gate, confidence 0.91'. The filter then asks a separate question: should this interrupt anyone? A real filter reads six inputs to answer it (class, zone, time, dwell, badge, posture). Most consumer smart home apps only let you tune one or two of those, which is why turning on every 'smart alert' setting in Ring, Nest, Arlo, Eufy, Wyze, or Blink still leaves you with a buzzing phone.
Why are my smart home cameras still spamming me even with person detection turned on?
Because person detection is one input. A person at the front door at 17:30 (you, returning home) is the same input as a person at the side gate at 02:30 (worth checking). Until the filter also reads zone, time, dwell, badge, and posture, those two events score the same. Most consumer apps make the first the user's problem and ship the second one too. Ring's Smart Alerts (zones plus motion frequency), Nest's familiar faces (badge), and Eufy's AI human detection (class) each cover one corner of the six-input filter. None of them cover all six.
Which smart home brands cover the most filter inputs out of the box?
Nest covers the most for free users on Aware Plus: object class (person, vehicle, animal, package), familiar faces (badge), and zones. Ring's higher tiers add zone polygons and a motion frequency cooldown, which is a primitive form of dwell. Arlo's Secure plan adds package and vehicle classes plus zones. Eufy and Wyze ship class plus zones at the camera. Blink is the thinnest, with object class and a sensitivity slider. None of the six brands ship a posture input, and time-of-day rules are usually limited to schedules (camera on or off), not to per-zone class-time fire rules.
What is 'posture' as a filter input and why does it matter?
Posture is the geometry of the bounding box: walking through, leaning, crouching, hands on door, masked. It is computed by a small classifier on the bounding-box crop after the main detector fires. Posture matters because it is the difference between a person walking past your gate (drop) and a person leaning into the lock plate at the same gate at the same time of day (page). Consumer smart home apps do not currently expose posture. The closest is Ring's 'package theft' detection on the Pro stack, which is a narrow special case of posture (package being lifted from a porch), not a general posture input.
What is 'dwell' and why is sensitivity not the same thing?
Dwell is how many seconds a tracked object stays inside a zone. Sensitivity is the threshold at which the motion detector fires at all. Lowering sensitivity drops detections; it does not let you say 'fire only if the person stays in the zone for more than 30 seconds'. Most break-in attempts have a long dwell at a target (gate, window, parcel shelf). Most legitimate visits have a short dwell. Filtering on dwell separates the two with one extra input. Sensitivity, set wrong, drops both. Ring's motion frequency is a cooldown that approximates dwell at the alert layer; it is not the same as filtering on the dwell of a tracked object.
Can a smart home setup actually use all six inputs without commercial gear?
Yes, on a self-hosted stack. A Frigate or Scrypted install with a Coral USB or Hailo edge accelerator and a small posture model can read all six. You configure zones in the Frigate config, time windows in Home Assistant automations, dwell from Frigate's tracked objects, badge from a smart lock or BLE presence, and posture from a custom inference plug-in. The trade-off is that you are now the integrator, the maintainer, and the on-call for the stack. For people with 4 to 6 cameras and time on weekends, this is the cleanest answer. For people with more than 8 cameras or with rentals to operate, the maintenance cost overtakes the savings.
Where does the consumer-app filter wall actually hit?
Around 4 to 6 cameras for most apps, and around 8 cameras across the board. Single-doorbell setups (one Ring, one Nest Hello) are where consumer filters do their best work because the zone, the time, and the expected visitors are all narrow and stable. Adding a second camera fragments the rule set. By 8 cameras the operator is managing notifications across multiple zones with different time windows and different expected traffic, and the consumer apps stop trying. They will still send the notification; they will not help you decide whether the notification was worth seeing.
I have 8 to 25 cameras across one property or multiple rentals. What changes?
Two things change. First, the filter input set has to expand from 1-to-2 to all 6, because at this scale there is enough event volume that any missing input becomes operator-facing noise. Second, the architecture stops being 'app per camera brand' and starts being 'one event stream across the recorder you already have'. This is the gap Cyrano sits in. The unit plugs into the HDMI output of the DVR or NVR you already use, runs the 6-input classifier on every tile in the multiview, and emits one filtered event stream. It is not for a one-doorbell house. It is for a property with 8 to 25 working cameras and an operator who has stopped checking the app.
What does an alert from a 6-input filter actually contain?
The class (person), the zone (rear gate), the time window (after_hours), the dwell duration (62 seconds), the badge state (none), and the posture (hands_on_door), plus the camera label, the property identifier, and a 10-second clip cropped to the triggering tile. That is enough for an operator to make a decision in under five seconds without opening the app. Compare that to a typical consumer app alert: 'Motion detected at Camera 2'. The same event, two different shapes. The difference is the five inputs that did not make it to the alert.
Is it realistic to expect any consumer smart home brand to ship the full 6-input stack?
Probably not at the consumer tier, for two structural reasons. The first is that the audience for one-doorbell filtering does not feel the wall, so the willingness to pay for posture and badge inputs at that scale is thin. The second is that posture inference at the edge requires either an on-camera accelerator or a hub with one, and the BOM cost shifts the price to a tier consumers do not buy. Where the 6-input stack will actually ship is on commercial-grade boxes (the Cyrano category, and Verkada or Rhombus at higher price points) and on self-hosted stacks (Frigate, Scrypted, Home Assistant) that absorb the integration cost into the user's time.
Adjacent reading
AI Security Camera Intent Alerts
The full 6-input classifier laid out as a decision tree, with the LOW vs HIGH routing logic.
Smart Camera Alert Filtering
The 4-stage filter pipeline that runs on a DVR's HDMI multiview, beneath the 6-input classifier.
Live Monitoring vs Automated Alert Fatigue
What 200 alerts a day actually does to an operator, and why hybrid verification is the answer at scale.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.