IRAN SIGNAL MONITORPUBLIC-SOURCE OBSERVATORY
DATASET v1 Loading sources

Social listening control surface

پایش سیگنال‌های اجتماعی ایران

Live public-source evidence, indexed discovery samples and an exact-rule collection workspace

Download source JSON
قاعده دقیق هشتگ
228
Exact hashtag rules

Unique strings · configured

خوشه موضوعی
21
Thematic groups

Persian, Kurdish & English

عبارت جست‌وجو
44
Search queries

4 collection packs

وضعیت منابع عمومی
Public source states

Loading public sources

CONFIGURATION COVERAGE

Hashtags by declared group

count · not activity
Iran protest, revolution & political change
15
Executions & political prisoners
14
Nationwide protest & political change
13
Republican, anti-monarchist & resistance currents
12
Internet access, repression & IRGC campaigns
12
Woman, Life, Freedom & Mahsa/Jina Amini
11
Pahlavi / monarchist current
11

Top seven groups by configured hashtag count. This chart does not represent post volume, reach, or engagement.

GROUP ASSIGNMENTS

Declared language split

Persian + Kurdish74
English127
Mastodon · public API Bluesky · public search Telegram · indexed sample X · indexed sample Instagram · official access pending

Source labels describe their own returned or compiled samples. They are never treated as platform-wide coverage.

Public evidence layer

Live feeds & compiled records

Post-level evidence from named public APIs and a verified, non-random discovery sample.

FETCHING PUBLIC SOURCES

SOURCE-BY-SOURCE COVERAGE

Public source responses

counts stay separate
Collecting named public sources…

The taxonomy remains available while source adapters respond.

OBSERVED MATCHES OVER TIME

Social signals and media context

30 days · daily
Waiting for social records

API failures remain visible and never become synthetic zeroes.

Social and media records remain separate within each bucket. Bars show captured observations, not platform-wide activity, reach or audience.

COLLECTION READINESS

Data pipeline

  1. 01
    Taxonomy228 exact hashtag rules loaded
    READY
  2. 02
    Keyless public adaptersMastodon, YouTube, public search and RSS
    CHECKING
  3. 03
    Indexed discovery evidence34 records across Telegram, X, Instagram, Bluesky and YouTube
    LOADED
  4. 04
    Evidence responseResponse state pending
    CHECKING
  5. 05
    Official Instagram archiveEight priority hashtags · hourly quota guard · persistent evidence
    ACCESS REQUIRED
  6. 06
    Other credentialed collectorsX and Telegram continuous access
    PENDING
  7. 07
    Derived interpretationSentiment, coordination and reach withheld
    LOCKED

The fraction is source-state readiness, not a confidence or threat score.

AUDITABLE EVIDENCE

Post & context records

Open the primary record, inspect the exact matching rule and keep source claims distinct from independent verification.

newest first
0 evidence rows in this view
Loading evidence

Try another source filter or refresh the public adapters.

Visible likes, replies, reposts, reactions and views are time-stamped snapshots when available. Zero or missing values are not interpreted as absence, and views are never labeled as unique reach.

TELEGRAM / MTPROTO

Telegram collection profile

API-correct request shapes for continuous collection. Thirteen current public-page records are loaded above as an indexed discovery sample.

13 INDEXED RECORDSPROFILE READYCONTINUOUS COLLECTOR OFFLINE
#اعتراضات_سراسریاعتراضات_سراسری

Remove only the leading #. Preserve underscores, ZWNJ and spelling exactly. Leave the query field unset.

COLLECTOR MANIFESTchannels.searchPosts
NOT EXECUTED
{
  "platform": "telegram",
  "status": "configuration_only",
  "authorization": "MTProto user session in external collector",
  "session_storage": "server_secret_only",
  "paid_stars_allowed": false,
  "storage_key": "telegram:{object_type}:{peer_id}:{object_id}",
  "required_evidence": [
    "object_type",
    "peer_id",
    "object_id",
    "source_url",
    "published_at_utc",
    "collected_at_utc",
    "exact_rule",
    "method",
    "taxonomy_version",
    "run_id",
    "count_is_inexact",
    "pagination_complete"
  ],
  "search_mode": "global_public_hashtag",
  "object_types": [
    "message",
    "story"
  ],
  "request": {
    "method": "channels.searchPosts",
    "params": {
      "hashtag": "اعتراضات_سراسری",
      "offset_rate": 0,
      "offset_peer": "inputPeerEmpty",
      "offset_id": 0,
      "limit": 100
    }
  },
  "policy": [
    "hashtag_without_hash",
    "query_flag_unset",
    "paginate_and_backoff"
  ]
}
01 · SECURITY BOUNDARYExternal user-authorized collector

