Authors: Ali Zohaib, Jade Sheffey, Mingshi Wu, Amir Houmansadr
Free and Open Communications on the Internet (FOCI) 2026
Internet censorship reporting is fragmented across many channels, from measurement platforms to multilingual, crowdsourced reports circulating in chat groups, forums, and on social platforms, making it hard for researchers and advocates to reliably track and act on emerging incidents. In this work, we introduce CensorAlert, a platform that addresses this challenge by aggregating reports from diverse sources and using LLM-based agents to continuously monitor, normalize, translate, and summarize them into a unified format. Each report is scored by an LLM agent for significance and surfaced as part of a ranked feed published at censoralert.org. Users can also subscribe to receive timely alerts via email or a supported messaging platform.
Censorship incidents surface online through two primary channels: systematic measurement platforms and crowdsourced reports. Over the past decade, the Internet freedom community has developed and maintained several large-scale measurement infrastructures, such as Open Observatory of Network Interference (OONI) [4], Censored Planet [1], Cloudflare Radar [3], and NetBlocks [7], that continuously monitor network behavior for anomalies indicative of interference or blocking. These platforms have been instrumental in uncovering both ongoing and historical censorship events, including nationwide Internet shutdowns, protocol-specific disruptions, and other blocking incidents. However, their visibility is inherently limited by the operational constraints of geographic coverage and protocol-specific tests. Consequently, many localized, niche, short-lived, or rapidly evolving forms of censorship remain difficult to detect using deterministic measurement alone [12, 13, 2, 15, 9, 14, 8].
In these gaps, users often provide the most critical evidence. People encountering blocked websites, failing messaging apps, or large-scale connectivity issues share observations across diverse channels, languages, and platforms. Community spaces such as Net4People BBS [6] and the NTC Party forum [10] enable users to discuss and describe suspected blocking and offer researchers timely leads. Yet this reporting ecosystem is highly fragmented: relevant information may appear in multiple languages, in closed groups, or in technical forums that are not routinely monitored. Several important cases have only come to light because individual experts happened to notice such reports, for example, investigations into blocking of fully encrypted protocols in China were prompted by user reports on an online forum [12], and regional blocking in parts of China has been identified through GitHub issue pages of popular circumvention tools [13]. This informal, crowdsourced pipeline is fragile, relying on whether reports reach a small group of overburdened volunteers and researchers. While the inherently heterogeneous nature of crowdsourced censorship reporting is unlikely to change, there is a clear need to automate the process of collecting and sifting relevant material.
To address this challenge, in this work, we present CensorAlert1, a platform designed to automate the discovery and assessment of Internet censorship reports. CensorAlert aggregates signals from diverse open sources, including multilingual social media posts, measurement platform reports, news articles, technical forums, and blogs, and converts these heterogeneous items into a common schema. The platform then employs large language model (LLM) agents to: (1) extract key attributes (e.g., report type, affected country, censorship mechanism, and impacted services); (2) translate and summarize findings; and (3) score each item’s significance based on its impact and strength of evidence. By consolidating noisy, distributed signals into a transparent, prioritized list of censorship-related stories, CensorAlert reduces the monitoring and manual filtering burden for volunteers and researchers while simultaneously providing the public with a single, accessible source of timely, well-structured information about global censorship activity.
CensorAlert is a modular system built on N8N [5], an open-source, self-hosted workflow automation platform. This design allows for the flexible composition and portability of automation pipelines. Figure 2 shows an overview of CensorAlert’s architecture.
N8N Workflows are the core operational units of CensorAlert. Each workflow is a series of connected nodes that performs a discrete task, and in CensorAlert, it is structured around three main components: a data source, an AI agent (with LLM API access), and a data store. These workflows are triggered on a timed interval (e.g., every two hours) and automate the entire data-processing logic: fetching data, calling the AI agent for analysis, parsing the results, writing to the database, and sending alerts. We instantiate distinct workflows from a main template to handle different data source types.
We aggregate data from heterogeneous, openly accessible channels, including but not limited to measurement platform APIs (e.g., OONI Reports, Cloudflare Radar, NetBlocks), GitHub Issues from circumvention tools (e.g., Hysteria, Xray), discussion forum RSS feeds (e.g., Net4People, NTC Party), relevant social media (e.g., Mastodon, X, Telegram channels), and research papers from arXiv. Upon ingestion, each item is normalized into a common internal schema that captures its timestamp, source, raw data, and provenance, while preserving a link to the original content for auditability. While this pipeline is automated, extending the system with new data sources is a simple, though manual, process. We are actively expanding this source list and welcome community contributions.
Data collected from our sources is passed to an LLM-based AI agent for analysis, as manually filtering the large volume of noisy, multilingual data is infeasible. LLMs are well-suited to this setting, as they can effectively read unstructured text, handle multiple languages, and interpret informal or incomplete descriptions.
For each data item, the agent, guided by a system prompt, calls the LLM API to perform several tasks: (i) classify if it is related to Internet censorship, (ii) assign scores between 0–5 for credibility, novelty, impact, timeliness, and verifiability, providing reasoning for each, and (iii) rewrite its title, provide an English summary, and add relevant tags. The LLM is constrained to return this output in a structured JSON format. The agent then calculates a normalized significance score (0–10) from the component scores and adds all censorship-related posts to the PostgreSQL database.
Following this step, the agent generates text embeddings (from the summary, title, and tags) using an embedding model (OpenAI’s text-embedding-3-small). These embeddings are used to cluster semantically similar items within specific time windows. Posts with overlapping attributes are grouped, while near-duplicates (such as reposts, copied headlines, or translations) are collapsed into a single canonical post, preserving all original source URLs and metadata.
CensorAlert currently uses OpenAI’s GPT-5 Thinking model (hosted on Azure) as the evaluator, chosen for its strong multilingual summarization and classification capabilities [11]. Its behavior is tightly constrained via the prompt, specific examples, and a strict JSON output schema, making the evaluation transparent.
The CensorAlert frontend, built using React, queries the PostgreSQL database through a public REST API to display a ranked list of high-significance posts. As shown in Figure 1, the interface displays posts with their summaries, significance scores, and key attributes (e.g., country, sources, tags). Users can filter this data by various criteria, including country, time window, and score, or search by keyword.
Notifications are implemented as an additional scheduled workflow within the same architecture. Users subscribed to the mailing list or Telegram channel receive alerts when new posts exceed configurable significance thresholds or match selected filters. We are actively working on making the notification API publicly accessible and extending support to additional notification channels.
The Internet freedom community relies heavily on the diligent, manual efforts of volunteers. Our goal with CensorAlert is to complement and scale these efforts. By systematically aggregating and organizing censorship-related content, CensorAlert will serve as a key resource, enabling advocates and researchers to stay informed of the latest developments and helping the broader community track censorship activities. In the long term, by leveraging the growing capabilities of AI agents, our aim is to automate the full lifecycle of a censorship event, from initial reporting and detection to measurement and the development of circumvention strategies, with CensorAlert serving as the first step toward this goal.
The work was supported in part by the NSF grant CNS-2333965, and by the Young Faculty Award program of the Defense Advanced Research Projects Agency (DARPA) under the grant DARPA-RA-21-03-09-YFA9-FP003.