How the records were linked
Last month, Princeton University postdoctoral researcher Springer used records obtained under Georgia’s open-records law to test whether voters could be identified from their ballots. He said he built a pipeline in a couple of hours using a large language model subscription that cost $20.
The AI agent analyzed ballot records statewide and identified what additional data would be needed to identify actual voters. It did not refuse the request or warn about possible misuse.
Georgia’s system records each voter who arrives at a polling place. The voter selects candidates on a touchscreen, which prints a paper ballot that the voter feeds into a scanner. The scanner creates a digital ballot record, or CVR, and assigns it a unique identifier.
Springer matched early-voting records against county CVR files to reconstruct the voting order for 1.52 million ballots: 98.9% of in-person ballots in 114 of the 139 counties he checked. In some counties, he said, he could identify exactly which ballot each voter cast at a voting center.
The vulnerability is easier to exploit in small counties, where fewer people vote in person on a given day. In tiny Heard County, the AI agent linked specific ballots to most of the 650 people who voted in person during early voting. For the rest, it narrowed the possibilities to two ballots that had switched places.
A fix with a deadline
Ballot identifiers were introduced to help detect election workers reloading ballots into scanners. But when ballot order is matched with other records — such as voter check-in logs or Flock camera images of people entering a building on a quiet day — the identifiers can help connect a ballot to a person.
Election-security researchers found a related vulnerability in Georgia’s voting software about four years ago. Other states using Dominion election software have either fixed the vulnerability or restricted public access to the vulnerable voting data.
Georgia’s outgoing secretary of state, Brad Raffensperger, ordered officials to hide identifying numbers before publishing post-election data. Cryptographer Ben Adida, an MIT graduate and founder of the nonprofit VotingWorks, told the commission the change “largely eliminates” the vulnerability.
But the fix has been years in the making. Robert Sinners, a spokesperson for the secretary of state’s office, provided correspondence and call records showing attempts to secure funding for updates. He said the office proposed both a temporary patch and a full software overhaul, but the legislature allocated nothing. Tim Fleming, secretary of the government affairs committee and now a Republican candidate for secretary of state, did not respond to a request for comment.
The funding fight played out amid a prolonged political conflict between Raffensperger and conservative lawmakers aligned with Donald Trump and 2020 election denialism. Raffensperger remains a target of Trump after refusing to overturn Georgia’s 2020 election result.
Transparency versus secrecy
Georgia’s rules pull in opposite directions: the state constitution guarantees ballot secrecy, while a law amended after disputes over the 2020 election requires election records to be transparent.
Commission member Sally Grubbs proposed having poll workers hold ballots in a tray before scanning and then shuffle the printed ballots. She argued that Raffensperger’s decision to conceal CVR identifiers violates the law.
County election officials and other commission members, including conservative Republican Janelle King, objected to Grubbs’s approach. King said it would require retraining all election workers. She also warned that moving ballots into a secure box for other workers to scan could cause a sheet to fall out, creating new problems while trying to solve one.
I think the deeper failure is not that an AI system found a clever trick. It is that a system designed to preserve ballot secrecy made a sensitive linkage possible with public records and a low-cost model, while officials had spent years unable to fund a lasting fix. With early voting close, the commission was left weighing a rapid restriction on data against a procedural change that could itself disrupt ballot handling.
Sinners said it was already too late to change procedures for this election, and that funding was running about $30 million behind. The immediate patch may reduce exposure, but Georgia still has to reconcile public access to election records with the secrecy those records are supposed to protect.
Daily AI news
Every day we pick what actually matters in AI and explain it plainly — no hype, no filler. Subscribe if you want to follow where the industry is going.
Only what matters — every day
Follow on X