Keep phone, API credentials and MTProto session material outside the browser. Send normalized evidence to the dashboard over HTTPS.

02 · EVIDENCE IDENTITYDeduplicate objects—not keywords

platform + object_type + peer_id + object_id. Retain every exact matched rule, taxonomy version, run ID and pagination state.

03 · INITIAL QUEUEWatchlists first; discovery rotates

Suggested start: 24 priority rules / 6h, 60 / 24h, 144 / 72h. Advisory only—jitter requests and obey every returned flood wait.

Rule explorer

Hashtag taxonomy

Search exact strings across group and collection-pack assignments.

CONFIGURED · 228 UNIQUE
228 exact rules match
Export JSON ↓

Exact strings are preserved. Search normalization improves discovery only; it never merges collection rules.

Collection configuration

Query-pack library

Reusable public-source search rules organized by monitoring objective.

4 PACKS · 44 QUERIES
01CONFIGURED

Iran multi-domain monitoring

iran-multidomain

10 phrases6 hashtags
#Iran#IranSecurity#IRGC#ایران+2
Inspect exact rules

Query phrases

  1. Iran security
  2. Islamic Republic
  3. Tehran security
  4. IRGC
  5. Basij
  6. امنیت ایران
  7. جمهوری اسلامی
  8. تهران
  9. سپاه پاسداران
  10. بسیج

Hashtags

#Iran#IranSecurity#IRGC#ایران#جمهوری_اسلامی#سپاه_پاسداران
02CONFIGURED

Cyber and influence operations

cyber-influence

12 phrases7 hashtags
#IranCyber#CyberAttack#InfoOps#Disinformation+3
Inspect exact rules

Query phrases

  1. cyberattack Iran
  2. Iran cyber operations
  3. DDoS Iran
  4. Iran banking cyberattack
  5. influence operation Iran
  6. disinformation Iran
  7. حمله سایبری ایران
  8. اختلال اینترنت ایران
  9. حمله سایبری بانک های ایران
  10. عملیات نفوذ
  11. جنگ شناختی
  12. اطلاعات جعلی ایران

Hashtags

#IranCyber#CyberAttack#InfoOps#Disinformation#حمله_سایبری#جنگ_شناختی#عملیات_نفوذ
03CONFIGURED

Military escalation

military-escalation

11 phrases8 hashtags
#IranIsrael#IRGC#CENTCOM#StraitOfHormuz+4
Inspect exact rules

Query phrases

  1. Iran Israel military
  2. IRGC missile
  3. Iran drone
  4. IDF Iran
  5. CENTCOM Iran
  6. Strait of Hormuz military
  7. ایران اسرائیل جنگ
  8. موشک سپاه
  9. پهپاد ایران
  10. حمله نظامی ایران
  11. تنگه هرمز نظامی

Hashtags

#IranIsrael#IRGC#CENTCOM#StraitOfHormuz#ایران_اسرائیل#موشک#پهپاد#تنگه_هرمز
04CONFIGURED

Nuclear and sanctions

nuclear-sanctions

11 phrases7 hashtags
#IranNuclear#IAEA#IranSanctions#هسته_ای+3
Inspect exact rules

Query phrases

  1. Iran nuclear
  2. Iran enrichment
  3. IAEA Iran
  4. Iran sanctions
  5. OFAC Iran
  6. Iran nuclear talks
  7. برنامه هسته ای ایران
  8. غنی سازی ایران
  9. آژانس ایران
  10. تحریم ایران
  11. مذاکرات هسته ای

Hashtags

#IranNuclear#IAEA#IranSanctions#هسته_ای#غنی_سازی#تحریم_ایران#مذاکرات_هسته_ای

Integrity protocol

Data notes & analytical limits

What the current configuration can—and cannot—support.

Preserve provenance

Store the exact rule that matched each post. Keep raw strings unchanged and version the configuration used for every collection run.

Count evidence once

Deduplicate overall volume by platform and post ID—not by keyword. A post may still retain several pack and group labels.

Review variants

Five separator-insensitive variant families exist. Similar strings can express opposing positions, so fuzzy merging is unsafe.

Scope every observed metric

Record counts and visible engagement snapshots are available only for their named samples. Platform-wide volume, reach, sentiment, coordination and threat level remain withheld.

Configuration audit

201 group assignments + 28 pack assignments = 229 assignments.

Exact uniqueness

228 unique hashtag strings. One repeated assignment: #IRGC appears in two packs.

Unicode handling

Persian and Arabic-script variants remain exact. ZWNJ, underscores and joined spellings are not silently collapsed.

Iran Social Signal MonitorLive public-source observatory · Taxonomy v1 · 228 exact hashtag rules · 30-day evidence retention