03 / Solutions

SwiftVote

Lightweight PHP voting application for association, professional, and student elections. End-to-end X25519 encryption, magic-link auth, runs on shared hosting with no database.

SwiftVote

A lightweight PHP voting solution using file-based storage, no database required. Prioritizes deployment simplicity while maintaining security suitable for associative, professional, or student elections.

Project Objective

Provide a fast and reliable way to launch an electronic vote without complex infrastructure, while ensuring data security and ballot confidentiality.

Why this application?

  • Deployment simplicity: Compatible with shared or low-budget hosting
  • No database required: Pure PHP with file-based storage, works anywhere
  • Robust security: Ballots are systematically encrypted (X25519) before recording
  • Accessibility: Authentication by magic link, no need to create user accounts
  • Total control: The private decryption key remains offline with administrators

Main Features

  • 🔐 End-to-end encryption: X25519 encryption on server side with private key reserved for administrators
  • 📨 Simplified authentication: Magic link by email and whitelist of voters
  • 🛡️ Integrated protections: CSRF, attempt limitation, Cloudflare Turnstile integration
  • 📊 Administration interface: Key generation, activity tracking, and secure tallying
  • 📧 Advanced SMTP support: Hosting mode or external SMTP with round-robin and automatic failure management

Secure Architecture

The application follows PHP security best practices:

  • Directory separation: Sensitive code outside the public web directory
  • Defense in depth: Physical protection + .htaccess + code-level safeguards
  • Compatible with all hosts: Works on Apache, Nginx, shared hosting

Prerequisites

  • PHP 8.0+ with the sodium extension enabled
  • No database needed: all data stored in files
  • Ability to send emails (via your hosting provider or an external SMTP server)

Access

Now available on GitHub at Low-Noise-Systems/SwiftVote.

This application is designed to offer a robust compromise between deployment ease and security for sensitive but reasonably scaled votes.