Ballots here, ballots there, ballots everywhere

Can anyone explain how this election software is actually supposed to work?

Yesterday, we learned that two counties in Georgia “found” batches of previously uncounted votes. These votes were stored on “memory” cards, but somehow were never reported in the initial count.

To which I say: How is that freaking possible in the year 2020? This leads to a more fundamental follow up question: Does anyone have any idea how this election software is actually supposed to work?

While the media has been dutifully reporting the software that runs our elections is both secure and trustworthy, there’s been little discussion about what the software actually does and how it does it.

I’ve been in the technology industry for 20 years. I’ve used just about every piece of software out there from 3D animation to Customer Relationship Management. I have no idea what a ballot would be doing on a device as insecure as a memory card. In fact, I’m not even sure what that really means (A scanned copy of the actual ballot? The results of the ballots that were scanned?), but let’s go back to the beginning of the vote counting process for a moment.

Presumably, the process starts with a poll worker scanning in a ballot. The ballot would include a bar code to prevent duplicates and the software would record the result without informing the poll worker how the person voted. In essence, it would be black box: Ballot in, results stored and hidden, poll worker aware only that the ballot was scanned successfully.

This process would be replicated across dozens, hundreds, or even thousands of machines, and then the results would be centralized somewhere. I think this is where the memory cards might come in: The poll worker takes the votes off their local scanner and then loads them into the master server.

But if that’s the case, how does the system account for lost votes?

If there was no recount in Georgia, these votes would never have been found. This prompts a few other basic architectural questions:

  • What mechanism is there to ensure the count of the votes scanned equals the total number of votes tallied on the master server?
  • Why does the system rely on physical media that can be lost, stolen, or destroyed, rather than a secure, encrypted network?
  • What is actually stored on the memory card? Can it be manipulated somehow?

In an era where most major corporate networks don’t allow memory cards or other removable media, making them essential to the vote counting process seems like a very odd choice. In fact, I can’t think of any other enterprise software that relies on them for anything at all, from Salesforce to SAP nothing uses a memory card.

We’ve also seen a few issues with the vote counting itself. In addition to the infamous late-night vote dumps in Michigan and Wisconsin, which were supposedly corrected, there was at least one verified instance of approximately 6,000 Trump votes being recorded for Biden.

Again, how is that possible? Totaling the votes is the easy part. Once you have them scanned, you just need to count them and check the total count against the number of recorded votes, and, yet, even the poll workers agree tabulation errors still occur.

This opens up yet another round of questions:

  • How are these errors caught? Does the software catch them or is it up to the poll workers?
  • What audit trails exist for errors and then their corrections?
  • Can the vote counts be edited? If not, how does a correction occur?
  • How do we know that all the votes are counted?

Lastly, is it too much to expect journalists to dig into these basic questions just the slightest bit? Instead of telling us, trust them, everything is fine, perhaps a little transparency and a few questions would be helpful here.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s