Public audit report August 21, 2026

Opentech OÜ × POSTHUMAN

SyncVotes smart-contract review

An independent, limited-scope source-code audit conducted by Opentech OÜ, with technical collaboration from POSTHUMAN, covering the Daml smart contracts supporting app.syncvotes.com. This report publishes the reviewed production artifacts, assessment and limitations.

Current status Remediation required
Target
app.syncvotes.com
Independent auditor
Opentech OÜ
Technical collaboration
POSTHUMAN
Review date
August 21, 2026
Review type
Limited-scope source-code audit
Auditor location
Estonia

Executive assessment

Transparent by design

The review identified authorization and state-lifecycle gaps that can affect governance integrity. Two finding areas are assessed as critical and require contract-level remediation before this review can be represented as passed or certified.

The contracts also contain meaningful safeguards around voting-mode separation, weight resolution, thresholds, timelocks and package upgrades. Those controls reduce risk, but they do not compensate for the critical execution-path findings.

Exploitation instructions and transaction recipes are intentionally omitted from this public summary. Detailed code references were retained for coordinated remediation and retesting.

Findings overview

Priority remediation areas

Severity reflects potential ledger impact under adversarial but contract-valid execution paths.

Critical

Proposal authorization provenance

The DAO action path does not fully prove that an executable proposal originated through the intended creation and voting lifecycle.

Critical

One-shot execution guarantee

An executed proposal can remain available as reusable authorization because application does not consume it or record that the action was already applied.

High

Weighted ballot identity and lifecycle

Ballot association relies on textual proposal identifiers, while withdrawal and revocation rules do not fully enforce the weighted-voting lifecycle on-ledger.

High

Threshold and electorate consistency

Absolute thresholds can drift from the weighted electorate and may become unreachable after membership changes.

High

Wallet registration trust boundary

Owner consent, public-key ownership and uniqueness are not established as complete ledger-level invariants.

Medium

Operational policy enforcement

Pause behavior, weight-epoch freshness, ballot completeness and several configuration bounds depend partly on trusted operators or off-ledger policy.

Verified controls

Protections confirmed in source

These are positive observations, not a substitute for remediating the findings above.

  • Weighted and unweighted voting paths are explicitly partitioned.
  • Weighted proposals pin the exact publication contract for their weight epoch.
  • A voter’s effective weight is re-resolved rather than accepted as a free-form ballot value.
  • Quorum and approval thresholds are calculated explicitly in contract logic.
  • Veto and timelock boundaries are represented in the proposal lifecycle.
  • The governance package declares a smart-contract-upgrade compatibility gate against v0.12.0.

Production binding

Artifacts reviewed

Package IDs were read from the live SyncVotes metadata endpoint and matched to the Canton ledger identity. Hashes below identify the reviewed DAR artifacts.

Source revision
cd52947d4435ceb6fc7efa2aac5675cf5a2ef68c

Reviewed Daml sources were unchanged from release commit 51224a7621e75fc943f131844e7cea3e0b584bf8.

Governance v3 · 0.13.0

Production package ID
16011520bcda7e797e9208dc9dbe9e4e72fa5914e16d0bcecbc9bbc8faa8a4a4
DAR SHA-256
282d74b22d86be26f5fbc3c3b9bfb56ea0df7c701b9e3e71fc3e6543cb26528b

Wallet · 0.2.0

Production package ID
9529bc9234c0b07cab0d3cd47606cf9ba8c3b1e5b15d1fad4c040742338ee095
DAR SHA-256
edabcef58ad78f116584976a3f2ae4d1ced5013e64a242a897918521ca60b269

Methodology

How the review was performed

  1. 01

    Source and invariant review

    Manual review of authorization, signatory, observer, state-transition and lifecycle invariants in the Daml templates and choices.

  2. 02

    Adversarial path analysis

    Reasoning from ledger-valid states, including direct template creation, replay, stale authorization and trusted-operator boundaries.

  3. 03

    Production artifact binding

    Live SyncVotes metadata was used to bind the review to the production Canton ledger identity and deployed package identifiers.

  4. 04

    Release evidence review

    Release records, upgrade-gate output and the reported Daml test result were inspected as supporting evidence, with limitations stated below.

In scope

Daml contract surface

  • governance-v3/daml/DAO.daml
  • governance-v3/daml/Proposal.daml
  • governance-v3/daml/Vote.daml
  • governance-v3/daml/Snapshot.daml
  • governance-v3/daml/Types.daml
  • wallet/daml/Wallet.daml
  • Associated Daml tests, release records and production package metadata

Limitations

What this report does not claim

  • • This was not formal verification, a penetration test or a certification.
  • • Frontend, backend, infrastructure, operational key custody and Canton configuration were not fully audited.
  • • The review is point-in-time and does not guarantee the absence of additional vulnerabilities.
  • • A focused remediation review is required before the status can change.

Test evidence note

The inspected release record reports 53/53 Daml scripts passing, a successful smart-contract-upgrade gate against v0.12.0, and TestNet end-to-end validation. The Daml toolchain was not available in the current audit shell, so that suite was not independently re-run during this review. The historical release result is therefore supporting evidence, not a new test execution by the reviewers.

Disclosure and follow-up

Security is a process

Opentech OÜ conducted this review with technical collaboration from POSTHUMAN to give the SyncVotes team an actionable remediation baseline and make the current assessment transparent. A follow-up review should verify fixes against the same production-bound artifacts.