aicctv
Find a file
유창욱 171ef3e1c5 fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2)
ConfigController::get and HeartbeatController::post verified HMAC but never
checked nonce replay or timestamp freshness, so a captured signed request
(e.g. a replayed heartbeat) could be replayed forever, masking a dead
device. Inject NonceRepository (+Config) into both and add the same
timestamp-window + nonce-remember checks IngestController already applies,
after HMAC verification and before the response/side effect.
2026-07-12 09:19:32 +09:00
cloud fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2) 2026-07-12 09:19:32 +09:00
docs docs: P1-B cloud ingest + dashboard implementation plan 2026-07-11 23:12:04 +09:00
edge refactor(edge): DRY displacement helper into geometry.track_displacement (FIX 6) 2026-07-11 22:21:27 +09:00
tests refactor(edge): DRY displacement helper into geometry.track_displacement (FIX 6) 2026-07-11 22:21:27 +09:00
.gitignore docs: workplace safety AI CCTV design spec v2.0 + P1-A edge core plan 2026-07-11 20:08:01 +09:00
pyproject.toml feat(edge): data models (Keypoint, BBox, Person) + COCO indices 2026-07-11 20:13:00 +09:00