Proposal authorization provenance
The DAO action path does not fully prove that an executable proposal originated through the intended creation and voting lifecycle.
Opentech OÜ × POSTHUMAN
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.
Executive assessment
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
Severity reflects potential ledger impact under adversarial but contract-valid execution paths.
The DAO action path does not fully prove that an executable proposal originated through the intended creation and voting lifecycle.
An executed proposal can remain available as reusable authorization because application does not consume it or record that the action was already applied.
Ballot association relies on textual proposal identifiers, while withdrawal and revocation rules do not fully enforce the weighted-voting lifecycle on-ledger.
Absolute thresholds can drift from the weighted electorate and may become unreachable after membership changes.
Owner consent, public-key ownership and uniqueness are not established as complete ledger-level invariants.
Pause behavior, weight-epoch freshness, ballot completeness and several configuration bounds depend partly on trusted operators or off-ledger policy.
Verified controls
These are positive observations, not a substitute for remediating the findings above.
Production binding
Package IDs were read from the live SyncVotes metadata endpoint and matched to the Canton ledger identity. Hashes below identify the reviewed DAR artifacts.
cd52947d4435ceb6fc7efa2aac5675cf5a2ef68c Reviewed Daml sources were unchanged from release commit 51224a7621e75fc943f131844e7cea3e0b584bf8.
16011520bcda7e797e9208dc9dbe9e4e72fa5914e16d0bcecbc9bbc8faa8a4a4282d74b22d86be26f5fbc3c3b9bfb56ea0df7c701b9e3e71fc3e6543cb26528b9529bc9234c0b07cab0d3cd47606cf9ba8c3b1e5b15d1fad4c040742338ee095edabcef58ad78f116584976a3f2ae4d1ced5013e64a242a897918521ca60b269Methodology
Manual review of authorization, signatory, observer, state-transition and lifecycle invariants in the Daml templates and choices.
Reasoning from ledger-valid states, including direct template creation, replay, stale authorization and trusted-operator boundaries.
Live SyncVotes metadata was used to bind the review to the production Canton ledger identity and deployed package identifiers.
Release records, upgrade-gate output and the reported Daml test result were inspected as supporting evidence, with limitations stated below.
In scope
governance-v3/daml/DAO.damlgovernance-v3/daml/Proposal.damlgovernance-v3/daml/Vote.damlgovernance-v3/daml/Snapshot.damlgovernance-v3/daml/Types.damlwallet/daml/Wallet.damlLimitations
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
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.