One-time, hashed voting codes
Codes are stored as hashes (never plaintext as the source of truth). Each code is scoped to an election and student, expires on a configurable timer, and can be used only once.
Campus elections demand more than a form and a password. Electra applies layered controls so every vote is eligible, single-use, and auditable — without exposing individual ballots.
Codes are stored as hashes (never plaintext as the source of truth). Each code is scoped to an election and student, expires on a configurable timer, and can be used only once.
Institution-scoped data and policies prevent cross-tenant access. Guessing an ID is not enough — authorization checks institution membership on every sensitive action.
Super admin, institution admin, voting manager, candidate, and student roles are enforced with middleware and policies. Least privilege is the default.
Database uniqueness constraints ensure one vote per student, election, and position. Transactions and locking protect code redemption under concurrent load.
Failed login attempts are tracked; accounts can lock after repeated failures. Sensitive endpoints are rate-limited to slow brute-force attacks.
Privileged and election-critical actions are recorded for accountability. Logs support post-election review without revealing private ballot choices.
Laravel CSRF tokens, output escaping, and parameterized queries form the baseline. Uploads are authorization-gated and stored safely.
Session regeneration on login, secure cookie settings, and active-user checks reduce session fixation and stale access risks.
Live turnout shows aggregate participation while voting is open. Individual ballot selections are never published as a live feed. Official results are published as controlled snapshots after the election closes, according to institutional policy.
Campaign materials can be moderated. Student photos and files are served through authorized media routes rather than open directories.