xElection: Election Infrastructure Protection
Double XorIDA protection for election infrastructure. Voter registration data, ballot definitions, and tabulation systems are split across independent custodians.
3 Speed Tiers: 15s | 90s | 10min
Traditional election infrastructure setup requires manual key generation, share distribution configuration, and official DID coordination. xElection collapses this to 15 seconds with zero-click accept, 90 seconds with one-line CLI, and 10 minutes with deploy buttons.
XELECTION_INVITE_CODE env var, create election on first use. Auto-accepts invite, generates official DID, configures storage.
npx @private.me/xelection init generates official DID, saves to .env, creates first election.
Example: Zero-Click Accept
Set invite code in environment, create election on first use. No manual DID generation, no storage backend configuration.
# 1. Set environment variable (from election administrator) # .env file: XELECTION_INVITE_CODE=https://xelection.private.me/invite/XEL-abc123 # 2. Create election (auto-accepts invite, generates official DID) import { createElection } from '@private.me/xelection'; const config = { id: 'board-election-2026', name: 'Board of Directors Election', candidates: [ { id: 'alice', name: 'Alice Smith', party: 'Progressive' }, { id: 'bob', name: 'Bob Jones', party: 'Conservative' }, ], startDate: new Date('2026-05-01T00:00:00Z'), endDate: new Date('2026-05-07T23:59:59Z'), threshold: 2, // Need 2 officials to tally totalOfficials: 3, // 3 officials total (2-of-3) }; const result = createElection(config); if (result.ok) { console.log('✅ Election created with 2-of-3 threshold'); console.log('✅ Storage backends auto-configured'); console.log('✅ Bulletin board ready'); console.log('✅ Ready for voter registration'); } // What happened: // 1. Invite auto-accepted from XELECTION_INVITE_CODE env var // 2. Official DID generated and saved to .env // 3. Storage backends auto-configured (2-of-3 XorIDA splitting) // 4. Election state initialized // 5. Public bulletin board configured // Total time: ~15 seconds
Example: CLI Setup
One command generates official DID, saves credentials, and creates your first election.
# Step 1: Install CLI globally npm install -g @private.me/xelection # Step 2: Initialize (generates official DID, saves to .env) xelection init # Output: # Generating official DID... # ✅ Official DID: did:key:z6Mk... # ✅ Saved to .env # ✅ Storage backends configured (2-of-3 default) # ✅ Bulletin board ready # Step 3: Create your first election xelection create \ --id board-election-2026 \ --name "Board of Directors Election" \ --start 2026-05-01 \ --end 2026-05-07 \ --threshold 2 \ --total-officials 3 # Output: # ✅ Election created with 2-of-3 threshold # ✅ 2 candidates configured # ✅ Ready for voter registration # Total time: ~90 seconds
Deploy Button Infrastructure
Click one button to provision complete election infrastructure on Vercel, Netlify, or Railway. Includes election management server, distributed XorIDA share storage, public bulletin board, voter registration dashboard, and real-time tally dashboard.
- ✓ Election management server — Creation, validation, tallying
- ✓ Distributed storage backends — XorIDA share storage across independent nodes
- ✓ Public bulletin board — Verification codes and audit trails
- ✓ Voter registration dashboard — DID-based eligibility management
- ✓ Real-time tally dashboard — Threshold-authorized result computation
The Problem
Election infrastructure is a high-value target for nation-state actors. CISA mandates increasingly rigorous security, but most election systems rely on single-vendor technology with centralized databases.
Voter registration databases, ballot definitions, and tabulation systems are centralized targets. A single breach can alter registrations, modify ballots, or manipulate vote counts across an entire jurisdiction.
Election security must protect confidentiality (ballot secrecy), integrity (accurate tabulation), and availability (systems must work on election day). Current solutions address these individually, not holistically.
The Old Way
The PRIVATE.ME Solution
xElection uses Double XorIDA to split election data across independent custodians with HMAC-chained audit trails and threshold-authorized tabulation.
Voter registration data and ballot definitions are Double XorIDA-split for security and fault tolerance. Tabulation requires threshold cooperation of independent election authorities. Ballot secrecy is information-theoretically guaranteed.
Every election operation is recorded in an HMAC-chained audit trail with DID-signed entries. Double XorIDA ensures that even if some custodians go offline, the election can proceed.
The New Way
How It Works
xElection combines Double XorIDA (split storage + fault tolerance), threshold tabulation, and HMAC-chained audit trails for comprehensive election infrastructure protection.
Use Cases
Split voter registration data so no single breach exposes the full registry.
Voter RegMulti-authority tabulation requiring cooperative threshold reconstruction.
TabulationInformation-theoretic ballot secrecy via XorIDA splitting.
SecrecyDouble XorIDA ensures election systems survive custodian failures.
ResilienceIntegration
import { ElectionGuard } from '@private.me/electionsplit'; const guard = await ElectionGuard.create({ authorities: [countyA, countyB, stateAuth, fedObserver], threshold: { k: 3, n: 5 }, doubleXorida: true });
Security Properties
| Property | Mechanism | Guarantee |
|---|---|---|
| Data protection | Double XorIDA | ✓ Security + fault tolerance |
| Tabulation | Threshold K-of-N | ✓ Multi-authority required |
| Ballot secrecy | Information-theoretic | ✓ Unconditional guarantee |
| Audit | HMAC-chained + DID | ✓ Tamper-evident trail |
Verifiable Data Protection
Every operation in this ACI produces a verifiable audit trail via xProve. HMAC-chained integrity proofs let auditors confirm that data was split, stored, and reconstructed correctly — without accessing the data itself.
Read the xProve white paper →
Ready to deploy xElection?
Talk to Ren, our AI sales engineer, or book a live demo with our team.
Ship Proofs, Not Source
xElection generates cryptographic proofs of correct execution without exposing proprietary algorithms. Verify integrity using zero-knowledge proofs — no source code required.
- Tier 1 HMAC (~0.7KB)
- Tier 2 Commit-Reveal (~0.5KB)
- Tier 3 IT-MAC (~0.3KB)
- Tier 4 KKW ZK (~0.4KB)
Use Cases
Deployment Options
SaaS Recommended
Fully managed infrastructure. Call our REST API, we handle scaling, updates, and operations.
- Zero infrastructure setup
- Automatic updates
- 99.9% uptime SLA
- Enterprise SLA available
SDK Integration
Embed directly in your application. Runs in your codebase with full programmatic control.
npm install @private.me/xelection- TypeScript/JavaScript SDK
- Full source access
- Enterprise support available
On-Premise Upon Request
Enterprise CLI for compliance, air-gap, or data residency requirements.
- Complete data sovereignty
- Air-gap capable deployment
- Custom SLA + dedicated support
- Professional services included
Enterprise On-Premise Deployment
While xElection is primarily delivered as SaaS or SDK, we build dedicated on-premise infrastructure for customers with:
- Regulatory mandates — HIPAA, SOX, FedRAMP, CMMC requiring self-hosted processing
- Air-gapped environments — SCIF, classified networks, offline operations
- Data residency requirements — EU GDPR, China data laws, government mandates
- Custom integration needs — Embed in proprietary platforms, specialized workflows
Includes: Enterprise CLI, Docker/Kubernetes orchestration, RBAC, audit logging, and dedicated support.