The central problem in transaction fraud detection is not data scarcity — financial institutions generate enormous volumes of event data with every interaction. The problem is signal quality and reasoning depth. Transaction metadata alone — amount, merchant category, channel — describes what happened but reveals almost nothing about who performed the action, whether they were acting freely, or whether the request was generated by a human or a machine. Behavioral signals answer the question that transaction data cannot: is the entity behind this session a legitimate account holder behaving normally, or is something else in control?
Rule-based fraud systems, which dominated the industry through the 2010s, operate on a fundamentally deficient model. They encode known fraud patterns into explicit logical conditions — "flag if amount exceeds X and merchant category is Y and IP is in country Z." This works precisely once per fraud pattern, against adversaries who have not yet observed the rule. Modern threat actors adapt faster than rule sets can be maintained. The half-life of a new fraud rule against a sophisticated adversarial actor is measured in hours.
QUORUM's approach inverts the problem. Rather than defining fraud by its observable characteristics, the system defines authentic human behavior by its measurable properties — typing rhythm, interaction entropy, physical plausibility, and transactional consistency — and treats deviations from that envelope as the primary risk signal. Critically, QUORUM does not rely on a single model or algorithm to make this determination. Three independent intelligence tiers — each specialized for a different fraud surface — evaluate every request simultaneously. Their conclusions are compared, debated, and adjudicated before a final verdict is issued.
QUORUM does not detect fraud by recognizing known fraud patterns. It detects fraud by measuring the degree to which a session fails to exhibit the characteristics of authentic human behavior, then subjects that measurement to structured adversarial scrutiny across three independent intelligence tiers before any action is taken.
A single model — however sophisticated — produces a single perspective. It has blind spots determined by its training data, its objective function, and the signal categories it was optimized to evaluate. An account takeover that is invisible from a behavioral perspective (the attacker has spent weeks training on the victim's patterns) may be obvious from a financial perspective (the first transaction is a maximum-limit withdrawal). A technically clean request (no injection patterns, valid browser fingerprint) may still be behaviorally implausible (superhuman typing speed, robotic mouse trajectory). QUORUM's three-tier architecture ensures that each fraud surface is evaluated by an intelligence specifically configured for that domain — and that no single tier can unilaterally clear a high-risk session.
When tiers disagree — one calling block while another calls allow — the system does not simply average the scores or defer to the most conservative verdict. Instead, it initiates a structured internal debate: the blocking tier is presented with the opposing tier's reasoning and asked to reconsider. This cross-tier challenge cycle catches false positives before they reach the user, while ensuring that genuine disagreement (which is itself a signal of ambiguity) receives the additional scrutiny of a fourth-tier arbitrator. The debate mechanism is described in full in Section 7.
Every major fraud prevention vendor on the market — Stripe Radar, Sift, Sardine, Kount, Featurespace, Unit21 — uses a single model architecture (XGBoost, gradient boosting, or a rule-based ensemble) to produce a single risk score from a single evaluation pass. None run multiple independent domain-specialized models. None implement cross-model adversarial debate. None have a fourth-tier arbitrator. QUORUM's three-tier consensus architecture with structured inter-model challenge and ARBITRATOR escalation represents a fundamental departure from the ML scoring paradigm the entire industry uses — one that is architecturally impossible to replicate by adding features to an existing single-model pipeline.
Before any intelligence tier can evaluate a session, signals must be collected and structured. QUORUM organizes its signal inputs into four distinct layers, each contributing independent evidence about the nature of the session and the identity of the actor behind it. Layers are designed to degrade gracefully — a mobile session without mouse data is not penalized for the absence of cursor movement signals.
Interaction signals describe the physical mechanics of how a user engages with the interface. QUORUM collects three primary interaction signal types from a lightweight browser SDK:
Session signals describe the context and environment of the interaction rather than the mechanics. These are collected server-side and via browser probes:
Device and network signals are collected at the connection level, before any application-layer processing:
QUORUM supplements its own signal collection with external threat intelligence at inference time:
All four signal layers operate independently. A session that suppresses interaction signals (automation attempting to bypass behavioral analysis) still faces device fingerprinting, TLS analysis, OSINT checks, and velocity evaluation. A session that routes through a clean residential proxy still faces behavioral and interaction analysis. The system has no single signal that, if suppressed, eliminates risk detection.
Before signals reach the LLM intelligence tiers, they pass through a statistical pre-analysis layer that compares current session behavior against the user's established historical baseline. This layer operates independently of the LLM tiers and provides a fast, statistically grounded risk contribution that augments the LLM verdicts in the final score composition.
QUORUM maintains a per-account behavioral profile storing the mean and standard deviation of key interaction signals observed across confirmed-authentic sessions. At inference time, the current session's signals are compared against this profile using Z-score analysis — measuring how many standard deviations the observed value departs from the account's established norm:
A three-sigma deviation represents an event that occurs with less than 0.3% probability under the normal distribution of that user's behavior. At this threshold, the signal is strong enough to contribute meaningfully to the risk score without generating excessive false positives from natural behavioral variation.
The behavioral profile for each account is maintained as a running statistical estimate, updated incrementally with each new confirmed-authentic session. The update algorithm uses an online variance computation that does not require storing historical session data:
A minimum of five session samples is required before baseline-relative analysis is activated. Sessions prior to this threshold are evaluated using pure signal analysis only — raw signal values compared against population-level plausibility bounds rather than account-specific norms. This prevents false positives for new accounts while still catching gross automation artifacts on first-session access.
For accounts without sufficient history, and as a secondary check for accounts with established baselines, QUORUM applies a set of absolute signal plausibility tests that do not require historical context:
| Signal Condition | Flag | Risk Contribution | Rationale |
|---|---|---|---|
| Headless browser detected | HEADLESS_BROWSER | +45 | No legitimate user session runs in a headless environment |
| Typing speed = 0 on text input | NO_TYPING_ACTIVITY | +30 | Form population without keyboard events indicates scripted fill |
| Typing speed > 250 WPM | SUPERHUMAN_TYPING_SPEED | +35 | Exceeds documented human maximum; indicates automated input |
| Typing variance < 2ms (with active typing) | ROBOTIC_TYPING_PATTERN | +20 | Motor control physics prohibit this level of timing precision in humans |
| Timezone mismatch (browser vs. IP) | TIMEZONE_MISMATCH | +25 | Indicates VPN, proxy, or infrastructure inconsistency |
| Headless substring in User-Agent | HEADLESS_UA_STRING | +20 | Unmasked automation framework identifier |
| Known datacenter IP prefix | DATACENTER_IP | +15 | Consumer sessions do not originate from datacenter infrastructure |
These scores are additive. A session with a headless browser, zero typing activity, and a datacenter IP arrives at the SENTINEL tier pre-scored at +90 before the LLM has rendered any verdict — effectively pre-determining the outcome for obvious automation while preserving the LLM analysis for ambiguous cases.
SENTINEL is QUORUM's first intelligence tier, specialized for behavioral biometrics analysis. It operates as a fine-tuned language model running on dedicated inference infrastructure, isolated from the other tiers to prevent cross-contamination of reasoning. SENTINEL's sole mandate is to analyze behavioral telemetry — the interaction signals described in Section 2 — and produce a structured risk verdict.
SENTINEL is implemented as a specialized configuration of a large language model (llama3.1:8b base), fine-tuned through a structured system prompt that establishes its domain, constraints, input format, output schema, and decision rules. The model runs on a dedicated Ollama inference instance, ensuring that SENTINEL's inference does not share compute resources with INQUISITOR or ADVERSARIAL — eliminating cross-tier timing side channels and ensuring independent throughput.
The fine-tuning approach encodes behavioral fraud domain knowledge directly into the model's system context: what constitutes superhuman typing, what datacenter IP presence implies, how timezone mismatches interact with behavioral signals, and how to reason about absence of expected signals. Temperature is set to 0.05 — near-deterministic — ensuring consistent, reproducible verdicts for equivalent inputs.
SENTINEL evaluates the following signal categories, applying domain-specific reasoning that goes beyond simple threshold comparison:
SENTINEL produces a structured JSON verdict on every invocation. The output schema is enforced by the model's instruction set and validated by Zod schema parsing before the verdict enters the consensus pipeline:
The confidence field is critical to the consensus protocol. A SENTINEL verdict of "block" with confidence 0.95 carries substantially more weight in the arbitration process than a "block" with confidence 0.40. Low-confidence verdicts from any tier trigger arbitration even in the absence of explicit polarization between tiers.
SENTINEL operates behind a circuit breaker with configurable failure threshold and reset window. If SENTINEL inference fails consecutively (network timeout, model unavailability), the circuit opens and the tier returns a pre-configured fallback verdict. The fallback behavior is institution-configurable between two policies: fail-closed (block all sessions during SENTINEL outage) and fail-degraded (challenge all sessions, flagging for manual review). Fail-closed is the default for institutions in high-risk transaction categories.
INQUISITOR is QUORUM's second intelligence tier, specialized for financial fraud pattern recognition. Where SENTINEL asks "is this a human?", INQUISITOR asks "is this human behaving consistently with legitimate financial intent?" The distinction is important: a genuine human can still be committing fraud, and an account takeover operator who has carefully studied their victim's behavioral patterns may pass SENTINEL's scrutiny while presenting clear financial anomalies to INQUISITOR.
INQUISITOR analyzes the action type, user account context, transaction metadata, velocity data, and risk context submitted with each request. Its fine-tuning encodes a comprehensive set of financial fraud heuristics:
INQUISITOR classifies detected patterns into one of six fraud categories in its output, enabling downstream evidence packages and human review queues to be routed to the appropriate specialist team:
| Fraud Category | Primary Indicators | Typical Score Contribution |
|---|---|---|
| Account Takeover | New device, geo anomaly, behavioral shift, high-value withdrawal | 60–85 |
| Synthetic Identity | Thin account history, rapid profile completion, no real transaction history | 50–75 |
| Card Fraud | Round amounts, multiple failed attempts, new card on established account | 45–70 |
| Money Laundering | Deposit-withdrawal sequencing, high-velocity low-value cycling, mule patterns | 55–80 |
| Velocity Abuse | Transaction frequency anomaly, multi-window velocity spikes | 65–85 |
| Social Engineering | Unusual interaction patterns, atypical transaction recipient, behavioral hesitation | 40–65 |
INQUISITOR's velocity analysis is backed by a dedicated velocity analytics service that maintains sliding-window event counts across four temporal windows: 1 minute, 5 minutes, 15 minutes, and 1 hour. Each window tracks the maximum burst count within that window, not just the total count — this captures short-duration spikes that a simple rolling count would undercount. Burst thresholds are 3 events/minute, 8 events/5-minutes, 15 events/15-minutes, and 30 events/hour; exceedance is reported as a percentage excess and fed to INQUISITOR as a structured input alongside the raw telemetry.
ADVERSARIAL is QUORUM's third intelligence tier, operating as a red-team intelligence capability embedded directly in the request path. Where SENTINEL and INQUISITOR evaluate the human and financial dimensions of a session, ADVERSARIAL asks the technical question: "Is this request structurally attempting to exploit the system?" ADVERSARIAL works in close integration with QUORUM's AST-based Web Application Firewall, receiving pre-processed threat assessment data alongside the raw request context.
Before ADVERSARIAL's LLM inference runs, every request passes through a deterministic AST-analysis layer that provides structured threat intelligence. This layer uses Abstract Syntax Tree parsing — not pattern matching alone — to identify malicious intent in request payloads:
The WAF assessment — threat level, detected attack types, severity classification — is passed to ADVERSARIAL as structured context, allowing the LLM to reason about the combination of technical attack indicators rather than treating each detection independently.
ADVERSARIAL evaluates eight attack categories in its structured output:
| Attack Category | Detection Mechanism | Minimum Risk Score |
|---|---|---|
| Injection | AST analysis (JS/SQL) + semantic patterns | 90 |
| Fuzzing | Rapid sequential requests with parameter mutation | 75 |
| Replay | Token/cookie replay signatures | 70 |
| Bot | Headless browser + scripted interaction signatures | 65 |
| Scraping | High-frequency read patterns, structured data extraction | 60 |
| Credential Stuffing | Many distinct users from same IP, failed-auth velocity | 80 |
| Protocol Abuse | Malformed headers, protocol violations, TLS anomalies | 55 |
| Evasion | Known tool JA3/JA4 signatures, UA/fingerprint mismatch | 65 |
ADVERSARIAL operates beyond the LLM verdict: when the WAF layer produces a "block" or "ban" disposition, the originating IP is automatically added to a blocked IP list with an expiry appropriate to the severity. An autoban mechanism evaluates the 100 most recent security events from a given IP within the last hour; five or more high/critical events within that window triggers automatic permanent block without LLM consultation, preventing the inference tier from becoming a resource exhaustion target under sustained attack.
The three intelligence tiers — SENTINEL, INQUISITOR, and ADVERSARIAL — execute in parallel for every request. Their verdicts arrive simultaneously, and the consensus protocol determines the final action. This parallel architecture means that the latency of the three-tier analysis is bounded by the slowest single tier, not the sum of all three — a critical design decision for maintaining sub-50ms SLA compliance.
When all three tiers agree — all allow, all challenge, or all block — and no individual tier score exceeds 60, the system forms a consolidated verdict without invoking the ARBITRATOR. The final action reflects the unanimous direction, the composite score is the maximum of the three tier scores, and the confidence is set to 1.0 reflecting full inter-tier agreement. This happy-path resolution avoids unnecessary arbitration overhead for the large majority of clearly legitimate sessions.
Polarization occurs when tiers reach contradictory verdicts — one calling block while another calls allow. The system identifies three specific polarization patterns:
High-risk conditions — any single tier score exceeding 60 — also trigger the arbitration pathway even in the absence of explicit polarization between verdicts, ensuring that ambiguous high-stakes sessions receive additional scrutiny.
Before the ARBITRATOR is invoked, QUORUM initiates a cross-tier debate: the blocking tier is presented with the opposing tier's reasoning and asked to reconsider its verdict. This challenge prompt includes the blocker's original reasoning, the opponent's verdict, and the opponent's supporting rationale. The blocking tier has the opportunity to maintain its position or update its verdict based on the new context.
This debate mechanism catches a specific failure mode: a tier that reached a block verdict on ambiguous evidence that would be resolved by the other tier's perspective. The reconsideration result is recorded as a rebuttal and passed to the ARBITRATOR as additional context, allowing the arbitrator to understand whether the original block was maintained under adversarial scrutiny or updated in light of new reasoning.
The debate cycle is not about weakening security — a tier that maintains its block verdict after considering opposing evidence produces a much stronger signal than a tier that simply issued a reflexive verdict. The process separates high-confidence blocks from low-confidence ones, allowing the ARBITRATOR to calibrate accordingly.
Multi-tier adversarial consensus with structured inter-model debate and a dedicated arbitration tier exists nowhere else in the fraud prevention industry. Stripe Radar produces a single score from a single XGBoost inference. Sift runs a single ensemble pass. Sardine, Kount, and Featurespace each output a unified risk score from one model evaluation. QUORUM runs three independent, domain-specialized LLMs in parallel — SENTINEL for behavioral biometrics, INQUISITOR for financial fraud patterns, ADVERSARIAL for technical exploit detection — then subjects any disagreement to a structured challenge protocol before a fourth ARBITRATOR resolves the conflict. This is a qualitatively different level of reasoning depth, not a quantitative improvement on the same approach.
The ARBITRATOR is QUORUM's fourth intelligence tier, invoked only when the consensus protocol identifies polarization or high-risk conditions. It operates as an executive decision-maker: its mandate is to review the findings of all three primary tiers, assess the cross-tier debate rebuttal, and issue a final binding verdict that resolves the conflict.
The ARBITRATOR is fine-tuned with a distinct mandate from the primary tiers. Its configuration prioritizes accuracy over caution — when confidence is low, it is instructed to prefer CHALLENGE over BLOCK, recognizing that a false positive has real cost to the user experience and to the institution's relationship with legitimate customers. Its decision rules encode an explicit hierarchy of evidence:
The ARBITRATOR outputs a final verdict in the same schema as the primary tiers, which becomes the binding resolution for score composition.
Every session that reaches the ARBITRATOR tier — indicating a disputed or high-risk determination — generates a Zero-Knowledge Proof compliance record. This record cryptographically commits to the fact that a risk decision was made, the verdict reached, and the inputs that were evaluated, without exposing the raw behavioral telemetry, transaction data, or user identity information to any external system.
ZKP generation uses snarkjs with a Circom circuit that takes the organization ID, verdict, and a hash of the evaluation inputs as private witnesses, producing a compact proof that can be verified by a compliance auditor without access to the underlying session data. This is particularly relevant for GDPR/PIPEDA compliance: the system can demonstrate to a regulator that a block decision was made on a principled, documented basis without disclosing the personal data that was evaluated.
When the final verdict — whether from the consensus protocol or the ARBITRATOR — is "block," the forensic service automatically generates an evidence package. This package is a cryptographically signed PDF document containing the complete risk assessment, the tier verdicts, the reasoning from each tier, the OSINT findings, the WAF detections, and a case identifier. The evidence package serves multiple purposes:
Evidence packages are stored in a dedicated forensics directory and referenced in the immutable audit ledger described in Section 9.3 of the Zero-Knowledge Compliance Framework (QRM-ZKCP-001).
The final risk score is not simply the verdict from the consensus protocol or ARBITRATOR. It is a composite that integrates signals from multiple independent sources, each contributing an additive component bounded to prevent any single source from dominating the outcome.
The composite score is assembled from five sources:
The transitive graph risk contribution is capped at 50% weight to prevent a compromised upstream entity from deterministically blocking all sessions sharing an association with it — preserving the system's ability to distinguish between a user who occasionally shares a device with a flagged account and one who is actively part of a fraud ring.
The composite score maps to four risk levels, each with a default action:
| Score Range | Risk Level | Default Action | Description |
|---|---|---|---|
| 0–24 | Low | Allow | Session exhibits no significant fraud indicators. Proceed normally. |
| 25–49 | Medium | Allow (flagged) | Marginal signals present. Session proceeds but is logged for pattern analysis. |
| 50–74 | High | Challenge | Sufficient risk to warrant step-up authentication or MFA challenge. |
| 75–84 | High (escalated) | Challenge / Block | Strong risk signals. Institution-configurable between challenge and block. |
| 85–100 | Critical | Block | Decisive fraud indicators. Session blocked; evidence package generated. |
The composite score can override the LLM verdict in specific conditions. A session where the LLM consensus produced "allow" but the composite score reaches 85 or above is escalated to "block" — the additive signal contributions from OSINT, JA3, and graph risk have accumulated enough evidence that the LLM's behavioral verdict is insufficient to clear the session. Conversely, the system does not downgrade a block verdict issued by the LLM tiers based on a low composite score: if the LLM determined "block" through reasoning, that verdict is preserved regardless of the additive score.
Fraud does not operate in isolation. Accounts share devices; devices appear across multiple sessions from the same coordinated infrastructure; IP addresses link geographically dispersed attack nodes. QUORUM's graph intelligence layer maps these relationships and propagates risk through the network — so that a new account with no fraud history is not evaluated in isolation if it shares a device with three recently-blocked accounts.
QUORUM maintains a directed entity graph with three primary node types: users, IP addresses, and devices. Edges represent observed relationships, created automatically at session time:
user_ip_session edge type)user_device_fingerprint edge type)device_ip_association edge type)The graph is stored in two layers simultaneously: a Neo4j graph database for Cypher-query-based relationship analysis, and a PostgreSQL relational fallback for environments where Neo4j connectivity is unavailable. This dual-storage approach ensures graph intelligence degrades gracefully rather than failing entirely if graph database connectivity is interrupted.
When a session is evaluated, the graph service queries the entity relationships for the current user, IP, and device. The risk score associated with each linked entity — derived from prior fraud determinations against that entity — is retrieved and propagated to the current session. The propagation mechanism takes the maximum transitive risk score across all linked entities, applies the 50% weight cap described in Section 9.1, and contributes that value to the composite score.
This means that a user whose device was previously used in a confirmed fraud — even if the user's own account has no fraud history — inherits elevated risk from the device relationship. The elevated risk does not automatically block the session; it contributes to the composite score and may trigger additional scrutiny without preventing the session outright if other signals are clean.
When a device fingerprint carries a transitive risk score above 75, QUORUM initiates a Sybil cluster analysis. The Neo4j graph is queried for all user nodes linked to the device through the USER_DEVICE_FINGERPRINT relationship:
Three or more distinct users sharing a single device fingerprint is a statistically implausible coincidence in legitimate usage and constitutes a Sybil cluster — a coordinated network of accounts sharing physical or virtual infrastructure. Detection is reported as a critical security event and propagated to all nodes in the cluster. The PostgreSQL fallback performs equivalent cluster detection using the relational edge ledger when Neo4j is unavailable.
Graph intelligence is asymmetric in its benefit: it is expensive for attackers to build. Legitimately unrelated users sharing a device is rare; a fraud ring building synthetic accounts inevitably reuses infrastructure. Each confirmed fraud event that establishes graph linkages makes the next fraud attempt from the same infrastructure more detectable — the network effect compounds in the defender's favor over time.
QUORUM's defensive perimeter begins before any request reaches the Node.js backend. The Sentinel Edge Worker operates as a Cloudflare Workers-compatible edge function deployed at the CDN layer, performing high-speed threat pattern scanning at the network edge and injecting risk telemetry headers into forwarded requests. This architecture ensures that the most obvious attack payloads are neutralized before they consume any backend compute, and that edge-detected threat context is available to the ADVERSARIAL tier without re-scanning.
The Sentinel Edge Worker applies a lightweight regex-based scan across the URL path, query string, and request body for five high-confidence attack categories: SQL injection, XSS, path traversal, command injection, and SSTI. The scan runs against URL-decoded values, defeating single-layer encoding obfuscation. Unlike the full backend WAF — which uses AST parsing and eight attack categories — the edge scanner prioritizes throughput over comprehensiveness: it catches only the highest-severity, highest-confidence patterns that can be identified without parse overhead.
The Sentinel Edge Worker operates under the same dual-policy model as the backend intelligence tiers:
x-quorum-edge-threats, x-quorum-edge-policy) and the request is forwarded to the backend ADVERSARIAL tier for deep analysis. This preserves backend visibility into the attack while avoiding edge false positives for institutions with lower risk tolerance for incorrect blocks.If the backend itself is unreachable, the Sentinel Edge Worker applies its own fail policy — returning 503 under fail-closed or a degraded-mode response under fail-degraded — ensuring that backend outages do not create an unguarded attack surface.
At the backend layer, a persistent Cognitive Watchdog process runs continuously alongside the main API server. The Watchdog implements two independent monitoring loops:
QUORUM maintains detection quality through four scheduled automated systems that operate without requiring engineering intervention between cycles: an internal rule verification cycle, an adaptive threshold tuning loop, an infrastructure health monitor, and a governance orchestrator. All rule changes proposed by these systems require human administrator review before activation.
Every hour, the AI Orchestration Worker initiates an autonomous logic verification session. The ARBITRATOR LLM — the same model that adjudicates cross-tier disagreements in the request path — is given a different mandate: act as a sophisticated protocol auditor, examine the active rule set, and synthesize a verification vector describing a potential protocol edge case, logical bypass, or resource exhaustion scenario.
The synthesized vector — a JSON object describing the attack surface, target endpoint or rule, and expected effect (bypass, exhaustion, or deviation) — is then executed against the live fraud engine in a controlled internal session. The fraud engine either catches the vector (demonstrating the rule set covers the identified attack surface) or does not (demonstrating a logical gap):
Proposed rules created by the red team are placed in pre-flight (shadow) mode — they observe matching events and log detections without blocking — until a human administrator promotes them to active status. This prevents the autonomous system from unilaterally changing the blocking policy while still capturing the intelligence value of the identified gap. The result is a system that continuously tests its own rule logic and surfaces gaps for human review.
Every five minutes, the AI Orchestration Worker executes a reinforcement learning epoch to tune the system's risk sensitivity threshold. The epoch follows a three-step process:
The ARBITRATOR's threshold recommendations are constrained: conservative adjustments of no more than ±0.2 per epoch, preventing oscillation or runaway sensitivity shifts. A false positive rate above 15% triggers a downward threshold adjustment (reducing sensitivity to reduce false alarms); a low false positive rate combined with a low true positive rate triggers an upward adjustment (increasing sensitivity to catch more true fraud).
The Compliance Healer monitors AI service health every 5 minutes using the AI Diagnostics module, which sends a ping to each of the three Ollama inference instances (SENTINEL, INQUISITOR, ADVERSARIAL). If any tier returns an offline or failed status, the Compliance Healer automatically triggers a Docker container restart for the affected service — without human intervention. The restart uses the Docker API directly, bringing the service back to operational state and confirming recovery before resuming normal operations.
This self-healing loop operates in parallel with the circuit breaker mechanisms in the risk scoring engine: while a tier is down, the circuit breaker prevents the inference failure from propagating into the request path; the Compliance Healer works to restore the service so the circuit can close. The combination means that individual tier failures produce a graceful degradation in real-time scoring (fewer tiers consulted) while the infrastructure autonomously restores full capacity.
Once per day, the Governance Orchestrator runs a full entropy audit across the platform's rule set and telemetry store. The audit has four components:
QUORUM's rule verification cycle, adaptive threshold tuning, self-healing container remediation, and governance orchestrator collectively eliminate the manual maintenance overhead that competitors require. Competing platforms require data science teams to retrain models (quarterly or annual cycles), security teams to schedule penetration tests (annual at best), and operations teams to manually tune thresholds (ad hoc, following incidents). QUORUM runs these on fixed schedules — rule verification every hour, threshold tuning every 5 minutes, container recovery every 5 minutes, governance audit every 24 hours — at zero incremental cost per cycle. All proposed rule changes require human administrator review before activation; the system accumulates detection intelligence continuously while keeping humans in control of policy.
The following table documents all signals collected by QUORUM, their source layer, the intelligence tier(s) that consume them, and their risk contribution mechanism.
| Signal | Source Layer | Primary Tier | Contribution Mechanism |
|---|---|---|---|
| Typing speed | Browser SDK | SENTINEL + Baseline | Z-score vs. account baseline; absolute plausibility check (>250 WPM) |
| Typing variance | Browser SDK | SENTINEL + Baseline | Absolute plausibility check (<2ms = robotic pattern) |
| Mouse entropy | Browser SDK | SENTINEL + Baseline | Z-score vs. account baseline; SENTINEL holistic reasoning |
| Headless browser flag | Browser probe | SENTINEL + Baseline | +45 direct contribution before LLM; SENTINEL contextual reasoning |
| Headless User-Agent | HTTP header | SENTINEL + Baseline | +20 direct contribution; cross-referenced with browser environment probes |
| Timezone mismatch | Browser probe vs. IP geo | SENTINEL + Baseline | +25 direct contribution; SENTINEL consistency reasoning |
| Datacenter IP prefix | IP analysis | SENTINEL + Baseline | +15 direct contribution; ADVERSARIAL infrastructure reasoning |
| JA3 TLS fingerprint | TLS layer (nginx) | ADVERSARIAL | +55 for known-bad match from 15+ known tool signatures |
| JA4 fingerprint prefix | TLS layer (nginx) | ADVERSARIAL | +50 for known-bad tool family prefix match |
| IP abuse score | OSINT feed | Score composition | Direct contribution to composite score; TOR exit adds additional flag |
| Email breach status | OSINT feed | Score composition + INQUISITOR | Fixed contribution on breach; INQUISITOR credential-stuffing reasoning |
| Transaction velocity | Redis sliding window | INQUISITOR | Burst detection across 1min/5min/15min/1hr windows; excess percentage |
| Geographic anomaly | IP geolocation + history | INQUISITOR | Haversine distance; impossible travel detection; INQUISITOR reasoning |
| Device novelty | Session context | INQUISITOR | New device + high-value transaction pattern; +25 contribution |
| WAF threat assessment | AST analysis layer | ADVERSARIAL | Structured threat context (attack type, severity) fed to ADVERSARIAL LLM |
| Transitive graph risk | Neo4j / PostgreSQL | Score composition | Maximum risk from linked entities, capped at 50% weight in composite |
The following matrix documents how the consensus protocol resolves all combinations of tier verdicts. "Arbitration" indicates invocation of the ARBITRATOR tier. All high-risk conditions (any tier score above 60) trigger arbitration regardless of verdict alignment.
| SENTINEL | INQUISITOR | ADVERSARIAL | Resolution Path | Default Action |
|---|---|---|---|---|
| Allow | Allow | Allow (clean) | Direct consensus | Allow |
| Challenge | Challenge | Challenge/Allow | Direct consensus | Challenge |
| Block | Block | Block/Attack | Direct consensus | Block + Evidence Package |
| Block | Allow | Any | Polarization → Debate → ARBITRATOR | Per ARBITRATOR verdict |
| Allow | Block | Any | Polarization → Debate → ARBITRATOR | Per ARBITRATOR verdict |
| Any | Any | Attack/Block | Polarization check → ARBITRATOR if conflict | Per ARBITRATOR verdict |
| Any (score >60) | Any | Any | High-risk → ARBITRATOR regardless of alignment | Per ARBITRATOR verdict + ZKP Record |
| Any | Any (score >60) | Any | High-risk → ARBITRATOR regardless of alignment | Per ARBITRATOR verdict + ZKP Record |
ZKP compliance records are generated for all sessions resolved through the ARBITRATOR tier. Evidence packages are generated for all sessions resulting in a final "block" action, regardless of resolution path.