Content Filtering via Boundary Nodes
Content Filtering on the IC
With increasing adoption of the Internet Computer, there are more and more types of dApps running and different content hosted on it. Even though the Internet is global, the rules are local: not all content and dApps are legal in all geographies and jurisdictions. For example, online gambling is illegal in Switzerland, but not in other countries.
Today, the server making the content accessible and its operator are responsible for complying with the rules of all the different jurisdictions. Failure to comply can lead to takedown of the server, domains being blocked by ISPs, and legal ramifications.
In the case of the Internet Computer, this mostly concerns the Boundary Nodes and their operators as they are the gateway to all content and dApps hosted on it.
Background
The discussion around content filtering started when a developer hosted a canister containing a Super Mario 64 emulator in February 2022. The Node Provider received a takedown request based on copyright infringement from Nintendo Co., Ltd. This incident sparked a discussion in the IC community.
General Solution
After lots of brainstorming, the community together came up with a proposal on how to enable Boundary Node operators to comply with local jurisdictions, while providing access to the dApps hosted on the Internet Computer.
The solution consists of two parts: first, anybody has to be able to run a Boundary Node, and second, a Boundary Node Operator is responsible for the content they serve and can decide what they serve. Boundary Node Operators are encouraged to define their own policy and practices, and make them public.
Today’s Situation
Today, DFINITY operates Boundary Nodes using the icp0.io and ic0.app domains. It actively maintains a content filter and has defined its policy. The filter only applies to the HTTP endpoints, allowing other gateway providers and IC-native clients “unfiltered” access to the IC.
Hence, any community member can set up and run a gateway using, for example, IC Front under their own domain and define their own policy. Several community projects have already gone this route (e.g., DSCVR, and distrikt).
Future Situation
As the new boundary node architecture is being implemented and rolled out, it will become even simpler to run your own gateway.