Skip to main content

Architecture

How the Sentinel agent communicates with the Quilr backend: what it sends, what it receives, and when.

Sentinel Agent
[backend]
base_url   = "https://api.quilr.ai"
tenant_id  = "<uuid>"
auth_token = "<token>"
Backend Sync
Discover
Ingest
POST /ea/v1/sync/discovered-apps
Batches of 50
Gzip-compressed
202 Accepted
Unknown Processes
POST /ea/v1/sync/unknown-processes
Unmapped PIDs
Backend identifies
Govern
Delta Sync
GET /ea/v1/sync/delta
Poll every 120s
Approval + policy overrides
Process Map
GET /ea/v1/sync/process-map
Name-to-app mappings
Used by Correlator
Report
Activity Log
POST /ea/v1/sync/activity
Per-decision audit record
Fire-and-forget
Alerts
POST /ea/v1/sync/alerts
Block / quarantine events
Dashboard notifications
Bearer Auth · Tenant-scoped · Gzip Compression · Retry on Failure
Quilr Backend
App CatalogGovernance PoliciesProcess MappingsDelta EndpointAudit DashboardAlert Queue
QuilrAI

API Endpoints

DirectionMethodDescription
Agent → BackendPOSTBatch push discovered entities
Agent → BackendPOSTPer-decision enforcement audit log
Agent → BackendPOSTBlock and quarantine alert notifications
Backend → AgentGETGovernance overrides: approval status, execution policy
Backend → AgentGETName-to-app mappings used by the Correlator

Sync Cadence

OperationTriggerFrequency
App ingestNew entities discoveredOn discovery (startup + every 30 min)
Delta pullScheduled timerEvery 60 seconds
Activity reportEnforcement eventImmediate, fire-and-forget
AlertBlock / quarantine actionImmediate, fire-and-forget

Authentication

All requests include the following tenant-scoped headers:

HeaderValue
X-Tenant-IDTenant UUID from the dashboard
X-Subscriber-IDSubscriber identifier from the dashboard

These headers are set on every outbound request and are used by the backend for multi-tenant routing and isolation.

Local Persistence

The agent maintains local state to ensure reliability across restarts and network outages.

ComponentFormatPurpose
Alert QueueSQLiteBuffers enforcement alerts when backend is offline.
Entity StoreJSONPeriodic snapshot of discovered apps and AI entities.
Sync CursorJSONPersists the last-seen delta timestamp for incremental sync.

Reliability

FeatureBehavior
Ingest retriesRetries on network failure; batches are idempotent.
Offline BufferingAlerts are queued in the local SQLite DB and synced when connectivity returns.
Delta cursorPersisted to disk before applying overrides; replays safely on restart.
Activity / alertsCritical alerts are buffered; non-critical activity logs are fire-and-forget.
Gzip compressionAll ingest payloads compressed to reduce bandwidth.