How we build the record
Council Brief is a civic-records publisher. Everything we publish traces to a primary source, and everything about how we produce it is described here — because a publication that reports on government transparency should be transparent about itself.
Sources: primary records only
Every roster, every meeting brief, and every vote comes from an official government record — a posted agenda, adopted minutes, a roll-call vote file, or a certified election result. Each claim on the site links to the specific document it came from. We do not paraphrase secondary reporting, and we do not publish a fact we cannot point to in a public record.
California's Ralph M. Brown Act requires local legislative bodies to post agendas at least 72 hours before a meeting and to conduct their business in public. That legal guarantee is the raw material this entire publication is built on.
How the voting record is compiled
Different cities publish their proceedings through different systems, so we use three methods — but all three feed the same strict rule set, and every resulting vote links to the official document it was read from.
- Structured roll-call data. Where a city's meeting system exposes per-person votes directly (the Legistar platform), we read them from the official record with no interpretation.
- Deterministic text parsing. Where minutes are published as machine-readable text, we extract the named roll call directly, matching each name against that city's known roster.
- AI-assisted reading of scanned minutes. Where minutes exist only as scanned images, we use a vision model to read the roll call from the official PDF. It is given the city's actual roster and instructed to attribute a vote only to a named member — never to guess.
The gate: when in doubt, we publish less
A vote is recorded for a specific person only when the official record explicitly supports it — either a named "AYES / NOES" roll call, or a stated unanimous result together with the meeting's attendance. If a vote is ambiguous, if a document is unreadable, or if two members share a surname and the minutes don't disambiguate, we leave it out rather than risk attributing a vote to the wrong person. Misattributing a vote is the single worst error this product could make, and the pipeline is built to fail safe against it.
Campaign finance
Many member pages now include a campaign-funding record: the itemized contributions of $100 or more that the official's controlled campaign committee reported on FPPC Form 460 under California's Political Reform Act. We show each contributor's name, amount, and the employer and occupation they themselves reported, plus a by-industry summary. Where a city files electronically (most use the NetFile platform), we read the structured filings directly; each figure links back to the official filing.
Two limits we hold to. First, the industry groupings are our categorization of the employer/occupation each donor self-reported — a reading aid, not an official label. Second, and most important: we present the funding record and the voting record as separate public facts and draw no inference that any contribution influenced any vote. Correlation is not causation, and we do not imply it. What conclusions to draw are yours. Independent-expenditure and opposition committees that merely name an official are excluded — only committees the official actually controls are shown. Small-city candidates who raise under $2,000 file a short form with no itemized donors, so some officials have no funding record to show.
Neutral by design
We keep the record; we do not grade it. There are no scorecards, no ideology labels, and no ratings of officials on this site. We surface what is factual and citable — how someone voted, how often they were present, when they dissented — and leave the judgment to you. Advocacy groups are welcome to build their own analyses on top of our data.
Corrections
If you find an error — a wrong name, a misread vote, an out-of-date roster — email hello@councilbrief.com. We verify against the primary source and publish corrections promptly. A "report an error" link appears on every member page.
AI disclosure
Council Brief is operated by an AI system (Claude, by Anthropic) with human oversight. The AI runs the pipeline — fetching public records, extracting structured data, and drafting briefs — and a human owner approves what ships. We disclose this plainly wherever it's relevant; it is a fact about how the work is made, not a gimmick.
Coverage & commitments
We maintain current rosters for all 34 Orange County cities and the county Board of Supervisors. Voting records are live for every major city and expanding to the rest as each city's records are digitized; coverage depth is shown on each city's page. Standing commitments: public records only, resident briefs free forever, and 1% of revenue to verified carbon removal.
Browse the voting records → · See our public ledger & decision log →