SIMULATION No cameras, door controllers or dispatch links are connected to this host. Device telemetry, video and alarms are synthetic. Platform services, permissions, audit chain, package install and sandbox are real.

DX-261005-003 · Raptor Visitor Management — events

v0.1.3 · target PES · built 2026-10-05 12:09:27 EDT by it-admin-01
P1 2 P2 2 Unacked 4 Video 17/19 15:25:23 EDT OPSOC Operator 01
BuiltSandboxApprovedPromoted
bundle sha256 3baddc9595720d45… 12 files mode read_only

Next gate

Gates are operated by District IT. Current role can review the package but not advance it.

README.md

sha256 9c5a356224840cad5fcd…
1# Raptor Visitor Management — events
2
3**Build** `DX-261005-003` · **Version** `0.1.3` · **Target site** Paris Elementary School · **Mode** READ-ONLY
4
5Generated by Integration Bot (tpl-r4) for the MSAD 17 Security Platform.
6After promotion this package is owned and operated by **District IT**. There is no vendor or developer service contract behind it.
7
8## What it does
9- Protocol: HTTPS REST / webhooks · JSON event payloads
10- Capabilities: events, inventory
11- Normalizes vendor events to `msad17.event/1` (the same taxonomy the alarm queue uses)
12
13## Endpoints called (egress is limited to these)
14| Method | Path | Purpose |
15|---|---|---|
16| `POST` | `/api/oauth/token` | OAuth / API token |
17| `GET` | `/api/v1/visitors/active` | Active visitor inventory |
18| `GET` | `/api/v1/events` | Sign-in / alert / emergency events |
19
20## Event mapping
21| Vendor key | Platform type | Priority | Meaning |
22|---|---|---|---|
23| `VISITOR_SIGN_IN` | `door.access_granted` | INFO | Access granted |
24| `VISITOR_SIGN_OUT` | `door.access_granted` | INFO | Access granted |
25| `ALERT_WATCHLIST` | `io.duress` | P1 | Duress / panic input |
26| `EMERGENCY_LOCKDOWN` | `io.duress` | P1 | Duress / panic input |
27| `DENIED_ENTRY` | `door.access_denied` | P4 | Access denied |
28
29Unmapped vendor events are **counted and reported** on the Health page — never silently dropped. Add a row to `mapping/event-map.json`, rebuild, re-run sandbox.
30
31## Secrets
32This package contains **no credentials**. Configure these references in the platform secret store:
33- `${secret:msad17/pes/onguard/username}`
34- `${secret:msad17/pes/onguard/password}`
35- `${secret:msad17/pes/onguard/app_id}`
36
37## Install / verify (District IT)
381. Integration Bot → this build → **Run sandbox** (no network; fixtures only). Expect 4 mapped / 0 unmapped.
392. Optional offline check on any PHP 8.2+ box: `php tests/SandboxTest.php` → `SANDBOX PASS`.
403. Verify integrity: `sha256sum -c SHA256SUMS`.
414. **Approve** (reviewer 1) → **Promote** (reviewer 2, must differ). Promotion registers the connector read-only.
425. On the VPS runtime, point `config.base_url` at a **lab device first**, confirm events on the alarm queue, then widen `device_map`.
43
44## Rollback
45Demote this build in Integration Bot. The previously promoted build for this stack re-activates. Nothing on the device is changed by install or rollback.
46
47## Licensing / compliance
48Requires district Raptor API credentials. Read-only visitor/emergency events.
49
50## Notes
51Visitor desk events feed the alarm queue (watchlist / lockdown). Does not replace door ACS.