canvass.UNLOCKED
Phase 02 · scaffolding · M0

Server holds ciphertext only.
Voter data stays yours.

Open-source self-custody canvasser app. XChaCha20-Poly1305 client-side, Shamir 3-of-5 recovery, on-device Whisper + Gemma + NLLB. AGPL-3.0. Multi-select result codes. Voter writeback. A back button that works.

Whisper · on-deviceGemma 3 1B · structurerNLLB-200 · 7 languages
Build status · M0
  • crypto module — blob envelope, KDF, HMAC index, passkey PRF
  • sync module — mutation log, Dexie schema, sync health
  • MCP tool registry — 17 Zod-typed tools across 3 scopes
  • self-custody CI check — privileged-import enforcement
  • Hono API skeleton — sync push/pull, blob PUT/GET
  • Auth.js + passkey enrollment with PRF derivation
  • Agent harness — Vercel AI SDK + local tool dispatch
  • Shamir 3-of-5 secret sharing for org master key

Need the public voter resource portal? turnout.app