AdaptEdgeML™ is SCAM-JAMR™'s on-device, self-adapting spam risk engine. Architecturally it is a single-layer logistic regression classifier — a one-neuron "perceptron" with a sigmoid output — trained online (in-service) with stochastic gradient descent. There are no hidden layers: the model is one weight per feature plus a bias, 47 weights in all, running entirely on the phone with no external data transmission.
Given an incoming number, AdaptEdgeML™ extracts 47 signals across five categories and produces a 0–1000 risk score, a confidence level, a LOW / MEDIUM / HIGH classification, and a recommendation.
How and when the number calls over time.
What the number itself reveals.
First-contact, wangiri, callback pressure and neighbor-spoof proximity.
The user's own behavior toward the number.
FCC and FTC complaint data and NANPA area code data, downloaded to your phone at install and in periodic updates.
Call history is loaded from the app's own call-log mirror (last 20 calls, never the system call log), and the user's phone number feeds the neighbor-spoofing features.
The model starts from hand-set prior weights and is bootstrapped by AdaptEdgeCal with 8,000 synthetic call histories, run through the same feature extractors as live calls at quarter sample weight, so it has a usable opinion from day one that real calls can still overturn.
From then on it learns continuously from the user's real actions, each weighted by how strong a signal that action is. Every real sample nudges the weights via a simple gradient step and is persisted immediately.
Synthetic samples shape the weights but contribute nothing to accuracy, confidence or trust. Accuracy is an exponential moving average over real samples only, and confidence is earned in tiers:
| Real samples seen | Confidence |
|---|---|
| Under 10 | 0.3 |
| Under 50 | 0.5 |
| 50 and up | Accuracy-based, up to 0.9 |
A maturity score (real samples ÷ 50) tells the ThreatIntelligence decision layer how much of its ML factor to take from the model versus its rule-based fallback. Until the model has seen enough real calls, the rules stay in charge.
Non-finite feature values are zeroed before they reach the model.
A training step that would produce non-finite weights is rolled back and discarded.
If persisted weights are ever found corrupted, the model resets to its priors and signals the calibrator to re-bootstrap.
Because short-lived instances train while the long-lived screening-service instance predicts, every prediction and every learning step first checks whether another instance has saved newer weights and reloads them if so.
Fast enough to run inside CallScreeningService on every call.
Small enough to persist in SharedPreferences.
Each feature has one weight the debug screen can show.
Satisfies the Play Store requirements for on-device processing, no data transmission and privacy-preserving local training.
AdaptEdgeML™ is a linear model: it weighs each feature on its own and does not learn interactions between them. The engine is built around that. Upstream, DataiNetX™ detects coordinated calling patterns and encodes them as explicit features, so the interactions that matter are already in the model's input. Downstream, the ThreatIntelligence layer combines the ML score with rule-based and regulatory factors, so no single tier makes the call alone.