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.

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

Contact us if you are requiring access to the product.

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