FOLKMOOT - Cryptographic Direct Democracy Voting Platform
| backend | ||
| db | ||
| docs | ||
| frontend | ||
| infra | ||
| services | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
| setup.sh | ||
FOLKMOOT
Cryptographically secure community voting platform. Direct democracy secured by mathematics.
What This Is
FOLKMOOT is a voting system that provides:
- ElGamal encryption for ballot privacy (homomorphic tallying without decryption)
- Blind RSA signatures for unlinkable voter credentials (authority never sees your identity)
- Bayer-Groth shuffle with zero-knowledge proof for ballot mixing
- Shamir secret sharing for threshold decryption (no single party can decrypt)
- Ed25519 hash-chained bulletin board for immutable, auditable records
- Web of Trust identity verification (no government ID required)
- Deliberation windows with mandatory argument mapping before voting
- FALKEN bridge for disinformation signal detection
- Warrant canary with cryptographic signing
- Adversarial review with mandatory devil's advocate assignments
Quick Start
# Clone
git clone https://git.wopr.systems/wopr/folkmoot.git
cd folkmoot
# Configure
cp .env.example .env
# Edit .env with your values (see comments for generators)
# Generate signing key
python3 -c "from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey; print(Ed25519PrivateKey.generate().private_bytes_raw().hex())"
# Start
docker compose up -d
# Verify
curl http://localhost:8100/health
# Frontend at http://localhost:3300
Architecture
frontend (Next.js 15) --> backend (FastAPI) --> PostgreSQL 16
|
+-----------+-----------+
| | |
trust-graph deliberation canary
(WoT) (arguments) (signing)
| |
falken-bridge proposal-review
(disinfo relay) (adversarial)
|
nedry-ingest
(honeypot data)
Services
| Service | Port | Purpose |
|---|---|---|
| folkmoot-api | 8000 | FastAPI backend |
| folkmoot-web | 3000 | Next.js frontend |
| folkmoot-db | 5432 | PostgreSQL 16 |
| folkmoot-redis | 6379 | Redis cache |
| trust-graph | 8801 | Web of Trust engine |
| deliberation | 8802 | Deliberation + argument mapping |
| falken-bridge | 8803 | Disinformation signal relay |
| canary | 8804 | Warrant canary |
| proposal-review | 8805 | Adversarial review workflow |
| nedry-ingest | 8806 | Honeypot event ingestion |
Protocol Specification
See docs/FOLKMOOT-PROTOCOL-1.0.md for the full protocol spec.
The protocol specification is licensed CC0 (no rights reserved).
License
Code: AGPLv3 Protocol specification: CC0 1.0 Universal
Attribution
Built by WOPR Systems LLC. Not a WOPR Foundation program.
Contact: stephen.falken@wopr.systems