LGE2026 Coalition VerificationIndependent parallel count
South Africa · Local government elections · 4 November 2026

An independent count, published with its own instructions for checking it.

A coalition of political parties is running a parallel count of the 2026 local government elections. Our agents photograph the results slip posted at a sample of voting stations, we key the figures from the photographs, and we compare them with what the Electoral Commission publishes for the same stations.

Everything about how the sample was chosen was published before the count began, in a form that lets anyone reproduce it exactly. That is the point of this page.

Voting stations
23,696
in the country, across 4,485 wards
In our sample
1,599
drawn before the vote and fixed
Marginal wards
212
every station in them, not a sample
Randomly drawn
600
by a public beacon nobody controls

Why

An election result is a claim, and a claim that cannot be checked is asked to be taken on trust. In most of the country most of the time that trust is warranted. The problem is that "the count is sound" and "the count is unsound" look identical from outside — both are a number on a screen — and the only way to tell them apart is to have counted something yourself, independently, and to be able to show your working.

No single party in this coalition can cover 23,696 voting stations. Ten of them, pooling agents, can cover a properly drawn sample of them — which is enough, because a sample drawn by a published method supports inference about the whole, and a convenience sample of wherever a party happens to be strong does not.

This is designed to discriminate, not to detect.

A system that only shouts when it finds something is a system that has no way of saying "we looked, carefully, and it was fine". That second answer is the one an election most often needs, and it is worth exactly as much as the method that produced it. So the method comes first, and it comes before the result.

Who is doing this

A coalition of registered political parties, each of which is contesting this election. They pool agents, and each member's captures are open to being checked by the others — which is the point, and is why the membership is published rather than described.

The signatories are not yet published here.

This page will name every member of the coalition, with the date each one joined, as soon as the membership is settled. Until then it says so rather than showing a list that is not the list. A rehearsal database is loaded, and the parties in it are stand-ins that have joined nothing; they are deliberately not shown.

No party in the coalition can approve its own agent's figures, and none can quietly set aside a rival's. Where that has to be decided across members it goes to an adjudicator appointed jointly, by all of them.

How it works

01

The sample is drawn, and frozen, before the vote

1,599 of the country's 23,696 voting stations. Two parts: every station in the 212 most closely contested wards — a census, not a sample, because that is where a small shift changes who governs — and 600 stations drawn at random from the rest, with a probability proportional to how many voters are registered there.

02

The randomness comes from somewhere nobody can influence

Not from us. The random draw uses a value from drand, a public beacon operated by independent organisations that publishes an unpredictable number every 30 seconds. We name the exact future round we will use, and publish that commitment, before that number exists. Nobody — including us — can know it in advance, and there is only one value we are permitted to use.

03

Agents photograph the slip, at the station, when it is posted

By law the results for a voting station are announced and posted at that station. Our agents photograph that piece of paper and key the figures from it. The photograph is hashed on the phone before it is sent, so the image that arrives can be proved to be the image that was taken.

04

Every figure is entered twice, by two different people

Two people key each slip from the photograph, independently, neither shown the other's figures. Where they agree, the figures stand. Where they differ, the system raises it for adjudication rather than picking one. A digit misread from a photograph is the most likely error in the whole chain, and this is what catches it.

05

Rival parties check each other

Where two parties who are competing for the same seat both file the same station, and their figures agree, that agreement is worth more than either party's word alone. A coordinator cannot approve their own agent's capture, and cannot quietly set aside a rival's.

06

The comparison, and what a difference means

Our figure for a station is compared with the Commission's published figure for the same station, recorded continuously through the night. A difference is a question: it may be our keying, their capture, a slip that was wrong when it was written, or a genuine discrepancy. It is published as a question, with both figures and the photograph attached, and it is resolved by people rather than asserted by a program.

How to check our work

Nothing here asks you to trust the people running it. Each of the following is something you can do yourself, and each of them would catch us if we were lying.

Reproduce the draw

Before the random round existed we published manifest.sha256, which pins every input file and every line of the drawing procedure by its SHA-256, and a document naming the exact drand round to be used. After that round published, re-running the draw must produce a station list that is byte-for-byte identical to ours. Not similar — identical. The selection uses only SHA-256 and whole-number arithmetic, so it does not depend on your computer, your operating system or your version of anything.

# after cloning the published repository
python manifest.py --check        # inputs and procedure match the commitment
python build_frame.py 6436406     # the round we committed to

If your station list differs from ours, that is a finding, and you should say so publicly.

Check that the record was not edited afterwards

Every slip, every captured figure, every incident report and every observation of the Commission's published results is written to an append-only log in which each record carries the hash of the one before it. Changing any earlier entry breaks every hash after it. Each day's records are also anchored to a drand round, which fixes them in time against a beacon we do not operate.

Nothing in this system is deleted or overwritten. A correction is a new record that names the one it replaces and says why; both survive, and both are shown.

Hold us to realised coverage, not designed coverage

A sample of 1,599 stations only supports conclusions about 1,599 stations if 1,599 stations actually report. Agents fall ill, phones fail, and some stations will be missed. We publish the number that reported alongside every figure, and any statement about what our findings can detect must be computed on that number. A parallel count that quotes its design when its coverage was lower is a convenience sample wearing a probability sample's clothes.

What this is not

This is not the election result, and it never will be. The Electoral Commission runs the election and declares the result. This is an independent check on that declaration, run by parties with an interest in the outcome — which is precisely why every method here is published in advance and why the evidence, not our word, is what is being offered.

A discrepancy is not an allegation of fraud.
It is a difference between two records that ought to match. Most differences in any parallel count anywhere are transcription errors, including ours. Anyone treating an unresolved discrepancy from this system as proof of anything is misusing it.
An incident report is one person's account.
It is what an agent standing in a hall says they saw, frozen as filed. It is a question to be asked, never a conclusion, and one report is not a finding — a pattern across many stations might be.
We do not cover every station, and we do not claim to.
1,599 of 23,696. The sample was drawn to support inference about the whole; it cannot tell you what happened at a station that is not in it.
The sample rests on the voters' roll the Commission has published.
Our random draw is weighted by registered voters per ward, using the ward-level roll as published. Where the Commission republishes those figures against the closed roll, we redraw and reissue the commitment rather than carry on with figures known to be superseded.
We are not neutral, and we do not ask to be believed.
This coalition is made of political parties contesting this election. That is a reason to check our arithmetic, not to dismiss it — and it is why the sample was committed before the vote, why rival parties within the coalition check each other's captures, and why every figure on every screen can be traced back to a photograph of a piece of paper.

Sign in

Accounts are issued by a party coordinator. There is no public registration, and there is nothing to sign up for here.