About

About publicvoting.org

An open-source platform for timed deliberation and verifiable institutional voting — engineered for real clubs, boards, unions, co-ops, and public bodies.

Provenance

publicvoting.org was commissioned by publicgovernent.org as a public-interest brief for trustworthy institutional voting infrastructure.

Commissioner website status

The publicgovernent.org site is launching separately and may not be publicly available yet. Commissioning and product status for PublicVoting are described here and in the open-source repositories.

The software was designed and built by CPT Software, who continue engineering across the PublicVoting open-source repositories and can operate hosted environments for organisations that lease an instance.

Roles at a glance
  • publicgovernent.org — commissioning / public-interest mandate (site launching separately)
  • CPT Software — product engineering and hosted operations
  • PublicVoting (GitHub) — open-source code and protocol
  • Your institution — membership, decisions, tallier custody

Open source

Application code is licensed under Apache License 2.0. Trademarks (including the publicvoting name and logos) are separate — see project trademark policy. Self-hosters may brand their voting system via product features without acquiring the PublicVoting word mark.

Repositories

Technology

Technical stack

Pinned choices from project ADRs — designed for auditability and long-lived institutional use.

Protocol OpenAPI 3.1, procedure pack JSON Schema, SemVer protocol VERSION, Mode B suite publicvoting-modeb-v1 with published test vectors
API / backend Go, Postgres (memory store for tests), append-only hash-chained log, Prometheus metrics, Docker Compose deploy profiles
Officer portal React, Vite, TypeScript — membership, packs, decisions, audit; no ballot cast
Voter device Dart Mode B crypto + API client + cast CLI; Flutter UI planned for multi-system wallet UX
Cryptography Ed25519 device auth; X25519 hybrid KEM + HKDF-SHA256 + AES-256-GCM ballot seal; Shamir threshold tallier shares; Argon2id recovery verifiers
Integrity substrate Append-only public log (not a general-purpose public blockchain); off-log blobs addressed by hash
Configurability Procedure packs (club → high assurance), brand themes (light/dark), feature gates — never overriding cast integrity
License Apache-2.0 for code; hosted service terms separate
This website Static HTML/CSS/JS in the meta repository; Civic Teal product brand tokens