Transparency & Trust
How does Civiq ensure that no vote is ever manipulated, deleted or falsified? Here is the technical truth — explained simply.
How we prevent manipulation
The short answer: every event is linked to the previous one. Change one — and everything after it breaks.
The book analogy
Imagine a book where each page number depends on all previous pages. If someone removes page 47, the book immediately falls apart — page 48 no longer follows 46. Our audit log works the same way.
How it works technically (simplified)
Every action on Civiq — every vote, every created poll, every registration — produces a unique fingerprint called a hash. This fingerprint uses a standard called SHA-256 (a well-known, publicly documented algorithm used in banking and legal systems worldwide).
Each fingerprint is calculated from the content of the event AND the fingerprint of the previous event. This creates a chain:
Event 1: "User registered" → hash: a3f9...
Event 2: "Poll created" → hash: SHA256(a3f9... + event_data) = b7c2...
Event 3: "Vote cast" → hash: SHA256(b7c2... + event_data) = d1e8...
Event 4: "Poll closed" → hash: SHA256(d1e8... + event_data) = f4a1...
If Event 2 is changed: b7c2... changes → d1e8... no longer matches → chain broken.
Anyone can independently recalculate this chain. If the hashes match, no data has been altered. This verification will be available via our public audit API.
Who voted — and how?
Civiq has no anonymous voting. Every vote is permanently linked to the voter. This is a deliberate design choice — not a limitation.
Why no anonymity?
In a true democracy, representatives stand publicly for their decisions. Civiq extends this principle to citizens: those who stand for something should stand by it. Accountability requires visibility.
You control how your name appears:
Jane Doe
Full name — maximum accountability
J. Doe
Initial + last name
J. D.
Initials only — minimum visibility
The complete list of who voted is publicly accessible for every poll. This list is immutable — once a vote is recorded, it cannot be removed.
Blockchain anchor Planned
An additional layer of trust: daily proof on a public blockchain.
Once per day, Civiq will publish a single hash — a fingerprint of all audit events of that day — to a public blockchain (Polygon or Arbitrum). This hash is permanent and cannot be altered by anyone, including us.
What this means for you:
- Anyone can independently re-calculate the hash from our public API and compare it to the on-chain value.
- If they match: all data is intact. No vote has been changed, deleted or added.
- If they do not match: tampering is proven. Forensically. Publicly.
- Cost: approximately 1–10 cents per day. No full blockchain operation needed.
Public Audit API Planned
We are building a public API that allows anyone — journalists, researchers, citizens — to independently audit the entire event history of Civiq.
Planned endpoints:
GET /api/v1/audit/events — full event log (paginated)
GET /api/v1/audit/verify — verify hash chain integrity
GET /api/v1/anchor/latest — latest blockchain snapshot
GET /api/v1/anchor/:date/verify — compare local vs. on-chain hash
Party vs. Citizens
How parliament parties voted compared to what Civiq citizens decided on the same topics.
No linked votes yet
Once parliament votes are linked to Civiq polls, the comparison will appear here.