This email shares OONI’s monthly report for March 2023.
# OONI Monthly Report: March 2023
Throughout March 2023, the OONI team worked on the following sprints:
- Sprint 86 (1st-12th March 2023)
- Sprint 87 (13th-31st March 2023)
Our work can be tracked through the various OONI GitHub repositories: https://github.com/ooni
Highlights are shared in this report below.
## Public launch of OONI Probe Web
In March 2023, the OONI team released OONI Probe Web: a new browser-based tool for measuring the blocking of websites.
Run OONI Probe Web: https://probe-web.ooni.org/
We built OONI Probe Web in response to long-term community feedback, requesting a censorship measurement tool that can be run from a browser, without requiring the installation of any software.
With OONI Probe Web, you will test the same types of websites as with the OONI Probe apps (https://ooni.org/support/faq#which-websites-will-i-test-for-censorship-with-ooni-probe). Upon running OONI Probe Web, your test results will be published as open data in near real-time (https://ooni.org/data/). However, please note that OONI Probe Web is very limited in comparison to the OONI Probe apps (https://ooni.org/install/). Due to limitations in the API available to web browsers, it’s not possible to run advanced experiments necessary for accurately detecting and characterizing website blocks from a browser.
We therefore kindly ask you to not treat OONI Probe Web as a replacement for the OONI Probe apps, but as a complementary tool. We encourage you to run OONI Probe Web and contribute measurements, the analysis of which will help us improve upon OONI Probe Web on an ongoing basis.
You can learn more about OONI Probe Web in our blog post: https://ooni.org/post/introducing-ooni-probe-web/
In preparation for the launch, we:
- Switched the endpoints used by OONI Probe Web to production (https://github.com/ooni/probe-web/pull/6);
- Made several improvements to the copy and to the layout of the pages (https://github.com/ooni/probe-web/pull/7) with special focus on the informed consent procedure;
- Made changes to OONI Probe Web to ensure that it works better on mobile platforms (https://github.com/ooni/probe-web/pull/9);
- Added support to the backend for analyzing OONI Probe Web measurements (https://github.com/ooni/backend/pull/648);
- Added support for filtering OONI Probe Web measurements inside of OONI Explorer (https://github.com/ooni/explorer/pull/847);
- Updated the OONI Data Policy (https://github.com/ooni/ooni.org/pull/1347).
## Launched new OONI Explorer features and pages
In March 2023, we launched several new OONI Explorer features and pages.
- New domain-centric pages: https://explorer.ooni.org/domains
- New network-centric pages: https://explorer.ooni.org/networks
- New “Internet outage” charts (integrating IODA, Google traffic, and Cloudflare Radar data), available in each country-specific (https://explorer.ooni.org/countries) and network-specific page (https://explorer.ooni.org/networks)
- New user feedback reporting mechanism, available through the “Verify” button in the banner of each OONI measurement page
The user feedback reporting mechanism enables OONI Explorer users to submit feedback for each OONI measurement, helping the OONI team to improve OONI data quality. Using the user feedback reporting mechanism requires logging in with an email address (OONI Explorer user account). Email addresses are not stored. They are just required so that we can send you a login link.
Leading up to the launch of the above, we wrapped up the relevant work. Specifically, we:
- Added index pages for domains and networks that we have measurements for (https://github.com/ooni/explorer/pull/830);
- Finished applying the designs for the new domain and network pages (https://github.com/ooni/explorer/pull/830);
- Unified the appearance of the pre-existent pages by implementing new designs created by a UI/UX designer (updated the general countries page, each country page and several other components);
- Released third-party data integration on network and country pages (https://github.com/ooni/explorer/pull/831);
- Released OONI Explorer user accounts and the user feedback reporting mechanism for measurements (https://github.com/ooni/explorer/pull/790).
## Published new OONI Explorer user guide
In March 2023, we published a new user guide for OONI Explorer: https://ooni.org/support/ooni-explorer
OONI Explorer (https://explorer.ooni.org/) is the world’s largest open dataset on Internet censorship, with new measurements published in near real-time.
This user guide provides step-by-step instructions (with screenshots) on how to use OONI Explorer to investigate internet censorship worldwide.
Through this guide, you will learn how to use OONI Explorer to:
- Discover blocked websites and apps around the world
- Access measurement data that can serve as evidence of internet censorship
- Generate charts based on aggregate views of OONI data
- Compare censorship across countries and networks
- Filter measurements based on various parameters (such as country, ASN, date range, OONI Probe test, websites categories, domains, etc.)
Upon reading this guide, we hope you will feel empowered to investigate internet censorship through the use of OONI Explorer.
We thank all OONI Probe (https://ooni.org/install/) users worldwide who have contributed – and continue to contribute – measurements, shedding light on internet censorship.
## Published new documentation on interpreting OONI data
In March 2023, we published new documentation which explains how to interpret OONI data.
You can access this documentation here: https://ooni.org/support/interpreting-ooni-data/
OONI data is open data on Internet censorship around the world, updated in real-time.
With our new guide, you can learn how to interpret OONI data to monitor and respond to Internet censorship worldwide.
## Published new documentation on coordinating censorship measurement campaigns
In March 2023, we published a new guide through which you can learn how to coordinate OONI censorship measurement campaigns with your community.
Read the guide here: https://ooni.org/support/ooni-censorship-measurement-campaigns
Is your country preparing for elections? Did new blocks emerge during protests? Would you like to measure censorship in different regions in your country, or in different countries around the world?
Community coordination can help with rapidly measuring and responding to Internet censorship events.
Through our new guide, you can learn which steps you can take to organize censorship testing with other OONI Probe users. We also share a few examples of OONI censorship measurement campaigns led by groups in the internet freedom community.
## Published new OONI Outreach Kit
In March 2023, we published a new OONI Outreach Kit: https://ooni.org/support/ooni-outreach-kit/
Our Outreach Kit includes flyers, brochures, workshop slides & other resources that you can use as part of your OONI community engagement efforts!
Specifically, the Outreach Kit includes:
- OONI brochures: https://ooni.org/support/ooni-outreach-kit/#ooni-brochures
- OONI Probe flyers and leaflets: https://ooni.org/support/ooni-outreach-kit/#ooni-probe-flyers-and-leaflets
- OONI Explorer flyers: https://ooni.org/support/ooni-outreach-kit/#ooni-explorer-flyers
- Internet censorship flyers: https://ooni.org/support/ooni-outreach-kit/#internet-censorship-flyers
- OONI screencasts: https://ooni.org/support/ooni-outreach-kit/#ooni-screencasts
- OONI workshop slides: https://ooni.org/support/ooni-outreach-kit/#ooni-workshop-slides
- Other OONI resources: https://ooni.org/support/ooni-outreach-kit/#ooni-resources
We hope you find these materials useful, and we thank you for your OONI community engagement efforts! We also thank Ura Design (https://ura.design/) for the beautiful design of the OONI Outreach Kit.
## Updated the Get Involved section of the OONI website
In light of the aforementioned publications, we edited the copy of the Get Involved page on the OONI website to provide updated information and links (https://github.com/ooni/ooni.org/pull/1366/files).
The updated version of the OONI Get Involved page can be viewed here: https://ooni.org/get-involved/
## Published OONI documents translated into 5 languages
In March 2023, we published several OONI documents translated into 5 languages: Arabic, Farsi, Russian, Swahili, and Spanish.
The translated OONI documents are:
OONI Frequently Asked Questions (FAQ): https://ooni.org/support/faq
OONI Glossary: https://ooni.org/support/glossary
Potential risks: https://ooni.org/about/risks/
Below we share links for the translated documents in each of the 5 languages.
Thanks to Ahmed Gharbeia, the following OONI documents are now available in Arabic:
OONI Frequently Asked Questions (FAQ): https://ooni.org/ar/support/faq
OONI Glossary: https://ooni.org/ar/support/glossary
Potential risks: https://ooni.org/ar/about/risks
Thanks to Miaan Group, the following OONI documents are now available in Farsi:
OONI Frequently Asked Questions (FAQ): https://ooni.org/fa/support/faq
OONI Glossary: https://ooni.org/fa/support/glossary
Potential risks: https://ooni.org/fa/about/risks
Thanks to Tatyana Boldyreva, the following OONI documents are now available in Russian:
OONI Frequently Asked Questions (FAQ): https://ooni.org/ru/support/faq
OONI Glossary: https://ooni.org/ru/support/glossary
Potential risks: https://ooni.org/ru/about/risks
Thanks to Zaina Foundation, the following OONI documents are now available in Swahili:
OONI Frequently Asked Questions (FAQ): https://ooni.org/sw/support/faq
OONI Glossary: https://ooni.org/sw/support/glossary
Potential risks: https://ooni.org/sw/about/risks
Thanks to Katherine Pennacchio and Mariengracia Chirinos, the following OONI documents are now available in Spanish:
OONI Frequently Asked Questions (FAQ): https://ooni.org/es/support/faq
OONI Glossary: https://ooni.org/es/support/glossary
The Risks document had already been translated to Spanish by Derechos Digitales: https://ooni.org/es/about/risks
Huge thanks to the translators who helped make important OONI documents accessible to more communities worldwide!
## Published blog post on the analysis of failed OONI measurements
In March 2023, Gurshabad Grover (OTF Information Controls Research Fellow at OONI) and Simone Basso (OONI engineer) published a new post titled: “How we’re improving OONI data quality: An analysis of failed measurements”.
Read this post here: https://ooni.org/post/improving-data-quality-analysis-of-failed-measurements/
You may have noticed that some OONI measurements are annotated as “failed”. This happens when the OONI Probe experiment fails to perform as expected (e.g due to bugs).
To better understand why some OONI measurements fail, Gurshabad and Simone analyzed 100 of the most failed Web Connectivity measurements collected (during 3 days in June 2022) from India, Indonesia, and Pakistan (300 measurements in total).
They found that Web Connectivity measurements failed to the following reasons:
- Instance of internet censorship
- Tested website was down
- Tested website was misconfigured
Out of the 3 countries, they found that most failed measurements (more than 75%) from Pakistan and Indonesia were symptomatic of internet censorship.
Based on this study, the authors identified some next steps for improving OONI data quality: https://ooni.org/post/improving-data-quality-analysis-of-failed-measurements/#conclusions-and-future-work
We encourage researchers to analyze failed OONI measurements and help us further improve OONI data quality.
## Published URL prioritization web interface
OONI’s smart URL list system (https://ooni.org/post/ooni-smart-url-list-system/) prioritizes the testing of certain URLs over others. Currently, popular social media websites (which are frequently blocked around the world) are prioritized for testing the most globally.
To enable the internet freedom community to review URL priorities and contribute feedback (i.e suggest URLs for testing prioritization), we published a new URL prioritization web interface: https://test-lists.ooni.org/prioritization
To this end, we added support for displaying URL priorities in the Test Lists Editor interface (https://github.com/ooni/backend/pull/646) and we added a web form that enables community members to suggest URLs for prioritization (https://github.com/ooni/test-lists-ui/pull/72).
## OONI Probe Mobile
In March 2023, we continued to improve upon the OONI Probe mobile app.
- Continued to make improvements to the next OONI Probe Mobile release (3.8.0) based on feedback from internal testing;
- Made the Android Manifest general enough based on community feedback (https://github.com/ooni/probe/issues/1989);
- Continued working towards ensuring that the OONI Probe iOS app does not crash when OONI backend services are down (https://github.com/ooni/probe/issues/2201);
- Continued working towards rewriting OONI Probe in Flutter (https://github.com/ooni/probe/issues/2359);
- Worked towards addressing a bug impacting status information in dark mode (https://github.com/ooni/probe/issues/2423);
- Fixed bugs (https://github.com/ooni/probe/issues/2427, https://github.com/ooni/probe/issues/2428).
## OONI Run
We released a new stable version of OONI Run (v1.0.0:
https://github.com/ooni/run/releases/tag/v1.0.0), which includes some of the improvements which are backward compatible with older versions of OONI Probe. These include support for using translations with a language selector, copy edits, updating software dependencies and several bug fixes.
Following the release of OONI Run v1.0.0, we deployed it and made some improvements to the deployment process.
We also merged the specification for the next generation of OONI Run which is going to be implemented over the course of the next year: https://github.com/ooni/spec/pull/249
## OONI Probe CLI
We continued working on the OONI Probe CLI 3.17 release. While performing quality assurance, we noticed and fixed an issue that prevented mobile apps from taking advantage of the prototype richer input functionality exported by the OONI backend. We fixed this issue (https://github.com/ooni/probe-cli/pull/1123) and released OONI Probe CLI 3.17.1 (https://github.com/ooni/probe-cli/releases/tag/v3.17.1).
Based on a community request, we exported all the internal Go packages used by OONI Probe CLI (https://github.com/ooni/probe-cli) in the OONI Probe Engine (https://github.com/ooni/probe-engine) repository. We will semi-automatically update this repository after each minor release, to allow community members to import our internal implementation details from their applications and libraries written in Go.
We merged the dslx package, which provides a composable high-level API for writing OONI experiments (https://github.com/ooni/probe/issues/2402). For additional information on this package, please take a look at the design document that explains this functionality in detail: https://github.com/ooni/probe-cli/blob/master/docs/design/dd-005-dslx.md
We continued to investigate Android crashes caused by tor. We updated the fdsan-related issue we previously opened in February 2023 (https://gitlab.torproject.org/tpo/core/tor/-/issues/40747) providing additional information on how the problem could be fixed in a way that works on both Unix and Windows systems. We gathered additional evidence regarding the pubsub_install crash and opened another issue in the tor issue tracker (https://gitlab.torproject.org/tpo/core/tor/-/issues/40774).
## Expanding OONI’s testing model to support richer testing input
We continued exploring the design space around passing richer input to experiments (https://github.com/ooni/ooni.org/issues/1295) by discussing internally a way to update the check-in API and the OONI Run v2 specification to support richer testing input. We aim to review and finalize this design document in the next development sprints and update the existing PoC.
## Creating a throttling measurement methodology
We specified and implemented an integration testing tool, called “netem”, to facilitate writing integration tests that simulate extreme throttling conditions (https://github.com/ooni/probe/issues/2424). The netem tool, which lives in its own GitHub repository (https://github.com/ooni/netem), uses GVisor to create user-space TCP/IP network stacks. When running integration tests, the traffic generated by OONI Probe uses its own GVisor stack. We route this traffic through network links written in software that simulate latency and losses. We started integrating netem (https://github.com/ooni/probe/issues/2431) with the OONI Probe CLI repository (https://github.com/ooni/probe-cli/).
## OONI backend
Throughout March 2023, we continued to work on a series of backend improvements.
- Deployed the change to the fastpath to use fingerprints from GitHub (https://github.com/ooni/pipeline/pull/407);
- Implemented the publication of the URL prioritization listing in the API (https://github.com/ooni/backend/pull/646);
- Added an updater for ASN metadata to the pipeline (https://github.com/ooni/pipeline/pull/414);
- Implemented an API endpoint for mapping ASNs to AS organization names (https://github.com/ooni/api/pull/326, https://github.com/ooni/backend/issues/635);
- Added domain and network endpoints to the API (https://github.com/ooni/backend/pull/641);
- Added backend support to the MAT to accept multiple values in input parameters (https://github.com/ooni/api/pull/324, https://github.com/ooni/backend/issues/584);
- Removed the “test_name” check from the list of measurements in the API (https://github.com/ooni/backend/pull/647);
- Merged the pipeline and API git repositories into one to simplify and speed up development (https://github.com/ooni/backend/pull/638);
- Fixed the API integration test (after adding new columns to the fastpath) (https://github.com/ooni/api/pull/325);
- Ensured that the rotation table history is maintained (https://github.com/ooni/pipeline/pull/412);
- Increased the worker count and simplified the queue in the fastpath (https://github.com/ooni/backend/pull/650);
- Fixed a bug affecting the platform field extraction in the fastpath (https://github.com/ooni/backend/pull/652);
- Ensured that the API uses the fastpath repo in CI (https://github.com/ooni/backend/pull/649);
- Cleaned and refactored the codebase (https://github.com/ooni/backend/pull/645);
- Implemented log collection on the monitoring host using Vector.
## Automating censorship detection and characterization based on OONI measurements
We made stable progress on the front of automating the detection and characterization of censorship based on OONI measurements.
In March 2023, we focused on analyzing DNS level interference, as understanding the outcome of the DNS measurement is a prerequisite for the interpretation of the following measurements. Specifically, we implemented a DNS blocking analysis that is purely based on SQL queries and we set up a system to assess its accuracy by comparing it with blocking fingerprints.
We experimented with applying machine learning algorithms to the DNS analysis. They present very promising cursory results and we will be exploring this avenue further.
The outcomes of this experimentation and DNS analysis were presented internally to our team, as well as to external researchers in the network measurement field to request feedback.
We also improved the validation of blocking fingerprints (https://github.com/ooni/blocking-fingerprints/pull/6) and we removed a fingerprint that was leading to false positives (https://github.com/ooni/blocking-fingerprints/pull/7).
## Improving the quality of test lists
To improve the quality of test lists, we created a prototype script for detecting and optionally automatically removing expired domains from the lists. We implemented this functionality inside the OONI Probe CLI repository (https://github.com/ooni/probe-cli/pull/1114). We will test and discuss this prototype with our partners to gather feedback and evaluate the next steps.
For the time being, we decided to refrain from automatically removing expired domains because we found cases where expired domains redirect to other domains that are blocked (https://github.com/citizenlab/test-lists/pull/1247) and, therefore, their automatic removal would result in missing cases of censorship.
We also mined OONI data to identify URLs that were manually tested by OONI Probe users, and which are not currently included in the Citizen Lab test lists (https://github.com/ooni/ooni.org/issues/1228). Based on our analysis, we identified more than 1,000 URLs (from the last 3 months) which should be peer-reviewed (and categorized by country researchers/experts) before added to the test lists (https://gist.github.com/hellais/14e75ce8b9d5cf04f78644c8e9f66554#file-mine-data-ipynb). In the meanwhile, we added a few of those URLs to test lists (https://github.com/citizenlab/test-lists/pull/1250).
## OONI interview for Roskomsvoboda’s Privacy Day event 2023
In January 2023, OONI’s Maria provided an interview for Roskomsvoboda’s Privacy Day 2023 event (https://2023.privacyday.net/), as part of which she discussed how people in Russia can participate in OONI censorship measurement.
In March 2023, Roskomsvoboda published the interview in a blog post (https://roskomsvoboda.org/post/maria-xynou-ooni/) and on their YouTube channel (https://www.youtube.com/watch?v=_yugAH26CK0).
## Community use of OONI data
### Access Now’s press release on ongoing social media blocks in Ethiopia
In March 2023, Access Now published a press release urging Ethiopian authorities to stop blocking access to social media platforms. As part of this press release, they cite OONI measurements on the ongoing blocking of social media platforms in Ethiopia.
Access Now’s press release is available here: https://www.accessnow.org/press-release/ethiopia-social-media-protest/
### Sinar Project’s article on verifying website blocks with OONI Explorer
Our partner, Sinar Project, published an article (“Is the Website Blocked? Verifying Internet Censorship with OONI Explorer”) which explains how to verify the blocking of websites through the use of OONI Explorer.
Their article is available here: https://imap.sinarproject.org/news/is-the-website-blocked-verifying-internet-censorship-with-ooni-explorer
## Community activities
### OONI workshop for election observers in Kazakhstan
On 9th March 2023, OONI’s Elizaveta facilitated an online workshop on coordinating OONI censorship measurement campaigns for election observers in Kazakhstan.
Following this workshop, the participants created a Telegram chat to coordinate on OONI censorship measurement during Kazakhstan’s elections on 19th March 2023.
### MozFest 2023
On 22nd March 2023, OONI’s Arturo attended MozFest 2023 (https://www.mozillafestival.org/), where he participated as a speaker on the panel “Co-Creating A Better Tech Future: Mozilla Data Futures Lab” (https://schedule.mozillafestival.org/session/EMSW79-1).
As part of his presentation, Arturo shared the activities OONI plans to do (in creating the next generation OONI Run) as part of the Mozilla Data Futures Lab 2023 cohort (https://foundation.mozilla.org/en/data-futures-lab/).
### DEMHACK 6 hackathon
On 25th and 26th March 2023, OONI’s Simone and Elizaveta mentored the team working on OONI’s task at the DEMHACK 6 hackathon (https://6.demhack.org/). As part of this hackathon, the team of participants worked on developing a script for the automatic identification of parked domains in the Citizen Lab test lists.
### OONI workshop for digital rights organizations from Central Asia
Between 27th-29th March 2023, OONI’s Elizaveta participated in an in-person training organized by CIPI and Internews for digital rights organizations from Central Asia (Kazakhstan, Kyrgyzstan, Tajikistan, Uzbekistan).
As part of this training, Elizaveta facilitated an OONI workshop and helped the organizations determine how OONI data may be useful to their work.
### RWC 2023
Between 27th-29th March 2023, OONI’s Arturo traveled to Japan to attend the Real World Crypto (RWC) 2023 conference (https://rwc.iacr.org/2023/).
The goal of attending this conference was to discuss with cryptographers a problem OONI is trying to solve related to implementing a privacy preserving way to authenticate probes and which might benefit from some sort of anonymous credential system.
### OONI Community Meeting
On 28th March 2023, we hosted the monthly OONI Community Meeting on our Slack channel (https://slack.ooni.org/), during which we discussed the following topics:
- Updates from the OONI team.
- The effects of Russia’s invasion of Ukraine on Internet censorship in Russia.
- Enabling more extensive beta testing of OONI tools by the community.
- OONI Probe Web: Community questions about the “URL Limit” feature.
## Measurement coverage
In March 2023, 61,415,821 OONI Probe measurements were collected from 3,058 AS networks in 167 countries around the world.
This information can also be found through our measurement stats on OONI Explorer (see chart on “monthly coverage worldwide”): https://explorer.ooni.org/
~ OONI team.