The Local Chain
Every vote you cast becomes a permanent entry in a private ledger that lives on your own device. Each entry is stamped with a fingerprint of the one before it, so nobody — including you — can quietly edit history without it showing.
For the technically curious
ChainService creates one block per action (vote, post, etc.), computes its SHA-256 hash over the payload plus the previous block's hash, and signs it with the device's local keypair from KeyVaultService. Blocks persist in IndexedDB via storageService. Because each hash embeds the prior one, any retroactive edit breaks the chain — detectable by anyone who replays it, including relays, which never hold the signing key.