SourceScore

Use case · Newsroom AI · Fact-checking

News fact-checking — AI-assisted evidence review for newsrooms

Use SourceScore's bounded AI/ML catalog to find candidate evidence for newsroom review. It can support an editor; it cannot verify a draft or replace live-news research.

The newsroom AI problem

Newsroom-facing LLM tools — explainer-bot drafts, archive-search summaries, breaking-news context briefs, beat-reporter assistants — hallucinate at deadline pressure. The retraction cost is high: editorial credibility erodes once, never fully recovers. Even one wrong attribution in an AI-generated paragraph published to 100k readers becomes a permanent reputational artifact.

Published examples of newsroom hallucinations include: incorrect attributions to scientists, mis-dated paper releases, fabricated dataset sizes, made-up regulatory actions, and incorrect historical context. Each is a fact a 30-second human verifier could have caught — but at 50 articles/day per beat, manual verification doesn't scale.

What catalog retrieval adds to your workflow

SourceScore VERITAS provides an API where:

  • Each claim cites primary evidence; 368 of 384 current claims have two or more sources. Sources are shown with publisher name, publication date, and verbatim excerpt ≤200 chars.
  • Records include SourceScore-issued HMAC integrity metadata. It is not publicly independently verifiable; use the canonical URL locally; tamper-detection is mechanical.
  • Claim pages include ClaimReview schema.org markupso consumers can inspect a machine-readable review record. Search features and eligibility are controlled by search platforms.
  • Stable claim IDs (16-hex SHA-256 of canonical fields) — re-fetchable and citeable. Always re-fetch before use because catalog records and supporting evidence can be corrected.

Integration patterns for newsroom workflows

Pattern 1 — Pre-publish evidence-review queue

After an editorial AI draft is generated, parse out atomic factual claims, retrieve possible catalog records, and send both matches and misses to an editor or entailment check. Never approve a draft solely because every assertion produced a similar record.

# Python — pre-publish gate
import requests

def find_candidate(claim_text: str) -> dict | None:
    r = requests.post(
        "https://sourcescore.org/api/v1/verify",
        json={"claim": claim_text, "minConfidence": 0.85},
        timeout=8,
    )
    return r.json().get("bestMatch")

def gate_draft(draft: str, atomic_claims: list[str]) -> dict:
    candidates, no_matches = [], []
    for c in atomic_claims:
        match = find_candidate(c)
        (candidates if match else no_matches).append({
            "claim": c,
            "match": match,
        })
    return {
        "draft": draft,
        "candidate_count": len(candidates),
        "no_match_count": len(no_matches),
        "review_queue": candidates + no_matches,
        "publish_ready": False,  # requires editorial/evidence review
    }

Pattern 2 — In-line citation injection

When a draft references a verifiable fact (model release date, regulatory milestone, paper publication), inject a footnote link to the canonical SourceScore claim page. Readers get an auditable trail; the publication gets E-E-A-T credibility lift.

# Inject [^1] footnotes
def cite_reviewed(draft: str, reviewed: list[dict]) -> str:
    cited = draft
    for i, v in enumerate(reviewed, 1):
        match = v["match"]
        footnote = (
            f'[^{i}]: SourceScore Claim '
            f'<{match["id"]}>, sourcescore.org/claims/{match["id"]}/, '
            f'record reviewed {match["lastVerified"]}.'
        )
        cited += "\n\n" + footnote
    return cited

Pattern 3 — Beat-reporter assistant grounding

For an AI assistant covering an AI/ML beat, wire VERITAS in as one bounded retrieval source. Require a separate evidence comparison before the assistant emits a factual assertion.

What this use-case catches

  • Model release dates (the most common factual hallucination)
  • Foundational paper authorship + publication dates
  • Parameter counts, context windows, training compute claims
  • Organizational facts (founding dates, funding rounds, head counts when reported)
  • Benchmark scores when explicitly published

What this use case does not cover

  • Live breaking-news claims (catalog is curated, not real-time)
  • Political claims (out of scope; v0 = AI/ML vertical only)
  • Health or medical claims
  • Hyperlocal / niche-publication claims (catalog is global tech)

For these, use existing newsroom fact-check tooling (Snopes API, ClaimBuster, manual desk-reference) alongside VERITAS. The two complement; they don't replace each other.

Compatibility with Google Fact Check Tools

Every /claims/[id]/ page emits ClaimReview JSON-LD per schema.org/ClaimReview. Search platforms decide whether to index or display that markup. For newsroom publications running their own ClaimReview, VERITAS envelopes can be embedded as primary-source citations in your own ClaimReview itemReviewed blocks.

Economics for newsrooms

  • Public API: free with no account or key; suitable for evaluation subject to standard network abuse controls.

See pricing for the proposed higher-volume demand test. No paid access, dedicated support, terms, or SLA is live.

Getting started

  1. Read the 5-minute quickstart — curl + Python + JS examples in one page.
  2. Browse the 384 verified claims — check whether your beat's common facts are covered before integrating.
  3. Sketch the integration pattern that fits your workflow (pre-publish gate, in-line citations, beat-assistant grounding).
  4. Email contact to join the higher-volume access demand test; no paid newsroom tier is currently for sale.

Related