{{ liveHeading }}
{{ focusTile.name }} · {{ focusTile.branchName }} · main stream
{{ focusTile.stateLabel }}
{{ t.name }}
{{ t.stateText }}
substreams · {{ sessionCount }} sessions · {{ aggregateBitrate }} Mbps
{{ pinnedAlert.classLabel }}  {{ pinnedAlert.branchName }} · {{ pinnedAlert.channelName }} · {{ pinnedAlert.timeStr }}
Active ({{ activeAlertCount }})
{{ a.timeStr }} {{ a.classLabel }}
{{ a.branchName }} · {{ a.channelName }}
Recent
{{ a.timeStr }} {{ a.classLabel }}
{{ a.branchName }} · {{ a.channelName }}

{{ selectedAlert.classLabel }}

{{ selectedAlert.branchName }} · {{ selectedAlert.channelName }} · {{ selectedAlert.zoneLabel }}
{{ selectedAlert.timeStr }} device · server +{{ selectedAlert.driftStr }}
CAPTURE
captured face
{{ selectedAlert.refLabel }}
{{ selectedAlert.refCaption }}
Match score: {{ selectedAlert.matchScore }}
Similar captures in last hour: {{ selectedAlert.similarCount }}
Resolved by {{ selectedAlert.resolvedBy }} — {{ selectedAlert.resolution }}
{{ evResultCount }} events
Time
Branch
Channel
Type
Classification
Person
{{ r.timeStr }}
{{ r.branchName }}
{{ r.channelName }}
{{ r.type }}
{{ r.classLabel }}
{{ r.personName }}
{{ r.classLabel }}
{{ r.timeStr }} · {{ r.branchName }}
Hourly event density, last 24 hours
{{ pbMonthLabel }}
{{ d.num }}

{{ pbSelectedDateLabel }} · {{ pbChannelLabel }}

Recorded on-device · retrieved over LAN
Scrub position: {{ pbScrubLabel }}
{{ col.label }}
{{ row.branchName }} {{ row.nvrName }} {{ row.stateLabel }} {{ row.cameras }} {{ row.disk }}% {{ row.recording }} {{ row.lastContact }} {{ row.drift }}
⚠ REVOCATION PENDING
{{ revocation.personName }} was revoked centrally at {{ revocation.revokedAt }}. Still active on {{ revocation.nvrId }} ({{ revocation.branchName }}), offline since {{ revocation.offlineSince }}. This person will continue to be recognised as authorized there until that recorder reconnects.
Name
Ref ID
Class
Scope
Status
{{ p.name }}
{{ p.refId }}
{{ p.classLabel }}
{{ p.scopeLabel }}
{{ p.statusLabel }}
{{ r.icon }} {{ r.nvrId }} / {{ r.library }} — {{ r.state }} {{ r.detail }}
Page {{ personPage }} of {{ personPageCount }} · {{ personTotalCount }} persons

{{ wizardStepTitle }}

{{ wizardPhotoLabel }}
✓ one face  ✓ sharpness 0.81  ✓ pose 6°  ✓ 210 px

{{ wizardReviewText }}

{{ configureHeading }}

Only controls this recorder and channel actually support are shown (FR-8.14)
{{ t.label }}
Requested 4096 kbps · device applied 4000 kbps
{{ d.name }}
Continuous recording, all days
✓ AUTHORIZED (whitelist) threshold {{ ruleAuthThreshold }}
Libraries: HUB_ALLOW_{{ configureBranchId }} (24 persons)
✓ PROHIBITED (blacklist) threshold {{ ruleProhibThreshold }}
Libraries: HUB_DENY_Global (3 persons)
✓ UNREGISTERED (stranger)
Zone: 🔒 restricted → alerts enabled
Cooldown: 5 min · Rate limit: 20/hour
ⓘ This channel is in a restricted zone, so unregistered persons raise alerts. Public-zone cameras record them silently.
The three rules appear in fixed device order and cannot be reordered — the indices are structural.
⚠ Cloud sync offline since {{ syncOfflineSince }} ({{ syncOfflineDuration }})
{{ syncQueueDepth }} events queued · will upload automatically on reconnection.
Live view, event capture and recording are unaffected.

Licence

State: {{ licenceState }} · Expires {{ licenceExpiry }}
{{ cb.label }}{{ cb.usedOf }}

Version & diagnostics

Hub Server v3.4.1 · build 2026.08.02

Audit trail

Time
Actor
Action
Target
{{ a.time }}
{{ a.actor }}
{{ a.action }}
{{ a.target }}

Export interval

This export will be recorded in the audit trail (FR-5.5).

Resolve alert

{{ toastMsg }}