ML Pipeline
Four models run in sequence on every session's 34-signal feature vector, combining into the HCS score.
Rule-based gates
< 1msFast, deterministic pre-filtering. Catches obviously synthetic patterns before any model inference runs, keeping the median request cheap.
Siamese LSTM
keyboard identityVerifies keystroke-timing consistency across a session for identity continuity. Runs CPU-only by design — an MPS/Apple Silicon NaN instability with LSTM layers made GPU inference unreliable, so this model is frozen and CPU-bound permanently, not as a temporary workaround.
XGBoost classifier
primary classifierThe main bot/human classifier, trained on the mouse/scroll/touch/motion/navigation features. Achieves 0.9993 validation AUC — see the research whitepaper for the full training methodology.
Contrastive autoencoders
anomaly detectionOne autoencoder per modality group (keyboard, mouse+scroll, touch+motion). Catches novel bot patterns the classifier hasn't seen — the layer most responsible for detecting new automation frameworks the training data never encountered.