This is an independent compilation of available IReV uploads. It is not an official result. BallotGuard is not INEC.

How a number gets onto the desk

IReV publishes images and PDFs of polling-unit sheets. It does not publish a results feed. BallotGuard stores each file by its SHA-256, and opens a new version when the bytes change. Two readers extract the same fields. Where they agree, the tally uses the lower confidence. Where they disagree, or where confidence is low, the sheet waits for a person. Those sheets still count toward coverage. They do not count toward vote totals.

Accreditation is mostly a BVAS record. A blank cell on the sheet is not the accredited total. Portal accreditation JSON, when a live adapter is enabled, is kept as source metadata and is not copied into the extracted accredited field.

Flags are data-driven rules: arithmetic, overvoting, rates, corrections, image checks, ward patterns, upload delay, and clusters. One flag, high turnout and a dominant candidate, is raised only when both are true: votes cast are at least 55% of registered voters, and one candidate has at least 75% of valid votes. An operator can change those percentages. Either condition on its own does not raise that flag. A second flag, a turnout outlier and a dominant party, is raised only when turnout is at least 2.5 standard deviations from the other units in the same ward and one party has at least 75% of valid votes. Either half on its own stays quiet. The last-digit check is a uniformity test and stays silent on small samples. It is not classical Benford and it is not proof of fabrication. Error-level analysis is a weak signal, not evidence of forgery.

Dashboard totals and spreadsheet totals are the same function of the same records. Official announcements live in another table and are labelled as hand-entered. A projection scales the mean of included sheets to the registry and says so. Missing uploads are not a random sample.

The default installation never contacts IReV. The live adapter requires an operator to turn it on, to record that they have reviewed INEC’s terms, and to supply an API key that is not stored in this repository. There is no proxy rotation.