Before using WE.Vote, create an account in the system client. You can do this either by yourself or by invitation from another member. To work on WE.Vote, we use a common account for the whole ecosystem of Waves Enterprise services. If you have already registered on our resources, simply enter your username and password on the login page.
To register in the client, click Create Account. Enter your email address, make up a strong password and click Register. Confirm your email address by following the link in the email. After this, you will be able to enter the service and proceed your work.
At the first entrance we will ask you:
enter your name so that your colleagues can recognize you in the system;
enter the name of the organization on whose behalf you plan to vote.
We will send invitation letters to your colleagues on behalf of the specified organization. This will allow them to pay attention to the email and not send it to “Spam”.
Registration upon invitation letter¶
If you have been invited to sign up for the WE.Vote to participate in a voting, you will receive a welcome email with a link. Follow this link to set your password for your account and log in to your WE.Vote account.
When you log in, we will ask you to join the organization that invited you. If you agree, you will have access to votes and polls of this organization.
Password change and reset¶
In case you forget your account password, we can reset it. After this, set a new password and restore access to your personal account. Keep in mind that access to WE.Vote is determined not only by knowing your account password, but also by access to your secret key.
This key is used to electronically sign your vote. The procedure for changing/resetting your password will be different for users storing their keys in cloud storage or on their own. See the next section for more information.
Key generation and storage¶
WE.Vote is built using the blockchain technology, which allows it to provide an unprecedented level of information security unattainable by conventional online services. This is achieved due to the fact that any interaction of participants of the voting process with the system is a transaction signed with a unique secret key.
Each user has two keys, a public key and a private key. The public key serves as the user’s identifier in the blockchain, and the private key is used to sign their vote. If you are a participant in a particular vote, your key will be registered in a smart contract. The service will only accept and count votes that were sent and signed by one of the registered keys.
Such strict rules for handling data impose an increased responsibility for the security of the key - if you lose it, you will not be able to participate in already published votes.
To make the keys easier to work with, on WE.Vote they are transformed from a long random set of letters and numbers into a mnemonic form - a set of 15 words called a seed-phrase. By saving the seed phrase, you retain access to your private key - and therefore the ability to vote.
WE.Vote provides two options for storing secret keys: independent storage on the user’s device (self-custody), or in the service’s secure cloud storage.
Self-custody is more preferable for users who are ready to determine the desired level of protection of their key and secure it by their own means: write it down on a piece of paper and put it in a safe, save it in a password manager, save it in a text file with notes, make a screenshot, etc. In this case, the security of the key is entirely in the hands of the user: your key is not transferred and is not stored at WE.Vote, we will not be able to restore it in case of loss.
When working with the service, the private key is stored locally, on the user’s device in the browser’s secure storage. The key is encrypted with the user’s password. Once you enter your login and password and log in to WE.Vote, the key is decrypted and can be used to sign your vote. To be able to vote on a different device or browser, you need to transfer your private key to the new device yourself. This is what the seed phrase is for, which is entered when logging into the user’s account on another device and generates a private key.
Changing and resetting the password when storing the seed phrase by itself also has its own peculiarities. During a regular password change, when we ask you to enter the old and new password, the app will locally re-encrypt the key with the new password and you will be able to continue your work. At that, on other devices where you have already transferred your key, the re-encryption will not happen: you will need to transfer the key to that device again using the seed phrase.
If you’ve forgotten your password and you need to reset it, we’ll help you do that and you’ll regain access to your personal account. But the key on your device will be encrypted with the old lost password, and you won’t be able to use it: WE.Vote will ask you to enter the secret phrase to retrieve your key from it, encrypt it with the new password and save it.
Since self-custody has many complicating factors, WE.Vote provides an alternative, no less safe and reliable way - storing your user key in the cloud storage of the voting service. If you choose this option, your key is created by a dedicated key storage service.
The seed-phrase you create is tied to your account and stored in the cloud service in encrypted form. When you send a voice, the key will be encrypted locally on your device and then signed by the key storage service. This way, your key will not be transmitted over the network without encryption, and therefore cannot be stolen during transmission.
Creation of the key is performed instantly after selecting the method of key storage in the cloud storage. You won’t have any problems with storing the key or transferring it to other devices: it will be accessible from any browser and from any device. It cannot be forgotten or lost. Resetting or changing your password also does not affect the availability of the key in any way: WE.Vote takes care of all that.
After creating your account and secret key, you can start using the service.