How published research is sourced

The controls below run on research built from public records. Federal Election Commission filings cover candidate committees, principal campaign committees, independent expenditures, and Super PAC reports. Secretary of State candidate filings are ingested from 47 states, and county-level candidate registrations come from the four county adapters in production. Ingestion runs on a schedule. Blog briefings regenerate hourly. Candidate research records refresh daily. When a candidate withdraws, a committee terminates, or a filing is amended, the corresponding research record is reprocessed on the next ingestion run.

Every claim carries a source URL and a source type, and citation validation checks whether the cited document still exists at that URL and still contains the cited language. Where the record supports a direct fact, the briefing states it and cites the record. Where the record only opens a question, the briefing uses posture language: “may”, “could”, “would examine”, and “appears consistent with”. Rumors, anonymous tips, and unsourced social posts can start a question. They are not published as claims until a public record answers the question. Anonymous tips and unverifiable sourcing are not part of the pipeline. How OppIntell produces research is the full account, including the official list of government sites by state. The opposition research page describes the public-record file those rules apply to.

OppIntell does not run private investigations, surveillance, or pretext contacts, and it does not collect non-public data. A line that is not in a public record stays out of the published file.

Corrections and routine updates

Reporting a factual error does not change the live page by itself. Report an error creates a pending request. A reviewer confirms it before any correction is made. Submitting that form does not publish anything and does not apply a correction automatically. A resolved correction, a factual error in a published claim that was acknowledged and fixed, is listed on the corrections log as an immutable, reviewer-attributed action.

The ledger behind that log is append-only. A request, the action taken, and the timeline from request to resolution are recorded separately. An applied-action row cannot be edited after it is written, and a request cannot be marked resolved unless an applied action is already on record. Corrections and privacy or removal requests use that ledger rather than a direct edit of a live database row.

A routine data revision is not that kind of entry. Parser or ingestion supersession, such as a citation re-resolving or a scheduled re-ingestion picking up a newer filing, updates the research because the public record changed. Those revisions are not listed as corrections. When a cited document is moved, removed, or amended, the affected post is held back from public view until the source is re-resolved or replaced.