Documentation Index
Fetch the complete documentation index at: https://quintsecurity.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Status: roadmap — Stage 2+ of the ML Roadmap. The BI Service design + NATS consumer scaffolding exist; per-tenant deployment and the full rule-→-baseline-→-correction loop ship once Stage 1 exits shadow.
Behavioral Intelligence Service
The Behavioral Intelligence Service (BI Service) is the single Tier 2 scoring authority. It runs as a per-tenant Python service, consuming events from NATS, scoring them through the GraphReasoner rule pipeline, computing authoritative baselines, and pushing corrections back to proxies.Architecture
Components
Consumer
NATS JetStream pull consumer with durable name"bi-service". Runs on the same NATS instance as the pipeline service with its own consumer group — messages are delivered to both consumers independently.
- Batch fetch: 100 messages, 5s timeout
- Explicit ack after successful processing
- Dead letter on parse failures
- Reconnect on NATS disconnect
Scorer
Wrapper aroundquint-graph’s GraphReasoner. Scores each event through the rule-based pipeline:
- With GraphReasoner: intrinsic score, risk level, violations, compliance refs, confidence
- Fallback (when GraphReasoner unavailable): maps proxy’s
deviation_scoreto 0-100
Baseline Computer
Maintains per-agent running statistics:- Capability distribution (12 dimensions)
- Flow matrix (12x12 transition counts)
- Depth profile (12 capabilities x 8 depth levels)
Calibrator
Compares the proxy’s behavioral decision against the BI Service’s rule score:| Proxy Band | Rule Score | Gap Type | Correction |
|---|---|---|---|
| KNOWN_SAFE | >= 70 | False negative | Upgrade to ANOMALOUS |
| ANOMALOUS | < 20 | False positive | Downgrade to KNOWN_SAFE |
| Any | 20-69 | Agreement | None |
Publisher
Publishes two types of messages to NATS:- Baselines (
quint.baselines.{org}): authoritative behavioral distributions that override the proxy’s local EWMA values - Corrections (
quint.corrections.{org}): retroactive decision upgrades
Deployment
Per-tenant instance — one BI Service per customer. No multi-tenant data sharing.GET /health— uptime, consumer statusGET /ready— all components initializedGET /metrics— events consumed/scored, corrections, baselines, latency
Performance
| Metric | Result |
|---|---|
| Throughput (batch) | 780K events/sec |
| Throughput (full pipeline) | 116K events/sec |
| Scoring latency p99 | 0.002ms |
| Memory growth | 1.0x (stable across 100K events) |
| Per-agent cost | 3,490 bytes |
| Baseline computation (10K agents) | 116ms |
| Thread safety | Exact counts across 8 concurrent threads |
Limitations (v1)
- GraphReasoner is synchronous — batch parallelism limited by Python GIL
- No Memgraph — RAG context retrieval deferred to P5
- Baselines are in-memory — restart loses accumulated stats (Redis persistence planned)
- Single consumer — horizontal scaling requires NATS consumer group partitioning
- No GNN — Stage 4 structural analysis is P5 scope
Connection to Proxy
The proxy’sCorrectionReceiver handles incoming baselines and corrections:
ApplyBaseline: overrides local fingerprint distributions with authoritative valuesApplyCorrection: fires callback for alerting (ALLOW → ALERT upgrade)TightenFloors: incoming floors can only get stricter, never relaxed