On Friday, September 24, the political world held their breath as the Cyber Ninjas and other pro-Trump contractors delivered their report on the accuracy of Arizona’s 2020 presidential election. Surprisingly, and somewhat comforting, the Ninjas said that Trump lost 261 votes. Not surprisingly, the Cyber Ninjas affirmed that Joe Biden held onto his 45,000-vote lead in Maricopa County and gained 99 votes.
The next day, the Washington Post quoted Senator Fann, “This [the fact that the audit matches Maricopa’s official machine count] is the most important and encouraging finding of the audit. This finding therefore addresses the sharpest concerns about the integrity of the certified results in the 2020 general election.”
We held a darker view: Were Senator Fann and the country victims of an epic hoax?
Buried in Randall Pullen’s (Arizona Senate’s co-liasion) report of the Senate’s machine count were 17 pages of innocuous-looking tables with no description of the column headings. Anyone with 15 seconds of instruction, and a calculator can come close to our findings in less than 15 minutes.
Herein, our report provides evidence developed by analyzing Pullen’s report. Starting on page 20, he provides an extract from the Ninja’s 695-page report entitled “AZ Audit Consolidation Worksheet 7/10/2021” (hereafter, “Consolidated Worksheet”), which shows:
- A difference of 15,692 ballots when the Ninja’s hand count of ballots is subtracted from the Senate’s machine count. In short, with this enormous discrepancy, any discussion of vote counts – including Biden’s 99 vote gain and Trump’s 261 vote loss – is meaningless.
- The difference between our published counts from July 12 and the Senate’s machine count of ballots shows a difference of five ballots. In short, as far back as July 12, we predicted the ballot count per box which now serves as an independent audit of the Senate’s machine count of ballots by box.
- Our 27-page report and accompanying spreadsheet fully describes how we developed our conclusions solely from documents provided by Pullen.
This is our story.
While everyone was breathing relief that the Ninjas exercise – don’t call it an audit – upheld Maricopa County’s official results, our antennas were already up because three pesky facts have continued to bother us.
- The Ninjas did not count the same set of ballots. The Cyber Ninjas said their results tracked the county’s certified results even though they decided to count about 27,000 ballots that Maricopa Elections did not count and ignore about the same number of ballots Maricopa did count. When ballots are damaged or fail tabulation, a two-person bi-partisan team copies the voter’s choices onto a clean ballot in a process called “duplication.” The Cyber Ninjas, claiming there were fewer original ballots than duplicates, counted the original ballots and ignored the duplicates. Curious.
- Senator Fann is hiding something. The Senate continues to fight the release of public data on grounds that Arizona’s courts have decisively ruled against. Included in the withheld documents are batch and box-level ballot counts, just like those contained in Pullen’s report on the Senate’s machine count. More on this below.
- A curious anomaly. Garrett Archer, a reporter at Phoenix’s ABC15 News Affiliate, noticed that the ballot counts for the Presidential and the U.S. Senate contests did not match. The Ninjas excuse? “NOTE: Vote totals for the presidential and senatorial elections mismatch slightly primarily due to small differences (emphasis ours) in hand counts among the 2.1M million ballots.”
This last item – a mismatch in the ballot counts on contests that appeared on the same ballot – piqued our interest because such a mismatch should be impossible.
Now, with Pullen’s report, we had something meaty we could dig into.
In the words of Seth Meyers, “It’s time for a closer look.”
First, a few stats:

Our focus was the 17-page extract at the end of Randall Pullen’s report mentioned above. That extract is from the above mentioned Consolidated Worksheet. The worksheet in Pullen’s report is the only detailed data released so far by the Ninjas and is one of the documents we have sought since our August 11 public records request.
The Consolidated Worksheet enumerates the results of five methods the Senate and the Ninjas used to audit their ballot count as shown in rows 2-6 in the table below. In row 1, is a reference to our July 12, 2021 published report which maps Maricopa’s official canvass to storage boxes. We use this report to audit the AZ Senate’s machine count. As shown in row 2, the difference is 5 ballots

