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:- Based entirely on public data — No merchant authorization or self-reported information required
- Fully automated — The system automatically crawls and analyzes publicly verifiable data
- Cannot be purchased — Scores are not influenced by any commercial relationship
- 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:| Dimension | Weight | Meaning |
|---|---|---|
| V — Verification | 40% | Who are you? Can it be verified? |
| G — Governance | 20% | Do you have legitimate credentials? |
| S — Security | 15% | Is your site secure? |
| D — Data Quality | 15% | Is your data structured? |
| T — Transparency | 10% | 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:| Badge | Score Range | Meaning | Global Distribution |
|---|---|---|---|
| PLATINUM | 90-100 | Top-tier trust | ~2% |
| GOLD | 80-89 | Highly trustworthy | ~8% |
| SILVER | 70-79 | Moderately trustworthy | ~15% |
| BRONZE | 60-69 | Basic trust | ~20% |
| UNRATED | 0-59 | Insufficient 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:signal_value= 1 (detected), 0 (not found), or -1 (penalty signal triggered)signal_weight= relative weight of each signal
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:- DNS Scan — Check all DNS records (DNSSEC, DMARC, SPF, etc.)
- HTML Scan — Crawl the homepage and key pages; check structured data, policy pages, etc.
- Fingerprint Detection — Identify the site’s technology stack (Shopify, WordPress, etc.)
- Third-Party API Queries — Query GLEIF, Wikidata, Finnhub, SEC, etc.
- Score Calculation — Aggregate all signals, compute per-dimension and total scores
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:| Change | Effect |
|---|---|
| DNSSEC newly configured | S dimension increases |
| SSL certificate expired | V dimension decreases |
| Schema.org markup added | D dimension increases |
| Privacy policy page removed | T dimension decreases |
| GLEIF information updated | G dimension may change |
5.6 Signal Detection Status Semantics
OTR uses four statuses for each signal:| Status | Meaning | Effect on Score |
|---|---|---|
| detected | Signal found and present | Positive contribution |
| not_found | Scanned, but signal is absent | No contribution (or penalty) |
| not_scanned | Signal has not been scanned yet | Excluded from scoring |
| fetch_failed | Scan attempted but failed (timeout, network error, etc.) | Excluded from scoring (no penalty) |
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_scannedand do not affect scores - The system automatically attempts recovery after 24 hours
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