Cite Oravan
Oravan is built to be a source you can cite and correct: every bill has one permanent address, a dated freshness stamp, and a clear line between the official record and AI-drafted plain language. This page spells out exactly what that promise means — for reporters, librarians, and anyone building on Oravan's data or MCP server — and explains how to report an error.
Building something on top of Oravan's data instead? The MCP server hands the same bill decodes and representative lookups to an AI agent — read-only, keyless, and citation-first. MCP server docs →
Canonical URLs
Every bill gets one permanent address in each language, built only from its own bill type, number, and Congress — never from its status. A citation written the day a bill is introduced still resolves after it's signed, fails, or expires; the address is never reused or reassigned.
Example — H.R. 1787, the same bill used in Oravan's own demo material:
https://oravan.org/bills/hr-1787-119
"Data as of" freshness
Every page states the date of Oravan's last successful nightly sync with Congress.gov — not a live feed, and not the date you happen to load the page. Cite that date, not today's date, as the moment the underlying facts were last checked. It's the same value as the as_of field in every MCP tool response. One exception: the news articles in a bill's "How it's being covered" section don't come from Congress.gov. Coverage is re-checked on its own rotation — the most urgent bills every night, the rest in turn — so the stamp says nothing about how old those articles are. That section prints the date of the newest article it holds — cite that as the coverage's own cutoff, not as a date we last looked; newer coverage may exist that we haven't collected.
Data as of August 25, 2026
Where the data comes from
Bill status, dates, sponsor, and text come from Congress.gov. Member and district-office data comes from the public-domain unitedstates/congress-legislators project. Both refresh only through Oravan's own nightly sync. The MCP citation envelope states the source in whichever language a query requested — both language versions are shown below, since this page is read by both:
English: Congress.gov and unitedstates/congress-legislators, via Oravan's nightly sync
Español: Congress.gov y unitedstates/congress-legislators, mediante la sincronización nocturna de Oravan
The AI-content policy
Two kinds of text appear on a bill page, and they're never presented the same way. The official record — title, status, sponsor, dates, last action, the Congress.gov link — is copied, not generated. The plain-language layer — the headline, the summary, and the what/who/why/cost sections — is AI-drafted, and no field publishes unless automated gates pass: both languages present, the official record attached, and a schema check on every decode — a decode that comes back missing a required field is discarded rather than stored half-written, and the whole corpus is re-checked before the nightly sync is allowed to publish anything. The Spanish version of that layer is an AI translation of the English decode, produced in the same model call rather than a second reading of the bill, and it clears the same checks: the Spanish is one of those required fields, so a decode without it is never published in English alone. Nonpartisan wording is held two different ways, and we won't blur them: on bill decodes it's a drafting instruction to the model, and on Big Questions it's an enforced vocabulary check that blocks the publish. Wherever AI-drafted content appears — the site, the MCP server, an embed — it carries this label, in the language the request used; both language versions are shown below:
English: This plain-language content is AI-generated and automatically checked before publish. It is not the official bill text.
Español: Este contenido en lenguaje sencillo es generado por IA y verificado automáticamente antes de publicarse. No es el texto oficial del proyecto de ley.
Call scripts work under a stricter rule still: they're drafted only inside Oravan's own site, and a caller must read and can edit the script before placing a call. Oravan's MCP server never generates one — it hands back a link to the on-site flow instead, so that human-review step can't be bypassed by an agent.
Licensing
- The underlying official-record data — U.S. public domain, in both languages:
English: Public domain (Congress.gov; unitedstates/congress-legislators).
Español: Dominio público (Congress.gov; unitedstates/congress-legislators).
- Oravan's own AI-drafted plain-language content, in both languages:
English: CC BY 4.0 (Oravan's AI-generated plain-language content); underlying official data is U.S. public domain (Congress.gov).
Español: CC BY 4.0 (el contenido en lenguaje sencillo generado por IA de Oravan); los datos oficiales subyacentes son de dominio público en EE. UU. (Congress.gov).
AllSides' outlet-lean ratings, shown in each bill's "Read" section, are used under a separate CC BY-NC license and are excluded from the MCP server and from anything commercial — a website-only feature until that's resolved.
Report an error
Found something wrong — a mistranslation, a misread status, a plain-language summary that misstates what a bill does? Use the feedback button in the footer of this (or any) page and choose "Something's not working." Name the bill and describe the error — that's the same intake Oravan uses for every other bug report, not a separate correction form.
Report an errorWhat happens when a correction is confirmed
A confirmed error is fixed at the source — the same reviewed data both languages' decodes are built from. From there, every surface reading that data updates together on Oravan's next deploy: the bill page, its statically generated share-card image, and the MCP server's tool responses all read the identical file, so there's no separate cache to invalidate. The one thing that doesn't move on its own is the freshness stamp — the site-wide "as of" date and the MCP envelope's as_of field both track Oravan's last successful nightly sync, so they advance at the next scheduled sync run after the fix ships, the same way they do every night. An embeddable widget that carries bill text is still in development, not yet shipped; once it exists, it will read this same corrected data with no separate correction step of its own.
A correction that points to a broader pattern — not a one-off slip — gets tracked for Oravan's ongoing Spanish-language review process rather than patched quietly and forgotten.