Explainer 07

Two Gates: Identity and Speech

Most platforms have one gate: who can post? They answer it with email verification, phone-number checks, or CAPTCHA. Jomhoor has two gates, because the threats are different at each layer.

The threat we are defending against is not bad words. The threat is a coordinated faction — regime-aligned or otherwise — using legitimately-onboarded identities to flood the platform with content that incites violence, denies genocides, dehumanizes minorities, or normalizes torture.

A single gate cannot stop both sybils (fake people) and capture (real people, wrong intent). We need two.

The two chokepoints

USER

Identity gate

  • ZK passport proof
  • INID proof
  • nullifier
OK →

Speech gate

  • Normative compliance
  • Content check
OK → PUBLISHED

Rejects sybils
one person = one identity

Rejects capture
no content that violates the 11 UN conventions

GateStopsDoes not stop
Identity (ZK + nullifier)Bots, sybils, multi-accounts, foreign interference at scaleA real Iranian citizen posting harmful content
Speech (normative compliance)Content that incites violence, denies genocide, dehumanizes groupsLawful political speech we disagree with

Both gates are necessary. Neither is sufficient. If we had only the identity gate, a coordinated faction with real passports could capture the platform. If we had only the speech gate, bots could drown it before any compliance check matters.

Gate 1 — Identity (recap)

Covered in detail in explainers 04 and 05. In one sentence: each user proves, in zero-knowledge, that they hold an Iranian biometric passport or INID issued by Iran's government, and the on-chain nullifier guarantees the same document cannot register twice.

What it gives us:

What it does not give us:

This is where the second gate comes in.

Gate 2 — Normative compliance

We commit, structurally, to one constraint on what gets published through Jomhoor: content must not violate the 11 UN human-rights conventions that Iran is party to or that codify jus cogens (peremptory norms), together with the Yogyakarta Principles:

  1. Universal Declaration of Human Rights (UDHR)
  2. International Covenant on Civil and Political Rights (ICCPR)
  3. International Covenant on Economic, Social and Cultural Rights (ICESCR)
  4. Convention on the Prevention and Punishment of the Crime of Genocide
  5. Convention against Torture (CAT)
  6. International Convention on the Elimination of All Forms of Racial Discrimination (ICERD)
  7. Convention on the Rights of the Child (CRC)
  8. Convention on the Elimination of All Forms of Discrimination against Women (CEDAW)
  9. Convention on the Rights of Persons with Disabilities (CRPD)
  10. International Convention for the Protection of All Persons from Enforced Disappearance (CED)
  11. Rome Statute of the International Criminal Court (war crimes, crimes against humanity, genocide)
  12. Yogyakarta Principles and Yogyakarta Principles +10 (application of international human-rights law to sexual orientation, gender identity, gender expression, and sex characteristics — protecting sexual and gender minorities)

These are not Jomhoor's house values. They are the minimum legal-moral floor the international community has agreed on — and crucially, the floor that the current Iranian regime systematically violates. By gating speech against these conventions, we ensure that anyone trying to use Jomhoor to continue those violations is blocked at the platform layer.

How the check runs, mechanically

Why this is structural defense against capture

Here is the threat model we actually face:

A faction — let's say a regime-aligned organized group, but the same analysis applies to any coordinated bad actor — decides to onboard onto Jomhoor at scale. They have real Iranian passports (they're real Iranians). They pass the identity gate honestly. Once inside, they coordinate to:

The identity gate cannot stop this. The nullifier just guarantees one vote per passport — it does not check what they vote for. The platform looks democratic by procedure and captured by outcome.

The speech gate stops the publishing leg of this attack. Coordinated votes still happen (and quadratic voting + transparent vote counts help expose them), but the content layer — the part that shapes what the platform feels like and what new users see — is constrained against content that violates the human-rights floor.

A regime-aligned faction can argue against the Mahsa Jina Amini protests on Jomhoor. They cannot use Jomhoor to argue that the protesters deserved to be killed. That is the difference.

What this gate is not

