Fair voting

Fair voting: every vote counts once

Five levels of protection, from a quick name check to single-use codes. Add a captcha, VPN blocking and hidden results for a vote that holds up.

Protection levels

Pick the level the vote deserves

More protection makes cheating harder and asks a little more of your voters. These are real polls, recorded as voters see them.

strawpoll.com

A voter opens a private window on the same network and is refused.

Level 3: IP address

Stops
Private windows, other browsers and other devices on the same connection.
Doesn’t stop
Switching to another network. People who share one count as one voter.
What voters do
Voter: nothing, it just works
Good for
Public polls on social media, chats and streams

New polls start here, with VPN blocking on.

What each level stops

If someone triesRespondent name Browser session IP address Email address Unique code
Voting again in the same browser Not stopped Stopped Stopped Stopped Stopped
Opening a private window Not stopped Not stopped Stopped Stopped Stopped
Using a second device on the same network Not stopped Not stopped Stopped Stopped Stopped
Switching to mobile data Not stopped Not stopped Not stopped Stopped Stopped
Making up new identities Not stopped Not stopped Not stopped Stopped Stopped
Voting without being invited Not stopped Not stopped Not stopped Not stopped Stopped

Set the level before you share the link. Votes that are already in can’t be checked again when you change it later. How to choose

Extra security

Stack more protection on any level

strawpoll.com

A captcha without the puzzles

Voters click once while their browser quietly solves a small proof of work, a second or two on a phone. For a script that wants thousands of votes, that adds up fast.

  • No picture puzzles
  • Each pass counts for one vote
  • Runs on our own servers
strawpoll.com

VPN and proxy blocking

Changing your address is the easiest way around an IP check. StrawPoll turns away votes from known VPNs, proxies, Tor and datacenters, on lists that update several times a day.

  • IPv4 and IPv6
  • On by default for new polls
  • iCloud Private Relay users aren’t shut out
strawpoll.com

Results that stay hidden

When nobody can watch the race, nobody rallies friends to swing it, and early votes don’t sway later ones. Choose exactly who gets access to results, and when.

  • Always
  • After responding
  • After the form closes
  • Only you
  • No throwaway emails

    Disposable inboxes are rejected, and ann+2@ counts as ann@. On Gmail, dots don’t make a new address either.

  • Safe from simultaneous votes

    Votes sent at the same moment are checked one after another, so parallel requests can’t slip past a limit.

  • Codes with limits

    Email codes expire after 15 minutes and stop working after 5 wrong tries. Voting codes work once.

  • Password protection

    Ask for a password before anyone can see the poll or its results.

  • Opening and closing times

    Give everyone the same voting window. Votes only count while the poll is open.

  • Response limits

    Close the poll after a set number of responses, or cap how many can pick each option.

  • Final votes

    Decide whether a response can be changed later, or make every vote final once it’s sent.

  • Random option order

    Shuffle the options so nobody benefits from being listed first.

  • Repeat voting windows

    Running a daily vote? Allow one vote per hour, per day, per week, per month.

The right setup for your vote

Four starting points that balance protection and effort.

  • Among friends

    • Browser session
    Read the guide
  • Public poll

    • IP address
    • Block VPNs and proxies
    • Require CAPTCHA
    Read the guide
  • Contest or award

    • Email address
    • Block VPNs and proxies
    • Results after the poll closes
    • A fixed closing time
    Read the guide
  • Election

    • Unique code
    • Results after the poll closes
    • Responses can’t be changed
    • Random option order
    Read the guide

Fair to voters’ privacy too

  • No external CAPTCHA provider

    The captcha is open source and self-hosted. No data goes to a captcha company.

  • Local address checks

    Addresses are compared with lists on our own servers and never sent elsewhere.

  • Anonymous by design

    Unique codes aren’t tied to names, so a vote can be checked and still stay secret.

Details are in the privacy policy. Spotted something odd in a running poll? Here’s how to deal with suspicious votes.

Good to know

How to keep a vote fair, step by step

Which protection fits which vote, how to combine them for a big public poll, what to do when something looks off, and how to stay fair to voters’ privacy too.

2 min read

Ask three questions first

  1. 1 Does anyone gain from cheating? In a contest, a giveaway or an election, someone always does. Use Email address or Unique code.
  2. 2 Do you know exactly who should vote? With a list of people, use Unique code or personal email invites. Only they can vote, each once.
  3. 3 Can you trust your participants? A team, a family or friends won’t cheat, so strong protection only gets in the way. Use Browser session or Respondent name.

Match the protection to the vote

  • Friends, family, a team: Browser session. IP address would block everyone after the first person on a shared Wi-Fi.
  • Public polls on social media, chats and streams: IP address, plus Block VPNs and proxies.
  • Contests and awards: Email address, VPN blocking, Require CAPTCHA on Pro and Business, and results hidden until the close.
  • Elections and member votes: Unique codes for a secret ballot, or email invites when you reach everyone by email.

Set it before you share the link. Votes already in can’t be checked again under a new setting.

Take away the reason to cheat

When people can watch a close race, they recruit friends, other servers or bots. Set Access to results to After the form closes, and set a clear close date under Open & close dates, so everyone gets the same window and nobody sees the leader until it’s over.

When something looks off

  1. 1 Tighten the settings right away: new votes are checked with the new settings.
  2. 2 Open the responses table on the Results tab. Bursts within seconds of each other are a typical script.
  3. 3 Select the responses you don’t trust and click Invalidate. They stay in the list and the export, marked, but stop counting.
  4. 4 If the result is clearly compromised, export the data, reset the poll with stricter settings and ask people to vote again.

Fair to voters, too

Protection shouldn’t cost privacy. Unique codes aren’t tied to names, so a ballot can be checked and still stay secret. Browser and IP checks don’t ask for names either. Throwaway inboxes aren’t accepted for email verification, and responses are stored on servers and databases in Germany.

FAQ

Fair voting questions, answered

The short answers. The guides below go into more detail.

Running a big public poll? See how to stop bots, VPNs and ballot stuffing.