VoteKit v0.12.0
VoteKit v0.12.0
VoteKit v0.12.0 addresses GitHub feedback #4 through #8.
Voter and administrator experience
- Form fields remain readable when a device prefers dark mode.
- Holders of valid private voting links or anonymous codes now see the election
name and scheduled opening time before voting opens. Invalid visitors still
receive the non-disclosing generic response. - Election creation requires a deliberate fixed Australia/Brisbane closing
time instead of silently pre-filling a deadline from the start of setup.
Ballot publication privacy
- New and existing elections use a minimum public anonymous-ballot threshold
of 20 by default. - Owners may choose a higher threshold or explicitly choose always-publish
while an election remains a draft. The setting is locked after opening and
every change is audited. - Aggregate outcomes remain available when individual ballots are suppressed.
- Private receipt lookup remains available for encrypted complete-ballot
receipts and legacy per-question receipts below the public threshold.
Alternative counts
- Owners and Returning Officers can run IRV or Condorcet against a closed
ranked ballot set without replacing the declared result. - Every count run records its algorithm and settings, result snapshot, IRV tie
decisions, creator, time, frozen ballot-set fingerprint and result
fingerprint. - Alternative counts appear on the results page and in PDF and CSV exports.
- Unresolved IRV ties pause for the existing audited tie-resolution workflow;
the continued count is stored as a new immutable run.
Verification
- 103 automated tests passed, with one environment-gated migration rehearsal
run separately against a private production database copy. - Lint, type checking, production build, regression checks and dependency audit
passed.