Opposition work is the job of building a file from public records and handing a sourced line to someone else. A spreadsheet can hold that file. A research platform can hold it. The choice is which container keeps the published file standard intact when the line moves. A longer comparison of the two workflows is /blog/campaign-research-platform-vs-spreadsheets-which-workflow-holds-up. This page asks the narrower question: what each container has to carry for opposition work. The field manual is The Complete Guide to Evidence-Backed Opposition Research for Campaigns at /blog/the-complete-guide-to-evidence-backed-opposition-research-for-campaigns.

The dossier those lines come from is /blog/how-to-build-a-citation-backed-candidate-research-dossier. Turning records into a file a second person can open is /blog/how-to-turn-public-records-into-a-usable-candidate-dossier. Checking a claim before a memo is /blog/how-to-verify-political-claims-before-they-reach-a-campaign-memo. The records change with the office, mapped at /blog/9-types-of-race-specific-research-campaign-teams-need.

What the opposition file has to hold

The opposition-research page starts with identity: legal name, office, jurisdiction, cycle, and anyone who shares the name. A Secretary of State filing or an FEC committee name is the anchor, because a ballot name and a committee name are often different strings. The working sections are votes where a voting record exists, public statements stored as the words that were said, campaign finance filings, personal financial disclosures, donor lines taken from those filings, and court records that match the person. An empty section is the correct result when the person has no record of that type.

A contradiction flag is a pointer between two sourced items. It is useful when both items stay attached. A flag with one side missing is a prompt for more research, and it should be labeled that way. Before a line leaves the desk, it carries a source a second person can open. On a published briefing that citation is a source URL plus a source type. The communications packet keeps the claim, the date, and the source. Any container that drops one of those when the row is copied has lost the finding.

When a spreadsheet matches that standard

A sheet holds up when its columns are the file standard: legal name, office title, jurisdiction, cycle, filing identifier, source URL, source type, the date read, and an amendment note. One row is one sourced line. A second row can hold the other side of a contradiction flag, with a column that says the pair agrees, diverges, or talks about different bills that share a topic word. Amended finance reports replace earlier totals, so the amendment note points at the report that is current. FEC filings and a personal financial disclosure stay in different rows, because they are different forms.

A cell that says the line is verified is a label a person typed. It matches the methodology page's citation_validation_status only when someone has opened the document and the file shows that the document still exists at the URL and still contains the cited language. The public site does not publish a spreadsheet error rate, a time-saved figure, or a ranking of tools. A sheet also does not become the homepage product by adding more columns. The homepage comparison block is an illustrative example, and this page does not treat its sample cells as measurements.

What the published platform already organizes

The homepage says every candidate gets the same profile: votes, quotes, filings, and contradiction flags, each linked to the public record. The spine is Capture, Govern, Analyze, Review, and Export. Review names analyst, senior, legal, and communications. Export names receipts, citations, and watermarking. The methodology page says records begin as FEC filings, Secretary of State candidate filings from 47 states, and county registrations from four county adapters. Ingestion runs on a schedule. Blog briefings regenerate hourly. Candidate research records refresh daily.

A permanent receipt, as the public facts page describes it, is a citation page for one published finding: claim, source link, capture timestamp, content SHA-256, and supersession history. That public route stays off until PUBLIC_RECEIPT_PAGES_ENABLED is turned on. The private share link is a different surface: noindex, watermarked, and expiring. Profile access is priced per month, per profile, and research books are prepared per candidate. Surfaces the homepage marks as in build, including the war room live dashboard and the workspace UI for the claim engine, are not part of the live comparison on this page.

How to choose for the line you have to hand off

A contradiction flag in either container still needs both items, with a citation on each side. Those questions are /blog/contradiction-flags-in-candidate-research-common-questions-answered and /blog/source-citations-in-political-research-your-questions-answered. Sharing the finished line without dropping the source is /blog/how-political-consultants-can-share-candidate-findings-without-losing-sources.

Use the sheet when the desk already keeps the columns above and a second person can open the URL from the row. Use the platform when the handoff needs the same profile fields the homepage lists, with the citation still attached and review named as analyst, senior, legal, and communications. Either choice fails when the sentence moves and the source stays behind. The opposition-research page says campaigns that write the mail piece first and hunt for a citation after spend the last week discovering that the citation does not say what the draft assumed.

Office still decides which rows can exist. A House file, a mayor's city filing, and a judicial candidate are not the same stack, which is why /blog/9-types-of-race-specific-research-campaign-teams-need sits next to this choice. The canonical coverage sentence dated 2026-10-03 is 24,000 profiles in the public candidate-research index. The homepage counter on 2026-10-05 read 24,130. Those figures describe the index. They are not a measure of sheets, platforms, or time saved.

Questions Campaigns Ask

What decides whether a spreadsheet holds up for opposition work?

The columns have to match the published file standard. Legal name, office, jurisdiction, cycle, a filing identifier, source URL, source type, the date read, and an amendment note.

What does a research platform add in the published product?

The homepage says every candidate gets the same profile, with votes, quotes, filings, and contradiction flags linked to the public record. Export names receipts, citations, and watermarking.

Does OppIntell publish a spreadsheet error rate?

The public site does not publish spreadsheet failure statistics, time saved, or a ranking of tools. A cell that says a line is ready is a label a person typed.