Skip to main content

Scoring Engine — COLD Mode

5.1 What Is COLD Mode

OTR trust scores currently operate in COLD mode (Comprehensive Open Ledger Data). The defining characteristics of COLD mode:
  1. Based entirely on public data — No merchant authorization or self-reported information required
  2. Fully automated — The system automatically crawls and analyzes publicly verifiable data
  3. Cannot be purchased — Scores are not influenced by any commercial relationship
  4. 5 active dimensions — V/S/G/T/D are assessed automatically; F (Fulfillment) requires authorization and is not yet factored in

5.2 COLD Weight Formula

The OTR total score is calculated as:
Trust Score = V x 0.40 + S x 0.15 + G x 0.20 + T x 0.10 + D x 0.15
DimensionWeightMeaning
V — Verification40%Who are you? Can it be verified?
G — Governance20%Do you have legitimate credentials?
S — Security15%Is your site secure?
D — Data Quality15%Is your data structured?
T — Transparency10%Are your policies transparent?

Why V Dimension Carries the Highest Weight

V is weighted at 40% because identity verification is the bedrock of trust. A website with excellent security configuration and complete data is still not highly trustworthy if its real identity cannot be verified. This weight design draws from the financial industry’s KYC (Know Your Customer) principle: first confirm who you are, then assess everything else.

Why F Dimension Is Excluded from COLD

The F dimension (Fulfillment) requires merchant authorization to verify, including data such as: actual shipping records, refund rates, and customer complaint rates. This data is not public and cannot be automatically crawled. The F dimension will be activated after merchants onboard with OTR. At that point, the weight formula will be recalibrated.

5.3 Trust Badges

Per-dimension scores (0-100) are weighted to produce a total score (0-100). Badges are assigned based on the total:
BadgeScore RangeMeaningGlobal Distribution
PLATINUM90-100Top-tier trust~2%
GOLD80-89Highly trustworthy~8%
SILVER70-79Moderately trustworthy~15%
BRONZE60-69Basic trust~20%
UNRATED0-59Insufficient trust~55%

What Badges Mean in Practice

Trust badges are not just labels — they influence how AI agents make recommendation decisions:
  • PLATINUM / GOLD — AI agents prioritize these merchants, ranking them higher among similar products
  • SILVER — AI agents recommend normally
  • BRONZE — AI agents may recommend but will flag the trust level
  • UNRATED — AI agents may skip these merchants or deprioritize them

5.4 How Each Dimension Score Is Calculated

Each dimension score is the weighted average of all signals within that dimension. Using the S dimension as an example:
S_score = Sum(signal_weight * signal_value) / Sum(signal_weight)
Where:
  • signal_value = 1 (detected), 0 (not found), or -1 (penalty signal triggered)
  • signal_weight = relative weight of each signal
Specific signal weights are defined in the OTR open-source specification and may be adjusted as industry standards evolve.

5.5 Score Lifecycle

A domain’s trust score is not calculated once and frozen. It has a complete lifecycle:

Initial Scan

When a domain is first scanned by OTR:
  1. DNS Scan — Check all DNS records (DNSSEC, DMARC, SPF, etc.)
  2. HTML Scan — Crawl the homepage and key pages; check structured data, policy pages, etc.
  3. Fingerprint Detection — Identify the site’s technology stack (Shopify, WordPress, etc.)
  4. Third-Party API Queries — Query GLEIF, Wikidata, Finnhub, SEC, etc.
  5. Score Calculation — Aggregate all signals, compute per-dimension and total scores
The entire process is automated and typically completes within minutes.

Periodic Rescans

Scored domains are periodically rescanned to detect changes:
  • Temporal rescan — Rescans at preset intervals
  • Change-triggered rescan — Triggered when certain domain indicators change
  • Manual rescan — Domain owners can request an immediate rescan

Score Changes

After each rescan, if signal changes are detected, scores update immediately. Common reasons for score changes:
ChangeEffect
DNSSEC newly configuredS dimension increases
SSL certificate expiredV dimension decreases
Schema.org markup addedD dimension increases
Privacy policy page removedT dimension decreases
GLEIF information updatedG dimension may change

5.6 Signal Detection Status Semantics

OTR uses four statuses for each signal:
StatusMeaningEffect on Score
detectedSignal found and presentPositive contribution
not_foundScanned, but signal is absentNo contribution (or penalty)
not_scannedSignal has not been scanned yetExcluded from scoring
fetch_failedScan attempted but failed (timeout, network error, etc.)Excluded from scoring (no penalty)
This four-state design is important: it distinguishes “confirmed absent” from “not yet checked.” If a signal shows not_scanned, the system has not yet had a chance to evaluate that signal, and the domain will not be penalized for it.

5.7 Circuit Breaker Mechanism

OTR depends on multiple third-party APIs (GLEIF, Wikidata, Finnhub, etc.). If a particular API becomes consistently unavailable, the system does not penalize every domain as a result. Circuit breaker logic:
  • If an API fails consecutively beyond a threshold (e.g., 7 times), the system marks that data source as “suspended”
  • During suspension, signals that depend on that API are marked not_scanned and do not affect scores
  • The system automatically attempts recovery after 24 hours
This ensures that temporary third-party API outages do not cause widespread score fluctuations.

5.8 Self-Assessment: Understanding Your Score

When reviewing your domain’s score, focus on these key points:
  • Which dimension has the lowest score? That is your priority for improvement
  • Which signals show not_found? Those are areas you can address
  • Which signals show not_scanned? Those have not been evaluated yet
  • V dimension accounts for 40% — if V is low, concentrate your efforts there
  • D dimension is the easiest to improve (llms.txt + Schema.org markup)

Next Chapter: REST API Reference — Complete technical documentation for the OTR query API