We are very specific about what we are not doing, because the failure mode of any content gate is to over-claim and then either over-censor or under-deliver.

Known limits we have to own

Honesty register. These are real and we don't pretend otherwise.

  1. Language coverage. The model performs best in Persian and English. Kurdish, Azeri Turkish, Arabic dialects spoken in Iran are weaker. We are tracking this and routing low-confidence cases to human review.
  2. Model drift. LLM behavior changes when the underlying model is updated. We pin model versions and re-run a fixed evaluation suite on every change. Numbers will be published.
  3. Coordinated paraphrase attacks. A skilled adversary can try to evade semantic checks with euphemism. This is an arms race; we don't claim to have won it. The mitigation is the conjunction of the two gates — paraphrase-evading content from a sybil army is much easier to detect statistically than paraphrase-evading content from a few real users, because the volume gives it away.
  4. False positives have a cost. When we wrongly block a legitimate user, we erode trust. The appeal path matters as much as the block does.
  5. We are the operators, but not the arbiters. The technical layer — the ZK identity gate, the LLM speech check, the on-chain voting — is built and run by us. The rubric that governs what passes the speech gate, the legal interpretation of the 11 conventions, the inclusion criteria that decide which constituencies the identity gate must serve, and the independent oversight that audits both — none of these sit with us alone. See the next section.

Who actually governs the gates

A platform where the technology team also writes the rubric, interprets the law, decides who counts, and grades its own homework is a captured platform by construction. To avoid that, the two gates are governed by a layered consortium of differentiated roles, not by Jomhoor alone:

RoleFunctionWhat this role prevents
Technology operator (us)Builds and runs the wallet, the ZK circuits, the SSO service, the speech-check pipeline, the relayers and contracts.— (this is the layer the other roles constrain.)
Institutional stewardA civically credible, non-partisan academic/civic anchor that holds the "common democratic field", curates convention-interpretation, and convenes deliberation.The technology operator inventing the rubric in isolation; partisan capture of the speech gate.
Legal councilAn independent legal body that audits the rubric against international and Iranian constitutional human-rights law and reviews edge-case decisions.The technology operator misinterpreting the conventions, or applying them inconsistently across cases.
Inclusive-onboarding networkA decentralized coalition that brings marginalized constituencies — minority-language speakers, ethnic and religious minorities, women's-rights groups, regional diaspora — into the platform.The identity gate quietly excluding Kurdish, Azeri Turkish, Arabic-Iranian, Baluchi speakers (mitigates limit #1, language coverage).
Independent advisory boardInternational and Iranian human-rights professionals who sample decisions quarterly, publish findings, and can require rubric revisions.The other four roles colluding without external check; rubric drift over time.

The key property is differentiation, not delegation. Each role is responsible for a specific function and accountable for it publicly. The technology operator cannot quietly rewrite the rubric. The steward cannot quietly ship a new circuit. The legal council cannot quietly add a country to the trust root. No single failure point can capture the platform.

This is the same structural principle as the two-gate design itself: separate the chokepoints, give each a different defender, require all of them to agree. Within the speech gate, that means the rubric, the law, the inclusion, and the oversight all live in different hands.

We commit to publishing:

Until the full consortium is in place, the technology operator publishes rubric changes unilaterally with a 14-day review window during which any party can object publicly.

The press-kit-safe summary

If you are quoting Jomhoor to a journalist, an NGO, a UN agency, or a funder, this is what is true:

Glossary

TermMeaning
Identity gateThe ZK passport / INID proof + on-chain nullifier. Enforces "one person, one identity."
Speech gateThe pre-publish normative compliance check against 11 UN conventions.
CaptureA coordinated group using legitimate identities to dominate a platform.
SybilA single actor pretending to be many distinct identities.
Normative complianceSemantic check against codified human-rights norms — not toxicity, not politics.
Pairwise subjectThe per-relying-party anonymous identifier used in SSO. The LLM sees this, not your wallet or passport.
Jus cogensPeremptory norms of international law (e.g., prohibitions on genocide, torture) — non-derogable.

Next: Sign in with Jomhoor →