Here is exactly how Poll City protects your privacy — step by step.
You answer a poll question on Poll City. Your choice is recorded.
Your vote is converted into a mathematical hash using SHA-256 — the same algorithm used in banking. This hash proves you voted, but cannot be reversed to reveal who you are.
Poll City stores only the one-way hash — never your name, email, or user ID alongside your vote. The hash prevents you from voting twice, but nobody can trace it back to you.
After voting, you receive a unique receipt code. You can use this code at any time to verify your vote was counted — without revealing which option you chose.
Hashing algorithm: SHA-256 (Secure Hash Algorithm 256-bit), the same algorithm used in TLS certificates, Bitcoin, and government digital signatures.
Vote hash formula: SHA-256("vote:" + pollId + ":" + voterId + ":" + serverSalt)
The server salt is a secret value that ensures hashes cannot be brute-forced even if the poll ID and voter ID are known.
Receipt verification: Your receipt code is hashed with SHA-256 and stored. When you verify, the system hashes your receipt code again and checks for a match. This confirms your vote exists without revealing what it was.
Data stored per vote: poll ID, option ID (or value), vote hash, receipt hash, anonymous geographic aggregate (postal code prefix only). No user ID, no session ID, no email, no name.
No. Campaigns see only aggregate results — total counts per option. Your individual vote is never linked to your identity.
No. Poll City stores a one-way hash, not your identity. Even Poll City engineers cannot reverse the hash to determine how you voted.
No. The SHA-256 hash is mathematically irreversible. Given the hash, there is no computation that can recover your identity.
After voting, you receive a receipt code. Enter it at /verify-vote to confirm your vote is in the count. The receipt proves inclusion without revealing your choice.
Your receipt code is stored in your browser's local storage. If you clear your browser data, the code is lost — but your vote remains counted.
The vote hash. Each voter produces a unique hash per poll. If you try to vote again, the system recognises the hash already exists and blocks the duplicate.