ooni.org
ooni.org copied to clipboard
2.2 Improve Probe Orchestration system to dynamically schedule and orchestrate OONI Probe tests
A current challenge with responding to censorship events is the lack of immediate data in specific locations when reports of censorship emerge. To address this problem, we have been working on the creation of the OONI Probe Orchestration System, which aims to dynamically schedule and orchestrate OONI Probe tests (only applicable to probes that opt-in), particularly in response to emergent censorship events. For security reasons, the probe orchestration functionalities would be limited to OONI Probe tests already shipped as part of the apps and to URLs vetted as part of the Citizen Lab test lists.
As part of this proposed project, we aim to add probe orchestration support to the OONI Probe mobile app by implementing automatic testing via “silent push”. By giving users the possibility to opt-in to automatic testing, we would be able to instrument probes to dynamically gather measurements in response to emergent censorship events, without requiring the user to manually trigger the tests. Since all OONI measurements are openly published, this would support advocacy efforts and empower anti-censorship tool developers to rapidly release workarounds for impacted communities.
Push notifications allow us to broadcast messages to all OONI Probe mobile app users around the world (or selectively, to OONI Probe mobile app users in specific countries). We will therefore make greater use of our push notification system to deliver relevant messages to end users to encourage testing, particularly in response to emergent censorship events. This will support rapid response and help increase testing coverage.
We will add backend support that will enable us to send push notifications which ask OONI Probe users to test a set of websites or to run specific experiments. This will be particularly useful during emergent censorship events, when a list of sites needs to get tested urgently.
We will add frontend support so that members of the OONI team can configure the push notifications. If the frequency of push notifications starts to go up, we will expose richer configuration options in the settings to enable or disable certain notifications. We will also look at app metrics to understand how well these UX solutions work. We will continue to be cognizant of the risk of over-using push notifications during extended censorship events and we will maintain channels of communication with local community members to ensure that the frequency of push notifications are reasonable, necessary, and useful.
Finally, we will add mobile app support so that OONI Probe mobile app users can receive push notifications and run experiments. This will involve designing a UI to tell users that we would like them to test a set of URLs now in their country and that this has come from a push notification. They will be shown the full list of sites they are going to test and either dismiss the message or run the desired experiment. We will ensure that this is consistent with our informed consent procedure and that this feature is safe and ethical. By doing this it will be possible during incident response to engage more users to test relevant sites.
The intention is to tell probes they should do something NOW (where now can be a window of X time).
We can have have probes check in every X time and the backend tells them to $do-nothing or test something.
We should discuss if we want to implement silent push at all.
This is mostly done. I will take a look at enriching the parent epic with relevant issues and then closing it up.
More work on this has been done based on community feedback, such as making adjustments to the prioritization logic based on ASN, but is in any case mostly feature complete.
We should just discuss the privacy preserving check-in flag and issue and come to a consensus on that and then close this epic.
All work on implementing probe orchestration is done and we can therefore close this epic.