Viewing Campaign Results
See how responses are aggregated and displayed.
#Results Tab
Every campaign has a Results tab showing aggregated data:
#For Choice Questions
- Vote counts: How many people selected each option
- Percentages: What proportion chose each answer
- Visual bars: Graphical representation of distribution
#For Text Questions
- Response count: Total number of text responses
- Response list: Individual text answers (click to expand)
#Response Details
The Responses tab is visible to everyone and shows:
- Timestamps: When each response was submitted
- Respondent addresses: Blockchain address of each participant
- Transaction IDs: Links to verify on block explorer
#Real-Time Updates
Results of active campaigns refresh automatically:
- The page re-reads the blockchain at a regular interval (you can change it in the settings)
- Vote counts and charts update without a page reload
- Use the refresh button next to "Updated" to reload immediately
#Results of Private Campaigns
When answers are not visible to everyone, they are stored encrypted and the results are tallied in your browser from the answers you are allowed to decrypt:
- Everyone with access: open the campaign with the password or an allowlisted address and you see everything; on a campaign for the members of a group, its participants and its creator do
- Voters only: results appear after you have responded
- Only creator: the creator sees everything; participants see only their own answer
- After the end date: until the campaign ends everyone, the creator included, sees only their own answer; afterwards everyone with access (on a password campaign, everyone with the password) sees all results
- Address lists: an address removed from the list cannot read answers submitted after its removal, unless it has already responded to a "Voters only" campaign. One that responded keeps reading its own answer (and the answers sent before its removal, which it could read then)
If you are not signed in, or your wallet has not signed the decryption request yet, the Results tab shows a banner with a "Sign in" or "Sign & decrypt" button.
#Counted, Locked and Invalid Responses
A tally counts only answers that could be read and are valid. The results say how many responses are left out, and why:
- Locked: your account may not read these answers (see above)
- Failed: they could not be decrypted right now, for example because a key server did not answer; try again later
- Invalid: encrypted answers that break the answer rules (for example an option that does not exist), that were copied from another respondent, or that no reader could ever decrypt (for example, because they were encrypted for other key servers than the ones Logbook uses). The contract checks public answers when they are submitted; encrypted ones can only be checked after decryption, so invalid ones are marked as invalid and never counted
#On-Chain Verification
Every response can be verified independently:
- 1Note the transaction ID from the response
- 2Visit a Sui block explorer (like Suiscan)
- 3Search for the transaction ID
- 4View the complete transaction details
- The response was actually submitted
- The exact timestamp of submission
- The blockchain address that submitted it
- The transaction cannot be modified
#Campaign Lifecycle
#Active Campaigns
- Accept new responses
- Show live results
- End date in the future
#Ended Campaigns
- No longer accept responses
- Cannot be edited or reopened: questions, documents and end date are fixed
- Results are final
- Data remains permanently on-chain
#Results Certificate
The creator can issue a results certificate from the Results tab: a JSON snapshot of the questions, the tally and every response with its transaction, meant for people who do not use Logbook, such as an auditor or the minutes of a meeting.
When the answers are not public, the certificate lists who responded and when, but not what each of them answered. Including every respondent's answers ("full") is an explicit choice, because everyone who can read the certificate then sees who answered what. A "totals only" certificate lists free texts and "Other" answers sorted, not in the order of the responses, so their position says nothing about who wrote which.
- The file is stored on Walrus and its SHA-256 is recorded in the campaign on-chain, so it cannot be altered afterwards without detection
- Every certificate lists the address of every respondent with the time of the response, "totals only" included. A "full" certificate is one file that says which address answered what. Walrus is a public storage network: anyone can fetch the stored file (ciphertext, for a private campaign), and Logbook cannot delete it there before its storage period ends. The dialog says so before you issue one
- Every line in it can be checked against the blockchain: each response lists its on-chain object and transaction
- It states how many responses were left out of the tally (locked, failed or invalid) and whether it was issued before the campaign ended
- It names its format (
logbook-certificate/v2) and its detail:tally(totals only, without the respondents' answers), orfull - For private campaigns the certificate is encrypted for the same audience as the answers. On address-list campaigns where everyone with access reads the answers, it is encrypted for the current access epoch (see Smart Contract): an address removed from the list cannot read a certificate issued after its removal, and AI reports follow the same rule
- "Issue again" replaces it, for example after the campaign has ended
- The file is kept for at least 50 days (Testnet beta); the on-chain record is permanent, and a downloaded copy stays verifiable after that. See Data Storage
#Verifying the document that was voted on
Every document of a campaign has a "Verification link". On the verification page anyone can choose a file from their computer and see whether it is the one the campaign committed to. The file is hashed in the browser and compared with the blockchain; nothing is uploaded and no storage is involved. The page also says whether the commitment is already frozen (the campaign has responses) or could still be replaced by the creator.
For private campaigns the link carries the salt of that one document. It lets the holder verify a copy they were given; it does not open the file or the campaign. For a private document of the current format the page says that its size is hidden: the chain holds only the padded size of the stored file.
#Verifying a certificate
Use "Copy verification link" and send the link to anyone: an auditor, a board member, a journalist. The verification page needs no account and runs every check in the visitor's browser:
- 1It reads the record from the Sui blockchain: which document the campaign creator committed to, and when. Only the creator's address can make that record.
- 2It fetches the file (Walrus, or Logbook's cache) and compares its SHA-256 with the one on-chain. A file that does not match is never shown.
- 3For private campaigns the link carries the key of this one document (after the
#, so it never reaches a server). The visitor decrypts the very bytes whose hash is on-chain. The key opens the certificate only, not the campaign or its answers. - 4It checks every field of the certificate against what the blockchain can prove. The campaign it states must be the one on-chain: its id, network and package, its creator, participants and visibility settings, its times, and the type, options and required flag of every question (and the wording, when the campaign's text is not encrypted). The summary and the note must match the rows, the tally must add up and fit the responses it counts, and every response it lists must exist on-chain, once, with the same respondent, transaction and time. A file that is not a valid certificate shows up as a failed check.
- 5For campaigns with public answers it goes further: every listed response counts, and the tally is recounted from the response objects over the questions and question types stored on-chain. An inflated tally, swapped option labels, a choice question presented as text, an altered answer or a dropped response are caught.
- 6It checks that no response is left out. A certificate recorded after the campaign ended must list every response. An interim certificate, recorded while the campaign was still open, may leave out votes that came in between its stated issue time and its record on-chain, but only within the 30 minutes before the record; the page shows those votes as a warning. Votes after the record are only noted.
- 7A file received by email can be dropped on the page to check that it is byte-for-byte the committed document. This works even after the file is no longer stored anywhere, because the hash it is compared with lives on-chain.
#AI Analytics
Campaign creators can use AI Analytics to get intelligent insights:
- 1Go to your campaign
- 2Click the Analytics tab
- 3Click Analyze Responses
- Key findings and patterns
- Sentiment analysis for text responses
- Actionable recommendations
Learn more in the AI Analytics documentation.
#Exporting Data
Currently, you can:
- View all responses in the app
- Verify individual responses on-chain
- Copy addresses and transaction IDs