Clear Vote Home Page

Purpose of Clear Vote

ClearVote is a tool that analyzes a collection of database files that are generated during an election by the Diebold-Premier Global Election Management System (GEMS). The purpose of the analysis tool is to search for anomalies and perform a sanity check on the database set. The databases are in MS Access format as generated by GEMS.


Typically, an election database file is a backup of election results for each day of counting, beginning with early (absentee) ballots through the tabulation of provisional ballots. A portion of the database should remain fixed throughout an election and other parts should change as ballots are counted. As ballots are collected, vote tallies may only increase from day to day. The queries in the database should remain fixed. Statistical sampling and analysis may be used to characterize trends and provide a basis for discovering tabulation changes that seem to violate those trends. The tool generates a report that is used as a starting point for further human analysis. There are no existing tools for analyzing these database files.


The original format of a vote database is in a proprietary Diebold format (.gbf) which is a compression MDB file. Using GEMS software, this can be decompressed into MDB (.mdb) format. MDB is a Microsoft Access format.

Related Information


The tool will evolve as more is learned about the nature of the database files and the information that can be gleaned from them. A rough version of the tool is to be available by the Arizona general election on November 4th 2008. Hopefully, a test version will be available by the Arizona primary election on September 2 2008. The tool will also be applied to historical data from past elections.

Plan (for Developers)

Our goal is to create a toolkit that makes it easy to write plugins for verifying the databases produced by county, state, and national elections. The degree to which these databases are available varies from region to region. The databases typically are not in an open format.

Here's how we hope to proceed:

  1. When we get a database, we convert it into a .mdb file
  2. We extact the tables from the .mdb file into a set of CSV files (one per table).
  3. Package the .mdb, .csv files and make them available on the web site.
  4. Build a toolkit that provides tools for getting at the votes as painlessly as possible. Document this process.
  5. Build a "plugin" mechanism into the toolkit that allows anyone to create a software module that does a specific kind of check and reports either "CLEAN" or a list of possible anomalies.
  6. Provide a starting set of example plugins.
The complete set of databases are saved periodically. Thefore, many of the checks will involve comparing a set of databases to the set after a small amount of time. Only certain kinds of changes are expected between snapshots.

About this document

Version: 1.0

Author: Steve <>

Date: 2008/07/16 08:20:50 PM