Trust Scoring
Every SignalStack verification returns a trust_score — a 0.0 to 1.0 value representing the system's confidence in the result. This score is computed from four weighted dimensions, each contributing a sub-score.
The four dimensions
| Dimension | Weight | Description |
|---|---|---|
| Source Authority | 35% | Evaluates the credibility of each source based on domain authority, citation count, and editorial standards. |
| Cross-Reference | 30% | Measures agreement across independent sources. High agreement = higher confidence. |
| Recency | 15% | Favors newer sources. Information older than 1 year is penalized; older than 5 years heavily discounted. |
| LLM Analysis | 20% | Uses a specialized LLM to evaluate logical consistency, contradiction detection, and semantic alignment. |
Score thresholds and verdicts
| Score Range | Verdict | Meaning |
|---|---|---|
| 0.80 – 1.00 | "true" | Strongly supported by multiple authoritative sources |
| 0.60 – 0.79 | "likely_true" | Supported but with some caveats or weaker sources |
| 0.40 – 0.59 | "unverifiable" | Insufficient evidence to confirm or refute |
| 0.20 – 0.39 | "conflicting" | Sources disagree or evidence is contradictory |
| 0.00 – 0.19 | "false" | Strongly contradicted by authoritative sources |
Evidence chain
Each verification response includes an evidence array with the sources used. Every evidence item contains:
| Field | Type | Description |
|---|---|---|
source | string | Name of the data source (e.g. "Wikipedia", "SEC EDGAR") |
url | string | Direct URL to the supporting page or document |
snippet | string | Relevant excerpt from the source |
supports_claim | boolean | Whether this source supports or refutes the claim |
authority_score | number | 0.0–1.0 authority rating for this specific source |
retrieved_at | string (ISO-8601) | Timestamp when the source was accessed |
Data sources
SignalStack aggregates data from 30+ sources:
| Source | Type | Endpoints |
|---|---|---|
| Companies House | Government register | Business |
| SEC EDGAR | Government filings | Business |
| GLEIF | Legal entity identifier | Business |
| Companies House | Government register | Business |
| SEC EDGAR | Government filings | Business |
| GLEIF | Legal entity identifier | Business |
| Sanctions Network | Free OFAC/UN/EU sanctions | Business |
| VAT BusinessPress | Free EU VAT validation | Business |
| libphonenumber | Free phone validation | Business |
| OpenCorporates | Corporate database | Enterprise |
| OpenSanctions | Sanctions screening | Business |
| Abstract API | Company enrichment | Business |
| Google Fact Check Tools | Claim database | Claim |
| Wikipedia | Encyclopedic | Claim |
| GDELT | News event database | Claim, Media |
| World News API | News articles | Claim |
| Groq | LLM inference | All |
Custom scoring (Business & Enterprise)
Business and Enterprise plans can customize scoring weights and thresholds via the dashboard or API:
Code
// Custom scoring configuration via API
{
"weights": {
"source_authority": 0.40,
"cross_reference": 0.25,
"recency": 0.10,
"llm_analysis": 0.25
},
"thresholds": {
"true": 0.75,
"likely_true": 0.50,
"unverifiable": 0.35,
"conflicting": 0.20,
"false": 0.00
}
}
# Python
client.configure_scoring(
weights={"source_authority": 0.40, "cross_reference": 0.25},
thresholds={"true": 0.75}
)Interpreting scores in your agent
Code
# Python — make agent decisions based on trust score
result = client.verify.claim(claim="...")
if result.trust_score >= 0.80:
agent.proceed() # High confidence, take action
elif result.trust_score >= 0.40:
agent.ask_clarification() # Uncertain, ask user
else:
agent.refute() # Likely false, do not actNext steps
- Explore the API Reference for endpoint details
- Learn about Webhooks for async verification
- Check Error Handling