Skip to content

Documentation Abstracts

Section 01 - System Overview

The System Overview provides a brief introduction to the RCTab software and its intended use cases.

Section 02 - Software Design and Specifications

The Software Design and Specifications document describes RCTab coding standards, programming language, in-house software, third-party software, and software logic. It is designed to respond to CVSS 9.5.

Section 03 - System Hardware Specification

The System Hardware Specification document describes potential hardware configurations on which the RCTab system can run.

Section 04 - System Functionality Description

The System Functionality Description describes suggested procedures for recovering from potential hardware or software failures when using an RCTab workstation.

Section 05 - Acceptance Test Procedures

Acceptance Test Procedures verify that RCTab is correctly configured and operating properly on an RCTab workstation. Acceptance tests should always be conducted on a new install of RCTab prior to its use in an election.

Section 06 - System Design Specifications

System Design Specifications describe the configuration options available to users when installing the RCTab software and briefly describe voting and audit data retention requirements.

Section 07 - System Security Specification Requirements

The System Security Specification Requirements describe processes and tools necessary to ensure access control, equipment and data security, software installation and security, air gap, event logging, physical security, setup inspection, cryptography, telecommunications, and other elements of an effective security program when deploying RCTab.

Section 07I - Design and Interface Specification

This document provides a high-level design of RCTab, discusses external interfaces, and identifies threats RCTab protects against.

Section 07J - Security Architecture

This document provides an architecture level description of how the security requirements are met, and includes various authentication, access control, audit, confidentiality, integrity, and availability requirements.

Section 07K - Development Environment Specification

This document describes the physical, personnel, procedural, and technical security of the development environment including version control, tools used, coding standards used, software engineering model used, and a description of developer and independent testing

Section 07L - Security Threat Analysis

This document identifies the threats the voting system protects against and the implemented security controls on voting system and system components.

Section 07M - Security Testing and Vulnerability Analysis Documentation

This document describes security tests performed to identify vulnerabilities and the results of the testing. This also includes testing performed as part of software development, such as unit, module, and subsystem testing.

Section 09 - System Maintenance Manual

This section discusses the support needed to adjust or repair components of RCTab. RCTab leverages content from the jurisdictions voting system, all maintenance on equipment should be referred to your voting system vendor. All RCTab hardware is COTS and software other than RCTab are also COTS.

Section 10 - Personnel Deployment and Training

It is recommended that RCTab is used by at least two people in compliance with the jurisdictions’ guidelines for partisan participation. Personnel should generally have a basic knowledge of desktop applications with some additional skills required for testing. Training requirements vary between two to eight hours depending on the task.

Section 11 - L\&A Testing

The Logic \& Accuracy Test document lays out an L\&A for RCTab that will allow jurisdictions to verify that RCTab is correctly configured and operating properly.

Section 12 - Configuration Management Plan

The Configuration Management Plan describes RCTab’s development processes, how different versions of the software are managed, how to identify specific versions of the software, and provides details for functional and physical configuration audits of RCTab.

Section 13 - Quality Assurance Plan

This section describes the quality assurance plan used in RCTab development. It covers requirements, design process, and definition of RCTab software; determination of the specifications that a COTS device must meet in order to optimize RCTab installation and operation; process recommendations for centralization of CVR data prior to round-by-round counting; the validation and verification of the performance of RCTab; and validation and verification of the process for installation of RCTab on COTS hardware along with the necessary steps to secure the system as would be required in a jurisdiction.

Section 14 - Tabulator Trusted Build Instructions

This section explains how to create a trusted build of RCTab. It also provides a method for verifying whether the trusted build was successful.

Section 15 - System Change Notes

This section details the changes for each version of RCTab resulting from previous testing and certification. RCTab is currently used to produce official RCV results, as a testing tool, or as an auditing tool. The State of New York certified RCTab for use in single-winner RCV elections in the State, the State of Utah certified the RCTab for use in local RCV elections, and the State of Michigan certified RCTab for use in Eastpointe, Michigan’s RCV elections.

Section 16 - System Hardening Procedures - Windows OS

The system hardening procedures describe the steps that should be taken to secure an RCTab workstation against various potential attacks on the system. It describes how to harden the OS, how to retrieve verifiable versions of software for use on the RCTab workstation, and procedures for locking down external ports on an RCTab workstation.

Section 17 - System Test and Verification Specification

The System Test and Verification Specification lays out all tests regularly conducted on the RCTab software and describes how to determine if a test of RCTab succeeds or fails. It also provides detailed information about each individual test condition used to test the software.

Section 18 - User Guide

The User Guide provides a step-by-step guide for using RCTab. It walks users through launching the software, creating an RCTab configuration file, generating results files, and securing any results files.

Section 19 - Tabulation Options for RCV Tabulation

The Tabulation Options section is an enumeration and discussion of the various tabulation options that exist for Ranked Choice Voting (RCV) elections and how those options are or are not incorporated into RCTab. It also includes a glossary of ranked choice voting terms.

Section 20 - Process Ranked Choice Voting Contest

This section consists of an introduction, a flowchart, and a description of the flowchart laying out how RCV contests should be processed according to various rules in place in jurisdictions in the United States.

Section 21 - Ballot Limitations & Maximum Testing Range

This document describes RCVRC’s understanding of the maximum ballot ranges possible when creating RCV data from different voting system vendors.

Section 22 - Installation Instructions for Windows OS

This document describes the Windows OS installation process for RCTab.

Section 23 - Trusted Build & HashCode Verification - Windows OS

This document describes how to generate HashCodes when working on a Windows-based RCTab workstation.

Section 24 - Tabulator Command Line Instructions

This document describes how to launch and operate RCTab from the command line.

Section 25 - Configuration File Parameters

This document describes all parameters included in configuration files in the RCTab software.

Section 26 - RCTab CVR Files

This document describes the different CVR files RCTab is compatible with. It documents how they are laid out and describes relevant file structures that inform how RCTab parses CVR data.

Section 27 - RCTab Config Files

This document provides an example of an RCTab configuration file.

Section 28 - Post-Election Audit & Clearing RCTab from System

This document describes how to run a post-election tabulation audit and software audit of an RCTab installation. It also describes how to clear RCTab from a workstation if a fresh installation of RCTab is required.

Section 29 - RCTab Operator Log Messages

This section lays out all potential messages a user may receive through the RCTab operator log. It also suggests resolutions for any SEVERE errors that cause tabulation to fail.

Section 30 - RCTab System Tab Hints

This section recreates the Hints tab displayed to users in the RCTab UI.

Section 31 - Coding and Header Comment Standards for RCTab

This section lays out the coding and header comment standards used in developing RCTab.

Section 32 - Secure USB Process

This section outlines the details of how the RCVRC selects and secures a USB for use and transport to the requestee.

Appendices

Appendix I - Expected Outcome RCV Test Sets Multi-Winner

These tables lay out various tabulation conditions and expected outcomes in multi-winner RCV contests. They were used when developing the RCTab software to ensure different conditions were correctly handled by the software.

Appendix II - Expected Outcome RCV Test Sets Single-Winner

These tables lay out various tabulation conditions and expected outcomes in single-winner RCV contests. They were used when developing the RCTab software to ensure different conditions were correctly handled by the software.

Appendix III - Ranked Choice Voting Laws

This spreadsheet lays out the RCV statutes and regulations that governed development of the RCTab software.

Appendix IV - 22-Month Archiving Procedure

This document provides a procedure for archiving RCTab and any election results data from its use in elections.