* The Senate’s machine count matches the official results (CVR) within 5 ballots. Since the machine count was so close, remaining discrepancies are computed from the Senate’s own counts. In short, the Senate’s counts audit the Ninja’s hand count.
** Discrepancies expressed as absolute values to prevent plusses and minuses from cancelling out.
*** Discrepancies expressed as simple differences to show excess ballots counted.
Below is a timeline of our attempts to provide information enabling the Ninjas to check their results against the official results. We did this, not out of any belief that what they were doing was valid because we do not. Rather, we wanted to show that Senator Fann and the Ninjas we were prepared to hold them accountable for spreading disinformation.
We believe our worst fears have happened – the entire exercise in hand counting ballots on lazy Susans for two months, was a hoax.
TIMELINE
Late May, 2021: we knew that the Ninjas could not produce an audit because they could not compare their results (i.e., ballot counts and vote counts by storage box) against the official results. That is because Maricopa’s reports its results by precinct and voting method (i.e., Early Voting, Election Day, and Provisional). The Ninjas counted by box.
May – June: We developed a “Rosetta Stone” to link the official results to each of 10,341 batches and 1,634 boxes. On June 6, we published the ballot and vote counts for two boxes of ballots and challenged Senator Fann to direct the Ninjas to confirm their counts against ours. The Arizona Republic’s front page of their print edition read, “Put Up or Shut Up.”
June 30: We believe that by the end of June the Ninjas knew their ballot counts were substantially different from Maricopa’s. Furthermore, we believe that someone convinced Senator Fann that the official results were wrong and a separate count would support the Ninja’s hand count and if so, a high-speed machine count of the ballots would confirm that Maricopa’s ballot count was wrong.
July 12: We sent an open letter and spreadsheet to Senator Fann, Kory Langhofer, and Ken Bennett with the ballot counts for 1,634 boxes and the list of boxes that should be counted. A few days prior to Sept. 24, I was told by the Senate’s attorney for the “audit” that the list of boxes was “extremely helpful” to the Ninjas. We now believe it helped them determine which boxes to say they did not count.
July 13: Senator Fann states that their ballot counts did not match the county’s ballot count and that they would initiate a machine count.
July 15: Senators Fann and Peterson conduct a Senate hearing where Doug Logan reveals (skip to 1:23) that his team is confused as to which boxes to count. That is because Maricopa County transferred 1,691 boxes and, of those, 1,634 boxes contained exactly the 2,089,563 ballots listed in the official Canvass. Furthermore, our analysis of the vote counts for every candidate across every contest also matched the official results perfectly.
July 19: Ken Bennett gives us ballot counts for six boxes – five boxes match our published counts exactly. In the sixth box we found a transcription error. The Senate staff reported 1,379 ballots against our published count of 1,397 ballots.
July 21: Ken Bennett provides us with additional 18 box-level ballot counts which had minor differences in four boxes.
July 22: We provided the Arizona Republic with the data that the machine ballot counts had closely matched our prediction of the ballot counts in 24 boxes at an accuracy level of 99.94%.
July 23: Ken Bennett is refused entrance into the Wesley Bolin Building where the Senate’s machine count is underway. It is our view that Bennett has always been interested in a proper audit and gave us the ballot counts out of frustration that the Ninjas had refused to share any information with him. It turns out, we did confirm the machine counting process capable of producing accurate counts.
August 11: We file a public record request for detailed ballot and vote counts organized by batch and box.
Sept 16: We update our July 12 spreadsheet with vote counts for third-party candidate Jo Jorgensen which gives the Ninjas an additional check on their vote counts. Votes for Biden and Jorgensen are not revealed to enable a valid audit where two independent results could be compared.
Sept 21-23: Ee obtain an early draft of the Ninja’s report and publish a report which debunks most of the allegations in Volume III related to voter registration and the “voted file.”
Sept 24: The AZ Senate’s hearing – a mountain of detail and, at the end, an Easter egg. Randall Pullen’s report on the machine count contains 17 pages of detailed ballot counts.
Sept 25-27: we analyze Pullen’s data drawn from the Ninja’s 695-page report.
KEY FINDINGS
- An enormous discrepancy of 15,692 missing hand counted ballots from 40 boxes out of out of 1,634, supports our opinion that the Ninja’s hand count of ballots was so far off the Senate’s machine count of ballots that any statements about the vote counts (e.g., that Trump lost 261 votes) are meaningless.

2. Our analysis shows that the machine count at the box level agrees with official results; as shown below, the difference in our published box-level ballot counts was off by 5 ballots.

3. We believe the Ninjas have profoundly misled the public, Senator Fann and her colleagues. Senator Fann should exercise oversight, order the release of all public data and publicly distance herself from the Ninjas as quickly as possible.
4. Having zero experience in election audits, the Ninjas announcement that they had confirmed, to a high degree of accuracy, the election results of the second largest county in the country is, we believe, laughable.
5. The assertion that Trump had lost 261 votes was, we believe, a “shiny object” designed to convey believability to an otherwise unbelievable hoax.
CONCLUSIONS
We are not done; much is left to do. As we stated in this Op-Ed in the Arizona Republic, Senator Fann must release the Ninja’s findings. Now, with the Arizona Supreme Court upholding the decision of the Appellate Court, she must comply – or be held in contempt. Those court decisions require her to turn over lawfully requested public data including our request of the 695-page Consolidated Worksheet as well as a similarly detailed report containing vote counts.
Once we obtain the data we have requested, we will conclude a real audit of the Ninja’s sham process, publish our results and stand ready to defend them vigorously.
The events surrounding the Maricopa Hoax are a shameful episode in America’s history. Each of us feels lucky to be able to serve America, to protect our elections, debunk lies and confront those who would use their power to spread disinformation and doubt about America’s electoral systems – the heart of our democracy.