Company

Security

The controls that exist in the product today — no more, no less.

Version 1.0 — 9 September 2026

Version 1.0 — 9 September 2026

This page describes the security controls that exist in the Suraag platform today. It is written so that a procurement reviewer or an investigating officer can check each claim against the product. Where a control does not exist yet, this page says so.

1. The principle: raw video stays with you

Footage is uploaded to the Suraag server assigned to your organisation (or stays on your own premises for on-premises deployments). The GPU engine receives individual frames and object crops in memory while a job runs and keeps nothing. The cloud stores analysis — detections, crops, embeddings, plate reads — not your video archive. The language model used to phrase answers receives text only: never frames, never crops.

2. Access control

3. Tenant isolation

Every organisation is a tenant. Every camera, source, job, event, report, case, watchlist, device, API key, audit row and user carries the tenant identifier, and every query in the console and API is filtered by it on the server. Single-record lookups across the boundary return not found rather than forbidden, so the existence of another organisation's records is never confirmed. Within a tenant, officer-level users see only footage they uploaded themselves. Signed media links can be bound to a tenant and are refused to a signed-in user of another.

4. Chain of custody

5. Audit trail

Every action in the console and the API — sign-ins and failures, searches and questions, uploads, analysis runs, reviews, report seals and reads, exports, certificate generation, settings changes, API-key and device events, alert deliveries — is written to an append-only audit table with the actor, action, target, timestamp and IP address (the real client address behind the reverse proxy). Audit entries are text only; they never contain images. The audit trail is kept indefinitely and is never pruned or edited. Administrators can filter and export it as CSV at any time; it is the record a court or inquiry may ask for.

6. Intake hygiene

8. Data flows outside the platform

DestinationSentNot sent
GPU inference (RunPod pod, authenticated with a bearer token)Frames and object crops, in memory, during a jobVideo files; nothing retained
Language model (OpenRouter or your own endpoint)The operator's question; structured facts (counts, classes, colours, times)Frames, crops, video
WhatsApp / e-mail / SMS / webhookAlert type, camera, time, a 48-hour signed link to the cropVideo
Browser push relays"New alert — open Suraag"Any alert content

9. Backups and recovery

The analysis database is dumped every six hours on the server and copied off-box to a second location where its checksum is verified against the server's; vector data is backed up daily. Raw footage is deliberately not backed up off the operator's server. Restore procedures are documented and were exercised on 17 August 2026 by restoring the artefacts and comparing checksums. Recovery targets are stated in the Service level description.

10. What is not built yet

We list these so that no one has to discover them:

11. Reporting a vulnerability

Write to support@suraag.xyz with "security" in the subject. We acknowledge within two working days, keep you informed, and do not take action against good-faith research that stays within your own organisation's data and avoids service disruption.