One IP, one vote.
April 22, 2010 9:28 AM   Subscribe

I need a reliable online voting system, one which can authenticate unique users by email address, avoiding any gaming by IP switching, and still operate via secret ballot.

So, essentially I'd like to feed the site a list of email addresses which are then invited to vote and authenticated before the users associated with them cast one ballot.

Additional features desired include the ability to review one's vote before casting it or change one's vote before a final deadline in the event of a miscast vote, and the ability to create a runoff election, so transparently enumerated totals for candidates.
posted by Ambrosia Voyeur to Computers & Internet (10 answers total)
Have you looked at survey monkey? I know it will do what you want it to for the email addresses, the rest you'll need to check the FAQ for.
posted by cestmoi15 at 9:31 AM on April 22, 2010

SurveyMonkey looks cool, except that it doesn't (as far as I can tell) allow anonymous responses; each email address they send the questionnaire to gets to respond one time, but then they give the survey administrator all the details of who answered how.
posted by contraption at 9:50 AM on April 22, 2010

cestmoi, I hadn't looked adequately deeply into Survey Monkey's options, and it looks like it's passable for my needs: runoffs can be done with ranking questions, unique invitation urls can be sent to uploaded email addresses, and the ability to anonymize those or not.

So, the only feature set lacking so far is some kind of double-check before finalizing the ballot.
posted by Ambrosia Voyeur at 9:59 AM on April 22, 2010

avoiding any gaming by IP switching

This one might be hard to pull off, especially for any knowledgeable person.
posted by Brandon Blatcher at 10:27 AM on April 22, 2010

avoiding any gaming by IP switching

SurveyMonkey handles this by generating a unique ID per email, so that you're authenticated as a recipient of that message, not as an IP address. Of course this isn't really secure since email is unencrypted and eavesdropping could occur, but it'd be orders of magnitude harder to game than just setting a cookie or looking for a distinct IP. It also does allow secret ballots, I just had to look through the documentation a bit to see how it worked.
posted by contraption at 10:36 AM on April 22, 2010

It's ugly and can be a little persnickety but it does what you want.
posted by Wisco72 at 11:50 AM on April 22, 2010

Hash the usernames as well as the passwords.

Keep track of which IPs have requested accounts; disallow subsequent signups per IP address or IP address block, with or without a sunset provision, depending on your use case. (a hundred voters across the world? permanently disallow the whole block. 2,000,000 for "favorite manhattan red mango location"? disallow specific addresses for a day or five.)

Allow each HUID to generate one Ballot ID and only one Ballot ID. An email link is sent with that BID, which permits ONE vote, ONE time, from the SAME IP address that requested the BID generation, with a short timeout (less than half an hour). Issue appropriate warnings on the website re requesting the BID on a laptop right before moving locations, etc. If you really wanna go the extra mile, encourage users to renew their DHCP leases right before requesting the BID.

This is still gamable. Short of using social security numbers or driver licenses, it's incredibly difficult to verify through the veil of the Internet that an account is unique.
posted by thesmophoron at 1:03 PM on April 22, 2010

Seconding ballotbin. We use this in an organization I manage and it's complex enough that we need to have one person be the "expert" to run elections, but it definitely does what you want. Bonus: it's free.
posted by pixiecrinkle at 2:32 PM on April 22, 2010

You might like the Condorcet Internet Voting Service (CIVS), a project of Cornell University. I had looked into it a few years ago for a model government exercise and IIRC it meets all of your needs. Here's how it works:

First, a designated poll monitor (PM) goes to the poll creation page and provides some basic information, including the poll choices and a list of the email addresses of everyone who will be voting.

Once the poll opens, all participants will receive a link to an e-ballot at the email address they provided. The poll would work on a ranking system called the Condorcet method, which is designed to always select the option that would win a run-off election.

Polls can be monitored by the PM at the Poll Control page, where the PM can start and stop the poll, add to the list of registered voters, and track the number of votes cast.

Once the PM closes the poll, all votes are counted automatically. Voters would then get an email announcing the official results.

It's been awhile since I've used it, so they may have changed some things, but I think the only feature you wanted that it doesn't support is verification of votes before submitting them.
posted by Rhaomi at 3:02 PM on April 22, 2010

I've never understood why more systems don't put cellphones/sms texts into the mix for stuff like this. Yes, it's possible someone could run around and gather more cellphones from their friends to game the system but it's 10x harder to do that then it is to IP hop or register more fake hotmail accounts ...
posted by bhance at 9:27 PM on April 22, 2010

« Older Is this going to be a National Lampoon-style...   |   DVD indexing/cataloging software options? Newer »
This thread is closed to new comments.