configuration · the frozen definition
What will never change once the vote opens. Cosmetic presentation (logo, photos, thank-you message) is deliberately outside the block, unhashed.
-
title, description?, organizer_namestrings - Informative context, signed with the block but never a tally input.
-
election_typepreferential | fptp - Ranked ballot (Condorcet methods) or single choice. The Condorcet method itself is published with the result, not here.
-
seatsinteger ≥ 1 - Seats to fill.
-
voter_access_modestring - closed_nominative_list in version 1.
-
enrolment_mandatoryboolean - Voter-brought keys only (BYO-only) when true; server-generated keys allowed when false.
-
non_anonymous_voting, nominative_participation, weighted_votingbooleans - The three privacy and weighting options. non_anonymous_voting = true forces nominative_participation = true (schema-enforced).
-
max_ring_sizeinteger ≥ 1 - The ring-size ceiling of this election: no ring exceeds it, every emergency ring is exactly this size.
-
initial_electoral_roll_sizeinteger ≥ 0 - The electoral roll size at the opening. Voters may be added during the vote; the closure roll gives the final size, so the number of additions is public, never who.
-
ballot_rulesobject - ties_allowed, partial_ranking_allowed, blank_allowed, full_ranking_required: the ballot parameters from which tally constraints are derived deterministically.
-
candidates[].labelarray of 2 to 30 objects - Unique labels, 1 to 64 characters, sorted by label (byte order). The label is the sole candidate identifier.