nsVote - Non Secret Vote Tool

Site software for voting using universal IDs from an Identity provider (IdP) like Facebook or anyone implementing the OAuth standard and at the same time maintains a register of unique ID's.

Secrecy issue

Some might say that voting has to be secret because of bullying, and say that non-secret voting is useless. But compare to petitions, which is basically non-secret voting (although without uniqueness check). Other examples are showing of hands used on meetings, or votings at annual general meetings of stock companies.

One should also know that representatives (such as in a parliament, senate or whatever) are not immune to bullies (or bribery) either.

Fake vote issue

When addressing the risk of fake accounts, one can compare to another democratic tool: web-polls, which have a much bigger risk of fake-votes.

One can also note that some ID providers like Facebook actively tries to prevent fake accounts. (According to this link 1.5 percent of Facebook-accounts are fakes). (Other sources have said between 5 and 10 percent). This "fake-account-level" might be enough for certain votings.

On the fake-vote issue one should also mention the filtering mechanism (see the demos below), which helps those who visit the site to see how the voting result varies through the population. Which in turn makes it more difficult for those who wants to sabotage the result. One can for example filter out votes of a certain town, country or school (all depending on how much extra information one extracts from the ID provider).

Another way of dealing with fake votes...
... is to make the communities (nations, municipalities, associations...) themselves becoming ID providers, by implementing the OAuth standard.

A such implementation would also make it easy for any third party to setup a voting/referendum for that community.




If the system becomes slow, one can use snapshot tables which are copied on predetermined time intervals (like once a day). The snapshot tables means that database queries become cached, which in turn improves the performance significantly especially when lots of filters are applied.

See also