{"title":"Swiss Post - E-Voting","slug":"swiss-post-evoting","rules":"##Policy for the Swiss Post E-Voting public bug bounty programme\n\n**Latest News:**\n2026-09-22 Update: Introduced a new scope covering the progressive publication of the [Swiss Post Voting System 2.0](https:\/\/gitlab.com\/swisspost-evoting\/next-generation-system), which is currently under development and is planned to become the next generation of Swiss Post's production e-voting platform. We are happy to receive your feedback and insights!\n\n2026-07-24 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!\n\n2026-07-06 Update: The public intrusion test has once again started and will run until the 24th July. Good luck!\n\n2026-06-08 Update: The wait is almost over! The Public Intrusion Test (PIT) will return on **06 July 2026**, featuring a special highlight: the **PIT+ private program**. For the first time, we will deploy the **PIT environment with adjusted security measures**, allowing you to test its robustness in an extended setup beyond the usual constraints. If you are interested in participating in the PIT+ program, please contact us at [evoting@post.ch](evoting@post.ch). Please note that the **number of available slots is limited**. If you are unable to secure a spot this year, you will have another opportunity next time.\n\n2026-02-24 Update: We've updated our reporting requirements (see below). Check them out to keep you reports valid!\n\n2025-08-25 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!\n\n2025-07-28 **Seize the opportunity**:  The public intrusion test has once again started and will run until the 24th August. Explore and directly test the live infrastructure through the web interface. Details can be found in \u201cC.4 Web application & infrastructure\u201d\n\n2025-05-16 Update: A new scope has been added to the program: the **E-Voting Voting Print Service Source code**! You can find the code [here](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/voting-card-print-service)\n\n2024-07-04 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!\n\n2024-06-12 **Seize the opportunity**: The public intrusion test has once again started and will run until the 3th July. Explore and directly test the live infrastructure through the web interface. Details can be found in \u201cC.4 Web application & infrastructure\u201d **Also, don\u2019t miss out our new bounty grid, which increased and is active starting today. **\n\n2024-02-22 Update: We published a new major release of our e-voting system. Take a look at our [repository](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md)!\"\n\n2023-07-31 Update: The public penetration test on e-voting this year has ended. We want to thank everyone, who participated!\n\n2023-07-08 **Don\u2019t miss out:** The public penetration test on e-voting will run until 31 July on [\"pit.evoting.ch\"](pit.evoting.ch). The scope is detailed below under \u201cC.4 Web application & infrastructure (intrusion test)\u201d Take your chance to check out and test the live infastructure directly through the webinterface!\n\n2023-05-25 Update: We published a new release with **new source code components** and actualized our E2E environment. Take a look at our [repository](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md) and stay up to date by signing up for our [infomail]\n(https:\/\/swisspost-digital.ch\/en\/evoting-community\/community-programme\/infomail).\n\n2022-12-16 Update: We published a new release and actualized our E2E environment. Take a look at our [repository](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md) and stay up to date by signing up for our [infomail](https:\/\/swisspost-digital.ch\/en\/evoting-community\/community-programme\/infomail).\n\n# A. Introduction\n\n## A.1 About the Programme and this Policy\n\nThis bug bounty programme is a permanent and public programme that is a dedicated part of the Swiss Post e-voting community programme (hereinafter ECP): [https:\/\/swisspost-digital.ch\/evoting-community](https:\/\/swisspost-digital.ch\/evoting-community) \n\nThe goal of this programme is to continuously improve the security of the Swiss Post e-voting system. \n\nBy participating for the ECP public bug bounty, you agree to comply with this Policy and with the Code of Conduct for the ECP (hereinafter CoC). In case of conflict between this Policy and the CoC, the Policy has priority. If you do not accept this policy and the CoC, please do not participate in the ECP public bug bounty.\n\n**Please read carefully the programme policy, especially the indications regarding the different scopes of this programme and the corresponding reporting requirements**. **Please also follow our [Code of Conduct]( https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md)**.\n\n## A.2 About Swiss Post\n\nSwiss Post\u2019s services make everyday life easier for people in Switzerland \u2013 in both the physical and digital worlds. When it comes to e-voting, Swiss Post is digitizing what it does best: the secure transport of confidential information. \n\nIn order to meet highest quality standards, we are constantly mitigating security issues on multiple levels.\nWe appreciate any contribution that helps to improve the security of our systems and we will pay a fair reward for it.\n\n## A.3 About the Swiss Post E-Voting system\n\nThe developers, cryptographic experts and other specialists from Swiss Post are continuously improving the e-voting system with universal verifiability. For information about the stage of development and our solution visit [https:\/\/swisspost-digital.ch\/evoting-community]( https:\/\/swisspost-digital.ch\/evoting-community)\n\nIn 2019, Swiss Post disclosed the source code of an earlier version of its e-voting system. Since then, we have continued to develop the system while improving the accompanying documentation and auditability. The feedback from those who took part provided us with a key basis for designing the current disclosure process, in particular with regard to the options for cooperating with interested parties. We have updated the process accordingly: the system is disclosed iteratively and transparently. Active dialogue with experts is a core component of the disclosure process, which forms part of the e-voting community programme.\n\nIn addition to the current Swiss Post Voting System in production, Swiss Post is developing a next-generation e-voting system (Swiss Post Voting System 2.0) designed to further reduce the necessary trust assumptions required in the generation of cryptographic material and voting cards. To facilitate early scrutiny, relevant research documents and future specifications of the next-generation system are being published progressively, enabling review by researchers, auditors and participants in the bug bounty programme. Community feedback plays a vital role in strengthening both the protocol design and the future implementation of the system. \n\n\n## A.4 Source code and other programme material\n\nThe source code , specifications, documentation and additional material for this programme are available in the public repositories under [https:\/\/gitlab.com\/swisspost-evoting](https:\/\/gitlab.com\/swisspost-evoting)\n\nThese repositories will provide you with the possibility of compiling the source code and running the whole Swiss Post E-Voting system in Docker on your local machine or in your lab to simulate an election event.\n\nWe will update the repositories frequently - make sure to stay on the **latest version of the master branch** of the source code and other programme material when carrying out your research. \n\n# B. General Programme Rules\n\nParticipants are permitted to perform any tests and investigations on the systems as long as they act in good faith and as long as they respect the scopes and rules described below.\n\n## B.1 Eligibility and Coordinated Vulnerability Disclosure policy\n\nWe are happy to thank everyone who submits valid reports. This helps us to improve the security of the Swiss Post E-Voting system. However, only those that meet the following eligibility requirements may receive a monetary reward:\n- You must be the first reporter of a vulnerability.\n- The vulnerability is found in the latest version of the source code & documentation at the time of your report.\n- The vulnerability must be a qualifying vulnerability (see below)\n- Any vulnerability found must be reported as soon as possible after discovery through yeswehack.com.\n- You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots or proof of concept code as necessary (refer to the reporting requirements of the corresponding scope).\n- You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about requests per second).\n- You must comply with the Coordinated Vulnerability Disclosure policy (see below).\n\nOur security analysts examine reports about vulnerabilities. During our analysis, we will consider a worst case scenario and keep that in mind when defining the reward we are paying.\n\n**Any vulnerability disclosure follows the Coordinated Vulnerability Disclosure policy defined in the [Code of Conduct](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md).** \n\n**Our aim is to provide the highest possible level of transparency. Therefore, all accepted findings are also published on our [Gitlab](https:\/\/gitlab.com\/groups\/swisspost-evoting\/-\/issues). This includes the summary of the report, as well as comments. The reporter of the findings will be credited if the reporter agrees to its publication. If you want to stay anonymous or use an alias, please let us know in the report.**\n\n## B.2  Legal safe harbour: consequences of complying with these programme rules\n\nSwiss Post interprets activities by participants in public intrusion tests that comply with the programme rules as authorized access under the Swiss Penal Code and other anti-hacking and anti-circumvention laws. This includes Swiss Penal Code Articles 143, 143bis and 144bis. Swiss Post will only file a complaint about a violation of the programme rules if the code or the other materials or parts thereof are used commercially or productively. If legal action is initiated by a third party against a participant and the participant has complied with the programme rules as outlined in this document, Swiss Post will take the necessary measures to make it known to the authorities that such participant's actions have been conducted in compliance with this policy.\n\nAny non-compliance with the programme rules may result in exclusion from the e-voting community programme.\n\n\n# C. Scopes & Peculiarities\n\nThis programme aims at hardening the e-Voting system in depths. For this reason, not only the web application and its infrastructure will be considered part of the scope, but also its source code, the cryptographic protocols in use as well as the specification and documentation.\n\nTo cover each and every aspect, you have access to the following elements to complete your research and testing:\n- Application source code\n- Protocol of the Swiss Post Voting System\n- System Specification and documentation\n\nIn addition, periodical public intrusion tests lasting about 4 weeks each temporarily complements the e-voting community bug bounty programme.  \n\nWe appreciate any contribution that helps to improve the security of our systems and we will pay a fair reward for it.\n\n## C.1\tScenarios with special bounties\n\nThere are some specific scenarios we are particularly interested in, for which we offer special bounties (reward grid +++). Those Bounties apply to all scopes and will be paid out instead of the CVSS based reward (not additional). During our analysis, we will consider a worst case scenario and keep that in mind when defining the reward we are paying:\n\n- Manipulation that goes undetected by the voter and the system (**70'000 - 230'000 EUR**):\n    - Manipulation of individual votes (without being detected by the proofs and logs generated by the e-voting protocol)\n    - Manipulation of the tallying process (manipulating the results) without voters and auditors detecting it\n- Manipulation that goes undetected by the voter but not by the system (**50'000 - 70'000 EUR**):\n    - Manipulation of individual votes while maintaining universal verifiability mechanism (detected by trusted auditor)\n    - Modifying the results of the election without being detected by a voter\n- Voting privacy outside the voting client (**40'000 - 50'000 EUR**):\n    - The privacy of a vote is broken (what he or she voted) on the server\n- Vote corruption (**30'000 - 40'000 EUR**):\n    - A vote is stored in the ballot box and that vote cannot be decrypted\n    - A vote is stored in the ballot box in a way that gives the voter an unfair advantage\n\nAny scenario described has to be achieved with respect to the trust assumptions of the [Federal Chancellery Ordinance on Electronic Voting (VEleS)](https:\/\/www.fedlex.admin.ch\/eli\/cc\/2022\/336\/en) in order to qualify for a reward. For a summary of the assumptions see Chapter 1-2 of the [Protocol of the Swiss Post Voting System](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol).\n\n## C.2\tApplication source code \n\n### C.2.1 OBJECTIVES\n\n- Identification of exploitable\/demonstrable vulnerabilities in the e-voting system\n- Identification of security issues without current evidence of exploitability in the e-voting system:\n    - e.g. Unsecure functions in use, ...\n- Identification of bad deviations from the System Specification which could lead to exploitation\n- To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)\n\n### C.2.2 REPORTING REQUIREMENTS\n\nPlease make sure to complete your report with the following details:\n- Source code references:\n    - implicated file(s)\n    - implicated line(s) of code\n    - any other information that might help us identify the vulnerable parts\n- External references:\n    - Academic references on the matter\n    - Technical studies on the matter\n    - Conference papers\n    - Any other information that might help us understand the vulnerability\n- Attack scenarios with their potential impact\n\n\n\n\n### C.2.3 REWARD POLICY\n\nAll qualifying vulnerabilities reported on the \u2018Application source code\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1 or the scenarios with special bounties.\nBased on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid (++ or +++).\n\n## C.3\tProtocol, System Specification and documentation\n\n### C.3.1 OBJECTIVES\n\n- Identification of security issues without current evidence of exploitability in the available e-voting system\n    - e.g. implementation errors that prove to lead to exploitation independently of the current or future implementation\n    - e.g. identification of deprecated protocols that prove to lead to exploitation independently of the current or future implementation\n- Identification of bad deviations from the cryptographic proof, which prove to lead to exploitation independently of the current or future implementation\n- To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)\n\n### C.3.2 REPORTING REQUIREMENTS\n\nPlease make sure to complete your report with the following details:\n- References to the documentation and the source code:\n    - implicated protocols\/algorithms\n    - implicated pages\/paragraphs\n    - implicated line(s) of code (when relevant)\n    - any other information that might help us identify the vulnerable parts\n- External references:\n    - Academic references on the matter\n    - Technical studies on the matter\n    - Conference papers\n    - Any other information that might help us understand the vulnerability\n- Attack scenarios with their potential impact\n\n### C.3.3 REWARD POLICY\n\nAll qualifying vulnerabilities reported on the \u2018Protocol, System Specification and documentation\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1 or the scenarios with special bounties.\nBased on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid (++ or +++).\n\n\n## C.4\tSwiss Post Voting System 2.0 \nThis scope relates to the new e-voting system, version 2.0, which is currently under development and is planned to become the next generation of Swiss Post's production e-voting platform.\n\n### C.4.1 OBJECTIVES\n\n- Identification of security issues without current evidence of exploitability in the available e-voting system\n    - e.g. implementation errors that prove to lead to exploitation independently of the current or future implementation\n    - e.g. identification of deprecated protocols that prove to lead to exploitation independently of the current or future implementation\n- Identification of bad deviations from the cryptographic proof, which prove to lead to exploitation independently of the current or future implementation\n- To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)\n\n### C.4.2 REPORTING REQUIREMENTS\n\nPlease make sure to complete your report with the following details:\n- References to the documentation and the source code:\n    - implicated protocols\/algorithms\n    - implicated pages\/paragraphs\n    - implicated line(s) of code (when relevant)\n    - any other information that might help us identify the vulnerable parts\n- External references:\n    - Academic references on the matter\n    - Technical studies on the matter\n    - Conference papers\n    - Any other information that might help us understand the vulnerability\n- Attack scenarios with their potential impact\n\n### C.4.3 REWARD POLICY\n\nAll qualifying vulnerabilities reported on the \u2018Swiss Post Voting System 2.0\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1. Based on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid(+).\n\nParticipants should indicate which system generation is affected by a reported finding. If a vulnerability affects both version 1.0 and version 2.0 of the e-voting system, this must be clearly indicated in the submission. The higher applicable bounty reward will be granted. Any subsequent submissions of the same vulnerability across either scope will be considered duplicate reports.\nSpecial bounties will not apply until the new system has been fully defined and officially published. Until then, all submissions will be assessed according to the current bounty grid. \n\n\n<!--\n## C.4 WEB APPLICATION & INFRASTRUCTURE (INTRUSION TEST) \n\n### C.4.1 SCOPES AND ACCESSES\n\nSwiss Post conducts periodical public intrusion tests as part of the e-voting community bug bounty programme. **In 2026, the tests will run from 06 July to 24 July**. This scope is only valid during the published period.\n\n**You can access the e-voting system [here](https:\/\/pit.evoting.ch)**.\n\nThe voter portal is the primary target of the intrusion test. To test the various steps of the e-voting process and simulate different scenarios, you will need voting cards, which are available at the same location.\n\nAll key components and documents for the e-voting system are published on Gitlab. The software [release 1.5.4.0](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting\/-\/tree\/e-voting-1.5.4.0) is in operation for the public intrusion test. This information can be used during your tests.\n\n### C.4.2 OBJECTIVES\n\nIdentification of demonstrable, reproducible and exploitable vulnerabilities within the e-voting system infrastructure.\n\n### C.4.3 REWARD POLICY\n\nAll qualifying vulnerabilities reported on the Web-App scopes (incl. its underlying infrastructure) will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and scored using CVSS 3.1 or the scenarios with special bounties. Based on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid (++ or +++).  \n\n-->\n\n## C.5  General Reporting Requirements\n\n- Indicate at **which phase(s)** and **which step(s)\/algorithm(s)** of the protocol your attack occurs (with links to the concerned\ndocumentation and\/or lines of code involved, if any), as defined in our [Protocol of the Swiss Post Voting System - Computational Proof of Complete Verifiability and Privacy](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol).\n- Indicate **all parties involved in your attack**, and which are **malicious** and which are not. You should respect and understand our threat model as defined in our [Protocol of the Swiss Post Voting System - Computational Proof of Complete Verifiability and Privacy](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol).\n- Indicate the entry point that your malicious party will use, which explicitly conforms to our described threat model \n- Indicate any required preconditions, if any.\n- A **clear, concrete impact of the attack** must be provided, hypothetical and overly vague risks are insufficient.  Simply stating there is a CVE or a potential bug is useless.:\n  - what are the technical impact(s)? \n  - On which components do they apply?\n  - How does this impact other components? \n  - What are the business impact(s) of the obtained technical impact, in the context of the e-voting protocol?\n  - On which component(s) is this impact obtained?\n\n- Demonstrate that you have done your due diligence in verifying that the vulnerable behaviour you point to is **not mitigated by security measures implemented elsewhere**. This can be done by:\n  1. providing a proof of concept and proof of exploitation (see below), or\n  2. Providing a code or specification analysis (see below\n  A lot of security mesures implemented out of the code render most of the attacks extremely unrealistic or simply invalid. Like for example REST endpoint authentication, offline applications and operational measures.\n- Note that this includes the [verifier](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/System\/Verifier_Specification.pdf)\n\n\nFailure to do any of the above may result in your report being rejected without further analysis from our team.\n\n\n### C.5.1  Vulnerability dependent on real operating conditions\n\nWhen a proof of concept and proof of exploitation is not provided, we may refuse reports whose vulnerability's plausibility is heavily dependent on and affected by real operating conditions, such that their feasibility cannot be determined through static code inspection alone.\n\nReports in this category typically include, but are not limited to, the following classes of attacks:\n\n- DoS \/ algorithmic complexity \/ deadlocks \/ starvation, or any other related reports involving abuse of limited resources\n- Timing and side-channel attacks, including attacks requiring statistical distinguishability or other reliability-dependent techniques.\n- Race conditions, TOCTOU, lock-ordering issues\n- Attacks requiring probabilistic triggering\n- Software vulnerabilities that are almost entirely context-dependent: for instance, path traversals, XXEs, query, command, argument, template injections, arbitrary file read\/write, deserialisation issues, etc\n\n### C.5.2  Code or Specification Analysis\n\nWhen providing any static code\/specification analysis, you must:\n\n- Provide links to the specific line range of the vulnerable code you point to, clearly identifying which commit you performed your analysis on.\n- Trace (providing links) in a step-by-step manner the execution of your attack scenario across the components from its entry-point to its concrete impact, identifying the code paths taken (if any), files, functions, and relevant control-flow decisions, and showing how your attacker-controlled input\/action or conditions propagate through the system, as well as demonstrating how they evade security measures, if any are encountered.\n- When pointing to a particular part of the documentation, you must provide links to the documentation and clearly identify which version of the document you performed your analysis on.\n\n### C.5.3  Proof of Concepts\n- When providing a proof of concept, you must additionally provide a proof of exploitation (such as screenshots or videos) demonstrating you successfully ran the proof of concept.\n- Your PoC must exploit an actual instance of the e-voting system, such as the one we occasionally provide on [https:\/\/demo.evoting.ch\/](https:\/\/demo.evoting.ch\/) or your own (see [here](https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting\/-\/blob\/master\/BUILDING.md) for building instructions (note that other components have other building instructions provided in other repositories)). \n- PoCs based on partial builds are acceptable, provided they contain enough of the affected component to demonstrate the vulnerability under conditions representative of normal operation, and are accompanied by analysis explaining how the demonstrated behavior applies to the full system. PoCs that heavily emulate relevant parts of the vulnerable component will be considered insufficient.\n\n\n### C.5.4  General best practices\nReports that merely recommend adherence to general security best practices, without demonstrating a concrete weakness in the project\u2019s design or implementation, are out of scope.\n\nReports that demonstrate, through thorough analysis, that an expected security control or mitigation is missing, inconsistent with existing protections, and directly relevant to the e-voting system\u2019s defined threat model, are in scope.\n\n\n## C.6 Peculiarities\n \n- We reserve the right to use a \"OneFixOneReward\" rule, i.e., if two or more endpoints\/forms use the same code base and a single fix can be deployed to fix all the ensuing flaws, only one report will be considered as eligible for a reward and other reports will be closed as informative. However, all reports will be reviewed edge by edge.","rules_html":"<h2>Policy for the Swiss Post E-Voting public bug bounty programme<\/h2>\n<p><strong>Latest News:<\/strong><br \/>\n2026-09-22 Update: Introduced a new scope covering the progressive publication of the <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/next-generation-system\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/next-generation-system\">Swiss Post Voting System 2.0<\/a>, which is currently under development and is planned to become the next generation of Swiss Post's production e-voting platform. We are happy to receive your feedback and insights!<\/p>\n<p>2026-07-24 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!<\/p>\n<p>2026-07-06 Update: The public intrusion test has once again started and will run until the 24th July. Good luck!<\/p>\n<p>2026-06-08 Update: The wait is almost over! The Public Intrusion Test (PIT) will return on <strong>06 July 2026<\/strong>, featuring a special highlight: the <strong>PIT+ private program<\/strong>. For the first time, we will deploy the <strong>PIT environment with adjusted security measures<\/strong>, allowing you to test its robustness in an extended setup beyond the usual constraints. If you are interested in participating in the PIT+ program, please contact us at <a href=\"evoting@post.ch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"evoting@post.ch\">evoting@post.ch<\/a>. Please note that the <strong>number of available slots is limited<\/strong>. If you are unable to secure a spot this year, you will have another opportunity next time.<\/p>\n<p>2026-02-24 Update: We've updated our reporting requirements (see below). Check them out to keep you reports valid!<\/p>\n<p>2025-08-25 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!<\/p>\n<p>2025-07-28 <strong>Seize the opportunity<\/strong>:  The public intrusion test has once again started and will run until the 24th August. Explore and directly test the live infrastructure through the web interface. Details can be found in \u201cC.4 Web application &amp; infrastructure\u201d<\/p>\n<p>2025-05-16 Update: A new scope has been added to the program: the <strong>E-Voting Voting Print Service Source code<\/strong>! You can find the code <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/voting-card-print-service\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/voting-card-print-service\">here<\/a><\/p>\n<p>2024-07-04 Update: The public intrusion test on e-voting this year has ended. We want to thank everyone, who participated!<\/p>\n<p>2024-06-12 <strong>Seize the opportunity<\/strong>: The public intrusion test has once again started and will run until the 3th July. Explore and directly test the live infrastructure through the web interface. Details can be found in \u201cC.4 Web application &amp; infrastructure\u201d <strong>Also, don\u2019t miss out our new bounty grid, which increased and is active starting today. <\/strong><\/p>\n<p>2024-02-22 Update: We published a new major release of our e-voting system. Take a look at our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\">repository<\/a>!\"<\/p>\n<p>2023-07-31 Update: The public penetration test on e-voting this year has ended. We want to thank everyone, who participated!<\/p>\n<p>2023-07-08 <strong>Don\u2019t miss out:<\/strong> The public penetration test on e-voting will run until 31 July on <a href=\"pit.evoting.ch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"pit.evoting.ch\">\"pit.evoting.ch\"<\/a>. The scope is detailed below under \u201cC.4 Web application &amp; infrastructure (intrusion test)\u201d Take your chance to check out and test the live infastructure directly through the webinterface!<\/p>\n<p>2023-05-25 Update: We published a new release with <strong>new source code components<\/strong> and actualized our E2E environment. Take a look at our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\">repository<\/a> and stay up to date by signing up for our [infomail]<br \/>\n(https:\/\/swisspost-digital.ch\/en\/evoting-community\/community-programme\/infomail).<\/p>\n<p>2022-12-16 Update: We published a new release and actualized our E2E environment. Take a look at our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CHANGELOG.md\">repository<\/a> and stay up to date by signing up for our <a href=\"https:\/\/swisspost-digital.ch\/en\/evoting-community\/community-programme\/infomail\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/swisspost-digital.ch\/en\/evoting-community\/community-programme\/infomail\">infomail<\/a>.<\/p>\n<h1>A. Introduction<\/h1>\n<h2>A.1 About the Programme and this Policy<\/h2>\n<p>This bug bounty programme is a permanent and public programme that is a dedicated part of the Swiss Post e-voting community programme (hereinafter ECP): <a href=\"https:\/\/swisspost-digital.ch\/evoting-community\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/swisspost-digital.ch\/evoting-community\">https:\/\/swisspost-digital.ch\/evoting-community<\/a> <\/p>\n<p>The goal of this programme is to continuously improve the security of the Swiss Post e-voting system. <\/p>\n<p>By participating for the ECP public bug bounty, you agree to comply with this Policy and with the Code of Conduct for the ECP (hereinafter CoC). In case of conflict between this Policy and the CoC, the Policy has priority. If you do not accept this policy and the CoC, please do not participate in the ECP public bug bounty.<\/p>\n<p><strong>Please read carefully the programme policy, especially the indications regarding the different scopes of this programme and the corresponding reporting requirements<\/strong>. <strong>Please also follow our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md\">Code of Conduct<\/a><\/strong>.<\/p>\n<h2>A.2 About Swiss Post<\/h2>\n<p>Swiss Post\u2019s services make everyday life easier for people in Switzerland \u2013 in both the physical and digital worlds. When it comes to e-voting, Swiss Post is digitizing what it does best: the secure transport of confidential information. <\/p>\n<p>In order to meet highest quality standards, we are constantly mitigating security issues on multiple levels.<br \/>\nWe appreciate any contribution that helps to improve the security of our systems and we will pay a fair reward for it.<\/p>\n<h2>A.3 About the Swiss Post E-Voting system<\/h2>\n<p>The developers, cryptographic experts and other specialists from Swiss Post are continuously improving the e-voting system with universal verifiability. For information about the stage of development and our solution visit <a href=\"https:\/\/swisspost-digital.ch\/evoting-community\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/swisspost-digital.ch\/evoting-community\">https:\/\/swisspost-digital.ch\/evoting-community<\/a><\/p>\n<p>In 2019, Swiss Post disclosed the source code of an earlier version of its e-voting system. Since then, we have continued to develop the system while improving the accompanying documentation and auditability. The feedback from those who took part provided us with a key basis for designing the current disclosure process, in particular with regard to the options for cooperating with interested parties. We have updated the process accordingly: the system is disclosed iteratively and transparently. Active dialogue with experts is a core component of the disclosure process, which forms part of the e-voting community programme.<\/p>\n<p>In addition to the current Swiss Post Voting System in production, Swiss Post is developing a next-generation e-voting system (Swiss Post Voting System 2.0) designed to further reduce the necessary trust assumptions required in the generation of cryptographic material and voting cards. To facilitate early scrutiny, relevant research documents and future specifications of the next-generation system are being published progressively, enabling review by researchers, auditors and participants in the bug bounty programme. Community feedback plays a vital role in strengthening both the protocol design and the future implementation of the system. <\/p>\n<h2>A.4 Source code and other programme material<\/h2>\n<p>The source code , specifications, documentation and additional material for this programme are available in the public repositories under <a href=\"https:\/\/gitlab.com\/swisspost-evoting\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\">https:\/\/gitlab.com\/swisspost-evoting<\/a><\/p>\n<p>These repositories will provide you with the possibility of compiling the source code and running the whole Swiss Post E-Voting system in Docker on your local machine or in your lab to simulate an election event.<\/p>\n<p>We will update the repositories frequently - make sure to stay on the <strong>latest version of the master branch<\/strong> of the source code and other programme material when carrying out your research. <\/p>\n<h1>B. General Programme Rules<\/h1>\n<p>Participants are permitted to perform any tests and investigations on the systems as long as they act in good faith and as long as they respect the scopes and rules described below.<\/p>\n<h2>B.1 Eligibility and Coordinated Vulnerability Disclosure policy<\/h2>\n<p>We are happy to thank everyone who submits valid reports. This helps us to improve the security of the Swiss Post E-Voting system. However, only those that meet the following eligibility requirements may receive a monetary reward:<\/p>\n<ul>\n<li>You must be the first reporter of a vulnerability.<\/li>\n<li>The vulnerability is found in the latest version of the source code &amp; documentation at the time of your report.<\/li>\n<li>The vulnerability must be a qualifying vulnerability (see below)<\/li>\n<li>Any vulnerability found must be reported as soon as possible after discovery through yeswehack.com.<\/li>\n<li>You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots or proof of concept code as necessary (refer to the reporting requirements of the corresponding scope).<\/li>\n<li>You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about requests per second).<\/li>\n<li>You must comply with the Coordinated Vulnerability Disclosure policy (see below).<\/li>\n<\/ul>\n<p>Our security analysts examine reports about vulnerabilities. During our analysis, we will consider a worst case scenario and keep that in mind when defining the reward we are paying.<\/p>\n<p><strong>Any vulnerability disclosure follows the Coordinated Vulnerability Disclosure policy defined in the <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/CONTRIBUTING.md\">Code of Conduct<\/a>.<\/strong> <\/p>\n<p><strong>Our aim is to provide the highest possible level of transparency. Therefore, all accepted findings are also published on our <a href=\"https:\/\/gitlab.com\/groups\/swisspost-evoting\/-\/issues\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/groups\/swisspost-evoting\/-\/issues\">Gitlab<\/a>. This includes the summary of the report, as well as comments. The reporter of the findings will be credited if the reporter agrees to its publication. If you want to stay anonymous or use an alias, please let us know in the report.<\/strong><\/p>\n<h2>B.2  Legal safe harbour: consequences of complying with these programme rules<\/h2>\n<p>Swiss Post interprets activities by participants in public intrusion tests that comply with the programme rules as authorized access under the Swiss Penal Code and other anti-hacking and anti-circumvention laws. This includes Swiss Penal Code Articles 143, 143bis and 144bis. Swiss Post will only file a complaint about a violation of the programme rules if the code or the other materials or parts thereof are used commercially or productively. If legal action is initiated by a third party against a participant and the participant has complied with the programme rules as outlined in this document, Swiss Post will take the necessary measures to make it known to the authorities that such participant's actions have been conducted in compliance with this policy.<\/p>\n<p>Any non-compliance with the programme rules may result in exclusion from the e-voting community programme.<\/p>\n<h1>C. Scopes &amp; Peculiarities<\/h1>\n<p>This programme aims at hardening the e-Voting system in depths. For this reason, not only the web application and its infrastructure will be considered part of the scope, but also its source code, the cryptographic protocols in use as well as the specification and documentation.<\/p>\n<p>To cover each and every aspect, you have access to the following elements to complete your research and testing:<\/p>\n<ul>\n<li>Application source code<\/li>\n<li>Protocol of the Swiss Post Voting System<\/li>\n<li>System Specification and documentation<\/li>\n<\/ul>\n<p>In addition, periodical public intrusion tests lasting about 4 weeks each temporarily complements the e-voting community bug bounty programme.  <\/p>\n<p>We appreciate any contribution that helps to improve the security of our systems and we will pay a fair reward for it.<\/p>\n<h2>C.1  Scenarios with special bounties<\/h2>\n<p>There are some specific scenarios we are particularly interested in, for which we offer special bounties (reward grid +++). Those Bounties apply to all scopes and will be paid out instead of the CVSS based reward (not additional). During our analysis, we will consider a worst case scenario and keep that in mind when defining the reward we are paying:<\/p>\n<ul>\n<li>Manipulation that goes undetected by the voter and the system (<strong>70'000 - 230'000 EUR<\/strong>):\n<ul>\n<li>Manipulation of individual votes (without being detected by the proofs and logs generated by the e-voting protocol)<\/li>\n<li>Manipulation of the tallying process (manipulating the results) without voters and auditors detecting it<\/li>\n<\/ul><\/li>\n<li>Manipulation that goes undetected by the voter but not by the system (<strong>50'000 - 70'000 EUR<\/strong>):\n<ul>\n<li>Manipulation of individual votes while maintaining universal verifiability mechanism (detected by trusted auditor)<\/li>\n<li>Modifying the results of the election without being detected by a voter<\/li>\n<\/ul><\/li>\n<li>Voting privacy outside the voting client (<strong>40'000 - 50'000 EUR<\/strong>):\n<ul>\n<li>The privacy of a vote is broken (what he or she voted) on the server<\/li>\n<\/ul><\/li>\n<li>Vote corruption (<strong>30'000 - 40'000 EUR<\/strong>):\n<ul>\n<li>A vote is stored in the ballot box and that vote cannot be decrypted<\/li>\n<li>A vote is stored in the ballot box in a way that gives the voter an unfair advantage<\/li>\n<\/ul><\/li>\n<\/ul>\n<p>Any scenario described has to be achieved with respect to the trust assumptions of the <a href=\"https:\/\/www.fedlex.admin.ch\/eli\/cc\/2022\/336\/en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/www.fedlex.admin.ch\/eli\/cc\/2022\/336\/en\">Federal Chancellery Ordinance on Electronic Voting (VEleS)<\/a> in order to qualify for a reward. For a summary of the assumptions see Chapter 1-2 of the <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\">Protocol of the Swiss Post Voting System<\/a>.<\/p>\n<h2>C.2  Application source code<\/h2>\n<h3>C.2.1 OBJECTIVES<\/h3>\n<ul>\n<li>Identification of exploitable\/demonstrable vulnerabilities in the e-voting system<\/li>\n<li>Identification of security issues without current evidence of exploitability in the e-voting system:\n<ul>\n<li>e.g. Unsecure functions in use, ...<\/li>\n<\/ul><\/li>\n<li>Identification of bad deviations from the System Specification which could lead to exploitation<\/li>\n<li>To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)<\/li>\n<\/ul>\n<h3>C.2.2 REPORTING REQUIREMENTS<\/h3>\n<p>Please make sure to complete your report with the following details:<\/p>\n<ul>\n<li>Source code references:\n<ul>\n<li>implicated file(s)<\/li>\n<li>implicated line(s) of code<\/li>\n<li>any other information that might help us identify the vulnerable parts<\/li>\n<\/ul><\/li>\n<li>External references:\n<ul>\n<li>Academic references on the matter<\/li>\n<li>Technical studies on the matter<\/li>\n<li>Conference papers<\/li>\n<li>Any other information that might help us understand the vulnerability<\/li>\n<\/ul><\/li>\n<li>Attack scenarios with their potential impact<\/li>\n<\/ul>\n<h3>C.2.3 REWARD POLICY<\/h3>\n<p>All qualifying vulnerabilities reported on the \u2018Application source code\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1 or the scenarios with special bounties.<br \/>\nBased on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid (++ or +++).<\/p>\n<h2>C.3  Protocol, System Specification and documentation<\/h2>\n<h3>C.3.1 OBJECTIVES<\/h3>\n<ul>\n<li>Identification of security issues without current evidence of exploitability in the available e-voting system\n<ul>\n<li>e.g. implementation errors that prove to lead to exploitation independently of the current or future implementation<\/li>\n<li>e.g. identification of deprecated protocols that prove to lead to exploitation independently of the current or future implementation<\/li>\n<\/ul><\/li>\n<li>Identification of bad deviations from the cryptographic proof, which prove to lead to exploitation independently of the current or future implementation<\/li>\n<li>To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)<\/li>\n<\/ul>\n<h3>C.3.2 REPORTING REQUIREMENTS<\/h3>\n<p>Please make sure to complete your report with the following details:<\/p>\n<ul>\n<li>References to the documentation and the source code:\n<ul>\n<li>implicated protocols\/algorithms<\/li>\n<li>implicated pages\/paragraphs<\/li>\n<li>implicated line(s) of code (when relevant)<\/li>\n<li>any other information that might help us identify the vulnerable parts<\/li>\n<\/ul><\/li>\n<li>External references:\n<ul>\n<li>Academic references on the matter<\/li>\n<li>Technical studies on the matter<\/li>\n<li>Conference papers<\/li>\n<li>Any other information that might help us understand the vulnerability<\/li>\n<\/ul><\/li>\n<li>Attack scenarios with their potential impact<\/li>\n<\/ul>\n<h3>C.3.3 REWARD POLICY<\/h3>\n<p>All qualifying vulnerabilities reported on the \u2018Protocol, System Specification and documentation\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1 or the scenarios with special bounties.<br \/>\nBased on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid (++ or +++).<\/p>\n<h2>C.4  Swiss Post Voting System 2.0<\/h2>\n<p>This scope relates to the new e-voting system, version 2.0, which is currently under development and is planned to become the next generation of Swiss Post's production e-voting platform.<\/p>\n<h3>C.4.1 OBJECTIVES<\/h3>\n<ul>\n<li>Identification of security issues without current evidence of exploitability in the available e-voting system\n<ul>\n<li>e.g. implementation errors that prove to lead to exploitation independently of the current or future implementation<\/li>\n<li>e.g. identification of deprecated protocols that prove to lead to exploitation independently of the current or future implementation<\/li>\n<\/ul><\/li>\n<li>Identification of bad deviations from the cryptographic proof, which prove to lead to exploitation independently of the current or future implementation<\/li>\n<li>To be eligible for a reward, findings must have a measurable (or at least hypothetical and documented) impact on the e-voting system and its Confidentiality\/Integrity\/Availability and not be part of the \u2018non-qualifying vulnerabilities\u2019 (see list below)<\/li>\n<\/ul>\n<h3>C.4.2 REPORTING REQUIREMENTS<\/h3>\n<p>Please make sure to complete your report with the following details:<\/p>\n<ul>\n<li>References to the documentation and the source code:\n<ul>\n<li>implicated protocols\/algorithms<\/li>\n<li>implicated pages\/paragraphs<\/li>\n<li>implicated line(s) of code (when relevant)<\/li>\n<li>any other information that might help us identify the vulnerable parts<\/li>\n<\/ul><\/li>\n<li>External references:\n<ul>\n<li>Academic references on the matter<\/li>\n<li>Technical studies on the matter<\/li>\n<li>Conference papers<\/li>\n<li>Any other information that might help us understand the vulnerability<\/li>\n<\/ul><\/li>\n<li>Attack scenarios with their potential impact<\/li>\n<\/ul>\n<h3>C.4.3 REWARD POLICY<\/h3>\n<p>All qualifying vulnerabilities reported on the \u2018Swiss Post Voting System 2.0\u2019 scope will be analysed by our security team. Following this analysis, the impact of the vulnerability will be assessed and definitively scored using CVSS 3.1. Based on the final scoring of the reported vulnerability, the bounty will be calculated in regard of the applicable reward grid(+).<\/p>\n<p>Participants should indicate which system generation is affected by a reported finding. If a vulnerability affects both version 1.0 and version 2.0 of the e-voting system, this must be clearly indicated in the submission. The higher applicable bounty reward will be granted. Any subsequent submissions of the same vulnerability across either scope will be considered duplicate reports.<br \/>\nSpecial bounties will not apply until the new system has been fully defined and officially published. Until then, all submissions will be assessed according to the current bounty grid. <\/p>\n\n<h2>C.5  General Reporting Requirements<\/h2>\n<ul>\n<li>\n<p>Indicate at <strong>which phase(s)<\/strong> and <strong>which step(s)\/algorithm(s)<\/strong> of the protocol your attack occurs (with links to the concerned<br \/>\ndocumentation and\/or lines of code involved, if any), as defined in our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\">Protocol of the Swiss Post Voting System - Computational Proof of Complete Verifiability and Privacy<\/a>.<\/p>\n<\/li>\n<li>\n<p>Indicate <strong>all parties involved in your attack<\/strong>, and which are <strong>malicious<\/strong> and which are not. You should respect and understand our threat model as defined in our <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/tree\/master\/Protocol\">Protocol of the Swiss Post Voting System - Computational Proof of Complete Verifiability and Privacy<\/a>.<\/p>\n<\/li>\n<li>\n<p>Indicate the entry point that your malicious party will use, which explicitly conforms to our described threat model <\/p>\n<\/li>\n<li>\n<p>Indicate any required preconditions, if any.<\/p>\n<\/li>\n<li>\n<p>A <strong>clear, concrete impact of the attack<\/strong> must be provided, hypothetical and overly vague risks are insufficient.  Simply stating there is a CVE or a potential bug is useless.:<\/p>\n<ul>\n<li>what are the technical impact(s)? <\/li>\n<li>On which components do they apply?<\/li>\n<li>How does this impact other components? <\/li>\n<li>What are the business impact(s) of the obtained technical impact, in the context of the e-voting protocol?<\/li>\n<li>On which component(s) is this impact obtained?<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Demonstrate that you have done your due diligence in verifying that the vulnerable behaviour you point to is <strong>not mitigated by security measures implemented elsewhere<\/strong>. This can be done by:<\/p>\n<ol>\n<li>providing a proof of concept and proof of exploitation (see below), or<\/li>\n<li>Providing a code or specification analysis (see below<br \/>\nA lot of security mesures implemented out of the code render most of the attacks extremely unrealistic or simply invalid. Like for example REST endpoint authentication, offline applications and operational measures.<\/li>\n<\/ol>\n<\/li>\n<li>\n<p>Note that this includes the <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/System\/Verifier_Specification.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting-documentation\/-\/blob\/master\/System\/Verifier_Specification.pdf\">verifier<\/a><\/p>\n<\/li>\n<\/ul>\n<p>Failure to do any of the above may result in your report being rejected without further analysis from our team.<\/p>\n<h3>C.5.1  Vulnerability dependent on real operating conditions<\/h3>\n<p>When a proof of concept and proof of exploitation is not provided, we may refuse reports whose vulnerability's plausibility is heavily dependent on and affected by real operating conditions, such that their feasibility cannot be determined through static code inspection alone.<\/p>\n<p>Reports in this category typically include, but are not limited to, the following classes of attacks:<\/p>\n<ul>\n<li>DoS \/ algorithmic complexity \/ deadlocks \/ starvation, or any other related reports involving abuse of limited resources<\/li>\n<li>Timing and side-channel attacks, including attacks requiring statistical distinguishability or other reliability-dependent techniques.<\/li>\n<li>Race conditions, TOCTOU, lock-ordering issues<\/li>\n<li>Attacks requiring probabilistic triggering<\/li>\n<li>Software vulnerabilities that are almost entirely context-dependent: for instance, path traversals, XXEs, query, command, argument, template injections, arbitrary file read\/write, deserialisation issues, etc<\/li>\n<\/ul>\n<h3>C.5.2  Code or Specification Analysis<\/h3>\n<p>When providing any static code\/specification analysis, you must:<\/p>\n<ul>\n<li>Provide links to the specific line range of the vulnerable code you point to, clearly identifying which commit you performed your analysis on.<\/li>\n<li>Trace (providing links) in a step-by-step manner the execution of your attack scenario across the components from its entry-point to its concrete impact, identifying the code paths taken (if any), files, functions, and relevant control-flow decisions, and showing how your attacker-controlled input\/action or conditions propagate through the system, as well as demonstrating how they evade security measures, if any are encountered.<\/li>\n<li>When pointing to a particular part of the documentation, you must provide links to the documentation and clearly identify which version of the document you performed your analysis on.<\/li>\n<\/ul>\n<h3>C.5.3  Proof of Concepts<\/h3>\n<ul>\n<li>When providing a proof of concept, you must additionally provide a proof of exploitation (such as screenshots or videos) demonstrating you successfully ran the proof of concept.<\/li>\n<li>Your PoC must exploit an actual instance of the e-voting system, such as the one we occasionally provide on <a href=\"https:\/\/demo.evoting.ch\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/demo.evoting.ch\/\">https:\/\/demo.evoting.ch\/<\/a> or your own (see <a href=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting\/-\/blob\/master\/BUILDING.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" title=\"https:\/\/gitlab.com\/swisspost-evoting\/e-voting\/e-voting\/-\/blob\/master\/BUILDING.md\">here<\/a> for building instructions (note that other components have other building instructions provided in other repositories)). <\/li>\n<li>PoCs based on partial builds are acceptable, provided they contain enough of the affected component to demonstrate the vulnerability under conditions representative of normal operation, and are accompanied by analysis explaining how the demonstrated behavior applies to the full system. PoCs that heavily emulate relevant parts of the vulnerable component will be considered insufficient.<\/li>\n<\/ul>\n<h3>C.5.4  General best practices<\/h3>\n<p>Reports that merely recommend adherence to general security best practices, without demonstrating a concrete weakness in the project\u2019s design or implementation, are out of scope.<\/p>\n<p>Reports that demonstrate, through thorough analysis, that an expected security control or mitigation is missing, inconsistent with existing protections, and directly relevant to the e-voting system\u2019s defined threat model, are in scope.<\/p>\n<h2>C.6 Peculiarities<\/h2>\n<ul>\n<li>We reserve the right to use a \"OneFixOneReward\" rule, i.e., if two or more endpoints\/forms use the same code base and a single fix can be deployed to fix all the ensuing flaws, only one report will be considered as eligible for a reward and other reports will be closed as informative. However, all reports will be reviewed edge by edge.<\/li>\n<\/ul>","type":"bug-bounty","status":"V","demo":false,"public":true,"bounty":true,"gift":false,"hall_of_fame":true,"hacktivity":false,"report_count_per_scope":false,"report_collaboration_active":true,"pid":null,"secured":false,"triaged":null,"disabled":false,"vdp":false,"reports_count":2038,"reports_imported_count":null,"pending_hunter_suggestions_count":0,"bounty_reward_min":100,"bounty_reward_max":230000,"scopes_count":5,"archived":false,"thumbnail":{"name":"da96b57b-b30c-4c87-9f0f-661e7945d869","original_name":"Post_Logo_digital_RGB (1).png","mime_type":"image\/png","size":12204,"url":"https:\/\/cdn-yeswehack.com\/program\/thumbnail\/da96b57b-b30c-4c87-9f0f-661e7945d869"},"event":null,"business_unit":{"name":"Swiss Post","slug":"swiss-post","description":"Bug Bounty Post - Securing Digital Trust","currency":"EUR","already_activate_product":true,"logo":{"name":"6dc5820f-f66e-44f4-a34f-359295db4bc7","original_name":"Post_Logo_digital_RGB300.png","mime_type":"image\/png","size":3801,"url":"https:\/\/cdn-yeswehack.com\/business-unit\/logo\/6dc5820f-f66e-44f4-a34f-359295db4bc7"}},"vpn_outbound_ips":null,"id":null,"scopes":[{"scope":"Source Code","scope_type":"other","scope_type_name":"Other","asset_value":"HIGH","report_count":null},{"scope":"System Specification","scope_type":"other","scope_type_name":"Other","asset_value":"HIGH","report_count":null},{"scope":"Scenarios with Special Bounties","scope_type":"other","scope_type_name":"Other","asset_value":"CRITICAL","report_count":null},{"scope":"Protocol of the Swiss Post Voting System","scope_type":"other","scope_type_name":"Other","asset_value":"HIGH","report_count":null},{"scope":"Protocol of the Swiss Post Voting System 2.0 (Whitepaper)","scope_type":"other","scope_type_name":"Other","asset_value":"MEDIUM","report_count":null}],"out_of_scope":["Anything that is not explicitely listed in the \u2018Scope\u2019 section."],"qualifying_vulnerability":["Please refer to the objectives of the corresponding scope"],"non_qualifying_vulnerability":["All attacks that fall under the broad denial of service and resource starvation categories","Social engineering attempts on operators or employees of Swisspost, it's subsidiaries, customers, and contract partners","Physical attacks on people, buildings and devices","Phishing attacks (including issues related to SPF\/DKIM\/DMARC)","Issues that require physical access to a victim\u2019s computer\/device","Vulnerabilities beyond the trust model from the federal chancellery (e.g. all 4 control components are dishonest for an attack to work)","Attacks that undermine the requirements and assumptions of the cryptographic protocol, for instance attacks using quantum computers, or infiltrating the print office, or attempts to impersonate trusted components that an honest protocol participant can detect.","Publicly disclosed known \u201cIssues\u201d or Limitations on https:\/\/gitlab.com\/swisspost-evoting"],"disclose_bounty_min_reward":null,"disclose_bounty_average_reward":null,"disclose_bounty_max_reward":null,"reward_grid_default":{"bounty_low":null,"bounty_medium":null,"bounty_high":null,"bounty_critical":null},"reward_grid_very_low":{"bounty_low":null,"bounty_medium":null,"bounty_high":null,"bounty_critical":null},"reward_grid_low":{"bounty_low":null,"bounty_medium":null,"bounty_high":null,"bounty_critical":null},"reward_grid_medium":{"bounty_low":500,"bounty_medium":2000,"bounty_high":5000,"bounty_critical":10000},"reward_grid_high":{"bounty_low":1500,"bounty_medium":8000,"bounty_high":30000,"bounty_critical":50000},"reward_grid_critical":{"bounty_low":40000,"bounty_medium":50000,"bounty_high":70000,"bounty_critical":230000},"tags":null,"vpn_active":false,"vpn_ips":null,"account_access":null,"account_access_html":null,"user_agent":null,"disable_message":null,"stats":{"max_reward":4000000,"average_reward":220680,"average_first_time_response":1,"total_reports":2038,"total_reports_last24_hours":3,"total_reports_last7_days":12,"total_reports_current_month":11},"supported_languages":["GB"],"report_import_nb_max":null,"report_import_line_max":null,"banner":{"name":"63f51edb-f763-4e1b-8bb8-83937deaef42","original_name":"evoting-banner.png","mime_type":"image\/png","size":1514049,"url":"https:\/\/cdn-yeswehack.com\/program\/banner\/63f51edb-f763-4e1b-8bb8-83937deaef42"},"restricted_ips":null,"has_pending_version":null,"rights":["view"],"attachments":null,"hunter_message_enabled":null,"send_hunter_message_validation_required":null,"max_credential_pool_number":null,"videos_attachments_enabled":true,"sla_enabled":null,"sla_grid":null,"systemic_issue_rule_enabled":false,"systemic_issue_rule_grid":{"level1":100,"level2":100,"level3":0,"level4":0,"level5":0,"level6":0},"leakage_rule_enabled":true,"leakage_rule_grid_in_scope":{"fully_in_scope":false,"partially_in_scope":false,"out_of_scope":false},"leakage_rule_grid_out_of_scope":{"fully_in_scope":false,"partially_in_scope":false,"out_of_scope":false},"ywh_triager_user_agent":null,"report_submission_cost":10,"program_metrics":{"report_count":null,"rewards_total_amount":null,"hunter_members_count":null,"active_hunters_count":null,"launched_agentic_campaigns_count":null,"total_agentic_campaigns_count":null,"reports_in_progress_count":null,"reports_in_progress_high_critical_count":null,"reports_assessed_count":null,"reports_assessed_high_critical_count":null,"reports_accepted_count":null,"reports_accepted_high_critical_count":null,"reports_resolved_count":null,"reports_closed_count":null,"computed_at":"2026-11-05T21:28:12+01:00"},"credit_balance":null,"credit_balance_projected":null,"has_history":true,"last_update_at":"2026-09-22T12:02:29+02:00","last_program_version":null}