How to Run a Union Ratification Vote Online
A union ratification vote needs a secret ballot and a verifiable count at the same time. Those are not in conflict. Here is how to run one that holds up.
A union ratification vote has to be secret and verifiable at the same time, and most people think you can only pick one. You can have both. Members must be able to vote on a contract without their steward, their employer, or a rival slate knowing how they voted. And the local has to be able to prove the count was honest if a member challenges it or the labor board asks. An online vote that gives you one property but not the other will not survive a real dispute. The good news: the cryptography for doing both at once has existed for years. The bad news: most cheap survey tools ignore it.
Why secret and verifiable both matter here
Union votes sit under legal scrutiny that a company poll never faces. Contract ratifications, officer elections, and strike authorizations can be challenged, and internal officer elections in particular carry secret-ballot obligations under federal law. If a losing side claims coercion or ballot stuffing, the local needs records that prove neither happened. But those records cannot expose how any individual voted, or you have handed every member a reason to vote defensively.
So the requirement is specific. No one, including the administrator, can link a ballot to a member. And anyone with standing can confirm the published tally matches the ballots cast. Systems that store a plain list of "member X voted yes" fail the first test. Systems that just show you a final number fail the second. You need the design that does both, which I described in end-to-end verifiable voting explained.
How the secret and the proof coexist
The trick is separating identity from content. The system checks that you are an eligible member and that you have not voted yet, then accepts an encrypted ballot that is not tied back to your name. The encrypted ballots are published. After the vote closes, they are tallied in a way that anyone can verify, and each voter can confirm their own ballot is in the box. Your name gates entry. It never touches the ballot. That is how you get a secret vote that is still countable and challengeable.
This is not exotic anymore. It is the core of what a purpose-built platform like MintVote does, versus a form tool that emails you a spreadsheet. If your current process is a Google Form and a trust-me tally, you do not have a defensible union vote. You have a suggestion box.
Running the vote itself
- Freeze the member roll. Lock the eligible list with a timestamp before ballots open. Disputes over who could vote are more common than disputes over the count. A stale roster is the easiest thing to attack.
- Set the threshold in the bylaws, not the moment. Simple majority, two thirds, whatever your constitution says, put it in writing before opening. Deciding the rule after seeing the numbers is how ratifications get overturned.
- Publish quorum and turnout. Show that enough members participated to make the result valid. I covered how to reason about that in setting quorum thresholds for governance votes.
- Keep the encrypted record. Do not purge ballots after the announcement. The challenge window outlasts the celebration.
The objection you will hear
Someone will say online voting is less secure than a paper ballot dropped in a box at the union hall. It is not, and I explained why in common mistakes running online votes. A paper box cannot let a member confirm their own ballot counted. An end-to-end verifiable system can. The physical ritual feels safer. The math is what actually protects the vote.
Run a union ratification the way you would run one you expect to be challenged, because eventually one will be. Secret ballot, verifiable count, frozen roll, written threshold. When those four hold, the result stands whether the vote was close or a landslide. That is the outcome you are actually protecting: not the number, but the legitimacy behind it.