[Epic] Establish certified and end-to-end verifiable Voting provider program #2

Open
opened 2026-08-04 13:49:43 +02:00 by zemion · 2 comments
Owner

Outcome

Deliver a truthful high-assurance Voting path with POLYAS as the first external provider and a separately bounded native certifiable provider program.

Work packages

  • #3 integrates POLYAS without claiming an unavailable API or stale certificate.
  • #4 fixes the native Target of Evaluation and assurance boundary.
  • #5 implements the selected independently reviewed end-to-end verifiable protocol.
  • #6 establishes controlled lifecycle, conformance, evaluation, and certification evidence.

Invariants

  • recorded, confidential, secret, and external_certified remain distinct.
  • No adapter, administrator setting, or test can self-assert certification.
  • Raw selections, voter credentials, and private keys never enter GovOPlaN evidence projections.
  • Certification is exact product/version/configuration evidence with validity and independent authority.
  • Challenge, annulment, recovery, and expiry remain explicit auditable states.

Current slice

The provider contract now requires a pinned assurance declaration. Voting revalidates it before provider casting and finalization and fails closed for an expired, revoked, unsupported, or changed claim. See docs/CERTIFIABLE_VOTING_PROGRAM.md and docs/POLYAS_PROVIDER_PROFILE.md.

## Outcome Deliver a truthful high-assurance Voting path with POLYAS as the first external provider and a separately bounded native certifiable provider program. ## Work packages - #3 integrates POLYAS without claiming an unavailable API or stale certificate. - #4 fixes the native Target of Evaluation and assurance boundary. - #5 implements the selected independently reviewed end-to-end verifiable protocol. - #6 establishes controlled lifecycle, conformance, evaluation, and certification evidence. ## Invariants - recorded, confidential, secret, and external_certified remain distinct. - No adapter, administrator setting, or test can self-assert certification. - Raw selections, voter credentials, and private keys never enter GovOPlaN evidence projections. - Certification is exact product/version/configuration evidence with validity and independent authority. - Challenge, annulment, recovery, and expiry remain explicit auditable states. ## Current slice The provider contract now requires a pinned assurance declaration. Voting revalidates it before provider casting and finalization and fails closed for an expired, revoked, unsupported, or changed claim. See docs/CERTIFIABLE_VOTING_PROGRAM.md and docs/POLYAS_PROVIDER_PROFILE.md.
Author
Owner

Codex State: progress

Summary

  • Core now defines a versioned Voting provider assurance declaration with explicit research/evaluation/certified/expired/revoked states.
  • Voting pins the declaration into the frozen ballot, revalidates it before cast/finalization, and rejects changed or non-current certification claims.
  • POLYAS is bounded as an operator-assisted first integration until vendor API, sandbox, current certification, and contractual evidence are supplied.

Changed Files

  • src/govoplan_voting/backend/service.py
  • docs/POLYAS_PROVIDER_PROFILE.md
  • docs/CERTIFIABLE_VOTING_PROGRAM.md

Verification

  • python -m unittest tests.test_voting: passed
  • Core tests.test_voting_contract: passed

Next / Blocked

  • Continue #4 TOE work with an evaluation facility; #3 requires POLYAS vendor inputs; #5/#6 remain gated by protocol and assurance selection.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Core now defines a versioned Voting provider assurance declaration with explicit research/evaluation/certified/expired/revoked states. - Voting pins the declaration into the frozen ballot, revalidates it before cast/finalization, and rejects changed or non-current certification claims. - POLYAS is bounded as an operator-assisted first integration until vendor API, sandbox, current certification, and contractual evidence are supplied. ### Changed Files - `src/govoplan_voting/backend/service.py` - `docs/POLYAS_PROVIDER_PROFILE.md` - `docs/CERTIFIABLE_VOTING_PROGRAM.md` ### Verification - `python -m unittest tests.test_voting: passed` - `Core tests.test_voting_contract: passed` ### Next / Blocked - Continue #4 TOE work with an evaluation facility; #3 requires POLYAS vendor inputs; #5/#6 remain gated by protocol and assurance selection. Suggested status label: `status/in-progress`
Author
Owner

The normalized source ideas and user-story orientation are now preserved in govoplan/docs/PRODUCT_INPUT_REGISTER.md. This issue remains the canonical live work item for the corresponding outcome.

The normalized source ideas and user-story orientation are now preserved in `govoplan/docs/PRODUCT_INPUT_REGISTER.md`. This issue remains the canonical live work item for the corresponding outcome. <!-- product-input-register-2026-08-06 -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-voting#2