Jomhoor

Building Digital Democracy for Iranians — With Zero-Knowledge Proofs and No Compromises on Privacy

Published by Transcf.org — March 2026,
Related: #VO


At Transnational Community Federatioin e. V., we believe that democratic participation is a fundamental right — not a privilege granted by institutions willing to observe it. For the past year, our team has been building Jomhoor (جمهور), an open-source platform that lets Iranians verify their identity and vote on community proposals, all without ever exposing their personal information to anyone — not even us.

Today we want to share where we are, how it works, and where we’re going.

The Problem

Millions of Iranians — inside and outside the country — have no trustworthy mechanism for collective decision-making. Existing tools are either surveilled by authorities, susceptible to manipulation through fake accounts, or require trusting a centralized operator with sensitive personal data.

We asked: what if you could prove you are an Iranian citizen, and cast a verified vote, without revealing who you are?

How Jomhoor Works

Jomhoor is a mobile app (iOS and Android) that combines three technologies to make privacy-preserving democratic participation possible:

1. NFC Document Scanning — Prove Your Citizenship Locally

Every modern Iranian passport and national ID card (کارت ملی هوشمند) contains an NFC chip with a cryptographically signed digital certificate. Jomhoor reads this chip directly on your phone.

The critical point: your passport/ID data never leaves your device. The app reads the chip, extracts what it needs for proof generation, and discards the rest. No server ever sees your name, photo, passport number, or any personally identifying information.

2. Zero-Knowledge Proofs — Prove Without Revealing

After scanning your document, Jomhoor generates a zero-knowledge proof — a mathematical proof that says, in essence: “I hold a valid Iranian government-issued document, and it hasn’t expired”.

We use two proof systems depending on the document’s cryptography:

  • Circom (Groth16) for RSA-based documents (most Iranian passports)
  • Noir (UltraPlonk) for ECDSA-based documents (Iranian national ID cards, European passports)

Proof generation happens entirely on the phone. The proof is then submitted to the Rarimo L2 blockchain, where a smart contract verifies it and registers your anonymous identity.

3. Blockchain Voting — Tamper-Proof and Verifiable

Once registered, you can vote on community proposals. Each vote is:

  • Anonymous — linked to a cryptographic nullifier, not your identity
  • Verified — only registered citizens can vote
  • Tamper-proof — recorded on a public blockchain that no single party controls
  • One-person-one-vote — the same nullifier cannot vote twice on the same proposal

Votes are submitted through a lightweight relayer service that signs and broadcasts transactions. The relayer never sees who you are — it receives a valid proof and publishes it.

What Makes This Different

Privacy by architecture, not by policy. Most voting platforms ask you to trust them with your data and promise not to misuse it. Jomhoor is designed so that even if our servers were seized, there would be no voter data to extract. Your passport data is processed locally and never transmitted. Your identity on-chain is a cryptographic commitment, not a name.

Decentralized verification. Unlike systems that route passport data through a backend server for verification, our app performs all cryptographic operations on-device. The phone talks directly to the blockchain via RPC. The only backend component is a minimal transaction relayer.

Iranian National ID support. Iranian national ID cards (INID / کارت ملی هوشمند) use a proprietary chip protocol that no other open-source project supports. We built custom support for it end-to-end, including native NFC reading modules, Noir ZK circuits, and specialized smart contract integration.

What We’ve Built So Far

Jomhoor Mobile App — A React Native (Expo) application with:

  • NFC scanning for Iranian passports and national ID cards
  • On-device zero-knowledge proof generation (Noir and Circom)
  • Anonymous on-chain voting with full proposal browsing
  • Persian-first UI with complete Farsi localization and RTL support
  • Built-in crypto wallet (BabyJubjub)
  • iPhone-style home screen with draggable app icons

Smart Contracts — Deployed on Rarimo L2 mainnet:

  • Identity registration contracts (shared with Rarimo’s infrastructure)
  • Our own voting contracts (NoirIDVotingProposalsState)
  • Support for both passport and national ID-based registration

Backend Services — Minimal infrastructure:

  • Registration relayer for identity verification transactions
  • Proof verification relayer for vote submission
  • Nginx gateway with SSL at api.iranians.vote

Everything is open source under the Iranians-Vote-Digital-Democracy GitHub organization.

The Technology Stack

LayerTechnology
Mobile AppReact Native, Expo SDK 52, TypeScript
ZK ProofsNoir (UltraPlonk), Circom (Groth16)
BlockchainRarimo L2 (EVM-compatible)
NFC ReadingCustom native modules (Swift/Kotlin)
Smart ContractsSolidity (Hardhat)
State ManagementZustand with encrypted secure storage
UINativeWind (Tailwind CSS), tailwind-variants

Deliberation: Not Just Voting

Democracy is more than casting a ballot. It requires informed discussion, exposure to different perspectives, and genuine deliberation before decisions are made.

That’s why we’re integrating Agora — an open-source deliberation platform — into Jomhoor. Agora uses statistical clustering (PCA, k-means) to visualize opinion groups and surface points of consensus and disagreement. Users can discuss proposals, see where they stand relative to others, and make more informed choices before voting.

Our integration connects Agora’s discussion threads with Jomhoor’s wallet identity, so the same anonymous identity you use for voting also carries into community discussions. No separate accounts, no additional verification.

We’re also working on a Political Compass (قطب‌نمای مدنی) feature — a tool for users to map their political orientation across multiple dimensions and discover which proposal positions align with their values. We have also hid some networking and analytical features in it, so take a look.

What’s Next

Passport support expansion — While most of national ID cards work end-to-end, we’ve extended support to Iranian passports and eventually other nationalities’ documents. The registration infrastructure is in place; we’re completing the UI flow for passport-specific scanning.

Simplified voting — For community polls that don’t require the full guarantees of ZK verification, we’re building a lighter wallet-signed voting system. This enables instant polls with cryptographic integrity but without the 30-60 second proof generation time.

Persian AI moderation — We’re integrating Claude for Persian-language content moderation, cluster labeling, and normative compliance checking against international human rights standards (UDHR, ICCPR, CEDAW, and others). This ensures community discussions remain constructive and grounded in universal values.

Why This Matters

For Iranian diaspora communities, Jomhoor offers something that didn’t exist yesterday: a way to collectively express preferences, make decisions, and build consensus — with mathematical guarantees that no one can identify individual voters, and no single party can manipulate the results.

For civil society more broadly, Jomhoor is a proof of concept that verified anonymous voting is technically possible today. The cryptographic tools exist. The blockchain infrastructure exists. What’s needed is the engineering effort to make these tools accessible to ordinary people.

That’s what TCF is building.

Get Involved

Jomhoor is fully open-source. We welcome contributors — whether you’re a cryptographer, mobile developer, translator, or someone who cares about digital democracy.


Jomhoor (جمهور) means “the public” or “the people” in Persian — the root of “Jomhouri” (جمهوری), meaning “republic.” We chose this name because democracy belongs to the people, and now the tools to practice it do too.

Leave a Reply