Inference liveSelf-hosted · Single-tenant · LAN-only

Corridor intelligencewith a service-level pulse.

HallKeep turns the IP cameras you already own into a 24/7 corridor intelligence and operations system. Edge-native AI vision, an SLA-aware event lifecycle, and shift-aware routing — all running on a Mac mini on your LAN. No cloud. No multi-tenant database. No data leaves the building.

One appliance. Two jobs.

Operations teams need SLAs. Security teams hate cloud. HallKeep covers both.

The same install your night shift uses to spot an after-hours incident is the same install your day team uses to track corridor compliance. One database, one event lifecycle, one wallboard.

As a security tool

Catch incidents before they become guest complaints.

Catch what your existing CCTV records but never flags. HallKeep watches in real time, applies your detection vocabulary, and escalates with an audit trail.

  • After-hours activity. Restricted-zone activity outside service hours triggers escalation immediately, not on the next manual review.
  • Polygon-scoped zones. Draw the area that matters. Motion outside it is ignored — including ceiling fans, screens, and timestamp overlays.
  • Anomaly detection. Loitering, tray persistence, carts blocking egress — anything you can describe with a duration and a class.
  • Per-operator audit trail. Who claimed, who resolved, when, with what proof photo. 90-day retention on the appliance.
  • No public IP, no biometrics. Encrypted credentials at rest. No facial recognition. License heartbeat is the only outbound traffic.
As an operations tool

Stop missing the moments that drive your shift.

Every detection is a clock. Confirm it, escalate it, resolve it — and answer to the SLA without paging someone manually.

  • SLA-aware lifecycle. DETECTED → CONFIRMED → WARNING → BREACH → RESOLVED. Per-event-type thresholds. A 30-second loop transitions everything automatically.
  • Shift- and floor-aware routing. Push only goes to the staff actually on duty for that floor. Telegram routes scoped by role.
  • Replay engine. Re-evaluate today's alert rules against last week's snapshots. Tune confidence and cooldowns without losing your dataset.
  • Webhooks & integrations. Per-rule fan-out to your PMS, Slack, or anything else. Audit-logged. Telegram and Web Push are first-class.
  • Wallboard, floor map, activity feed. A control-room UI that the duty manager actually wants on their screen.
Architecture · End-to-end pipeline

From frame to escalation in five honest steps.

No black box. Each stage is visible in the AI Inspector, replayable from the snapshot store, and tunable per camera.

01 · CaptureRTSP, HLS, or HTTP snapshotPer-camera intervals, encrypted credentials, optional continuous sub-stream with motion-triggered HD bursts.8 concurrent · LAN only
02 · Motion gateFrame diff, polygon-scopedCuts inference cost and false positives. Per-zone thresholds. Ignore masks for ceiling fans, TVs, timestamp text.Optional · per-camera
03 · InferenceYour sidecar, your modelCodeProject.AI compatible. Bring YOLO, RT-DETR, or anything custom. CPU, GPU, or MPS — your call. We ship zero ML weights./v1/vision/detection
04 · SLA engineFive-state lifecycleN consecutive frames promote DETECTED to CONFIRMED. Time pushes through WARNING and BREACH. Operator action resolves.30s loop · per-event thresholds
05 · RoutingTelegram, Push, WebhookShift-, floor-, and role-aware. Cross-zone cooldowns. Fan-out per rule. Every send audit-logged with redacted secrets.VAPID push · multi-route
Event lifecycle

Every detection is a clock that someone has to answer.

The five states are the only contract between the camera, the SLA engine, and the duty manager. They are the same in the database, the API, and the wallboard pill.

Detected01

First frame match. Below the consecutive-frame threshold. Visible in AI Inspector but not yet routed.

silent · auto
Confirmed02

Threshold met. Bounding-box snapshot persisted. First push goes out. Duty manager can claim.

N=3 frames · 5 min
Warning03

Unresolved past the per-type warning window. Escalation push, second route fans out.

SLA · configurable
Breach04

Past the breach window. Logged for compliance. Routes to escalation roster. Counts against SLA.

red · audit-flagged
Resolved05

Operator closed the event with optional proof photo and notes. Resolution time recorded.

attribution · retained
What's in the box

Operational tooling, not just an alerting layer.

The dashboard ships with the diagnostics, replay, and configuration surfaces a duty manager actually needs at 2am.

AI Inspector

Frame-by-frame trace: capture timing, motion gate verdict, sidecar request and response, rule match, persistence decision.

Debuggable end-to-end

Replay engine

Re-run today's alert rules against last week's snapshots. Tune confidence and cooldowns without re-collecting data.

Tuning · audit

Streaming health

Per-camera FPS, motion-check rate, reconnect attempts, sub-stream degradation, cost-ceiling signals.

Per-camera

Floor map

Spatial layout of cameras with status dots, zones, and live activity. Click a camera to jump straight to its preview.

Visual ops

Activity feed

Unified audit timeline: events, camera tests, model swaps, license pings, scheduler ticks, push notifications.

90-day retention

Webhook fan-out

Per-rule outbound webhooks. Generic JSON. Audit-logged with redacted secrets. Wire to PMS, Slack, or anything else.

Audit-logged

Support bundles

One-click diagnostic zip: logs, health, event metadata, schema, redacted secrets. Ship it to support without screenshots.

Self-serve

Zone editor

Polygon-based zones with arbitrary vertices. Per-zone motion thresholds and ignore masks. Drag points, save, done.

Per-camera

License heartbeat

24-hour ping, 72-hour offline grace, read-only fallback if expired. Tier and quota always visible in the sidebar.

Optional · airgap-ready
Where it lives

One Mac mini. Your network. Your data.

HallKeep is delivered as a single appliance — backend, dashboard, license validator — installed by your IT team or ours. The same database lives next to the same snapshots on the same machine for the lifetime of the deployment.

You don't share a tenant. You don't share a rate limit. You don't share an outage.

  • Form factorMac mini, launchd-managed. One install per property.
  • NetworkRestricted VLAN, mesh VPN (Tailscale), or direct cable. Never a public IP.
  • CamerasRTSP, HLS, or HTTP snapshot. 8 concurrent inferences out of the box.
  • InferenceExternal sidecar — CodeProject.AI compatible. CPU, GPU, or Apple MPS.
  • StorageSQLite + on-disk JPEGs. 7-day rolling window or 10 GB cap, whichever first.
  • OutboundLicense heartbeat (optional). Telegram. Push. Webhooks. Nothing else.
CUSTOMER LAN · NO PUBLIC IPCAM-LB02RTSPCAM-LOB01HLSCAM-FL2-WSNAPSHOTCAM-PARKRTSPHallKeepMAC MINI · LANapi · ui · sla · routingSidecarCodeProject.AI/detectRoutingTelegram · PushWebhooksheartbeat
Edge-resident · single-tenant · LAN-only
Single-property · single-tenant

Get a live wallboard for your property.

Tell us how many cameras, what you want to detect, and where the install lives. We'll come back with a fixed scope, a fixed price, and a deployment date.