Proposal for guidelines upon receipt of DMCA notices

1. Summary

Corporations, individuals, and their legal teams today send DMCA notices when their copyrights are infringed upon, but these notices have no jurisdiction on an end-to-end decentralized computing platform owned and operated by those who have staked ICP in neurons.

At minimum, we need a process for submitting NNS proposals to take canisters down in such future situations when a node provider receives a DMCA notice.

2. Background

Nintendo sent one node provider a DMCA notice to take down the canister running Super Mario 64 on Monday Dec 6, 2021. This node provider then contacted the Dfinity foundation for help, and Dfinity decided to submit an NNS proposal to take the canister down. Here’s the forum thread.

Over the next 24 hours, the community held a variety of conversations in this forum, on Twitter, and elsewhere to discuss the situation. What we found was that the breadth of new topics uncovered apply only to permission-less, decentralized computing platforms that serve web, which at the moment are problems only the Internet Computer is powerful enough to require solutions for.

3. Proposal

Given that an NNS proposal is the only way to take a canister down, the main question we should discuss is: Who will be submitting the proposal next time someone on the IC gets a DMCA notice?

I propose we encourage the entity desiring to take the canister down to do so through an NNS proposal from their own neuron for no other reasons than 1) it makes the most logical sense and 2) this being a perfect opportunity to facilitate adoption.

The vision for the Internet Computer is one where the internet is governed on-chain and open to everyone’s participation, corporate interests included. Onboarding a Nintendo neuron would have been a massive signal that not only is this possible today, but it’s a beautiful vision for how we want to govern internet applications more broadly.

4. An MVP proposal

  • Draft instructions for how exactly a corporation should submit their DMCA to the Internet Computer (create neuron & submit proposal, including evidence of the legitimacy of this notice)
  • Create a form capture for submitting DMCA notices to the IC in a publicly accessible/visible section of Dfinity’s website (could be hosted on the IC but at least prominently available from Dfinity to signal “official” support)
  • Integrate this form capture more deeply with the NNS over time to make it an onboarding funnel for neuron creation

Let’s discuss


Quick thought…are canisters linked to neurons? I think they are and if so, can the neuron which is supporting the canister be informed via a NNS message as a first step?

This may be enough for that neuron owner to self-correct without exposing identity.

Then there can be a whole set of secondary measures which may ultimately result in removing canister via proposal based on some court proceedings or freezing that canister/neuron until such corrective actions or resolution happen.

I think we need to tread carefully because I’m imagining some use cases where it’s not black and white copyright violation and both parties lay claim to IP…which may require a significant amount of evidence to prove ownership.

1 Like

You aren’t required to own a neuron to deploy a canister.

Thanks. So if there’s no ownership then no one can defend…if there is a court order to shutdown due to copyright/IP infringement then there is little option other than to vote it out…

How are these canisters funded though?

If anyone can create an illegal canister without any risk then this could really pose a problem without proper governance…

1 Like

Is it possible to make Canisters ‘stealth’ concerning 'the node(s) that have a copy of it ?

(Could we have Stealth-Canisters? Meaning: Implement something that encrypts the information linking Canisters to Node-Providers )

If possible, this would take the discussion to another level. Node-Providers would never be threatened by DMCA notes ever again. The burden would go over the entire network (not on single node providers)

@ironlarreh @mechaquan @llbrunoll how about specifically on what we do when we get DMCA notices? I’m thinking we could refine this topic of discussion to what we do when it happens instead of what we do to prevent them.

The idea here is that it’ll probably happen again, so let’s eliminate all the friction with getting that defending party a neuron and submitting a proposal to the NNS.


Yeah that was where I was trying to go…

Step 0: as @lastmjs states give node providers plausible deniability

Step 1: notify the canister owner…who either self-corrects or waits until an official recognized court decision

Step 1a: canister owner not known jump to step 2

Step 1b: canister owner challenges and waits for official ruling…appointing representatives if necessary

Step 2: once official court taken notice arrives at TBD create a proposal to freeze canister

Step 3: after a set period of time of canister not correcting submit proposal to takedown canister

I don’t think we should create an environment for illegal activity as that will stem adoption and growth.


It doesn’t seem to me that the burden of submitting an NNS takedown proposal is on the entity serving the DMCA. They have the law on their side and whoever is served and doesn’t conform will have to deal with the consequences. It would make more sense for the node operator to submit this type of proposal.

That said, I think it makes the most sense for the IC ecosystem to band together to protect node operators in a way similar to what Dfinity did on the Nintendo DMCA. Eventually this type of legal action will need to be addressed in the courts. I think we need debate in the community (like what has been happening) so everyone who has NNS governance rights can make informed decisions, but eventually this type of topic will need to be put to an NNS vote. If the DMCA is not honored by that vote, then Dfinity will need to lead the legal effort to defend the decentralization argument.

I very much like the NNS tooling and governance work process ideas that have been presented in all the deliberation. However, I think it is appropriate for Dfinity to submit the proposal that they submitted and for them to follow up in support of the long term best interest of the IC based on the outcome of the vote.


I agree with this. I think it would be great to see Nintendo submit the proposal, but why would they care about what we want? They likely have existing processes in place that make issuance of DMCA notices trivial. Expecting a corporation to tailor a process to the IC at this point in time seems unlikely to gain traction.


IMO when a DCMA or other IP infringement request is received about a publicly posted file, IC should have a team/system that validates the request, and if it is valid, the canister should be notified and then suspended if not responsive (not removed). During that time, the canister would be accessible to the owner, so that they can make changes to fix the issue, but somehow not to the public at large. When the issue is resolved, the NNS can vote to reinstate. I would assume that if it became a common theme on a particular canister, the NNS would not vote to reinstate.

Any damages should be forwarded to the canister owner (not Dfinity, and not the node provider) as it was their bad, because it was in the ‘terms of service’, and the IC did what it could to resolve in a reasonable timeframe once being notified.

1 Like

To take this a step further, the canister owner would forward those damages on, to a user of their canister if that user violated the TOS their canister has set (in the case the canister allows for public file uploads or something, causing a DCMA complaint). It could be that a user is causing the issue not the canister owner, and canister owners should know to have a TOS as well for the users. I am not a lawyer or legal advisor.

I understand the apparent importance of this conversation but I say don’t censor. The protocol should not be concerned with this stuff. It should be unopinionated. What happens when there is political speech, or leaked government documents?

This is supposed to prevent a central point of censorship but we are diving straight into it. These are the stresses that define the way the network functions. If it’s an issue, the nodes can move out of the USA. Let’s just let it play out.

Part of the problem is that there is no meaningful incentive to run nodes (that was one of the concerns raised in the survey/focus study I did recently but got culled from the report I guess).


Just as a point of reference, from a YouTube support website:

Once the request is validated, YouTube gives the uploader 7 days to remove the video and avoid a copyright strike. If they don’t, the video is removed after 7 days.

So it may make sense to at least try to inform the canister controller first and wait some time before forcefully uninstalling the canister.

1 Like

While the idea that the copyright holder makes the proposal directly, with or without a website that removes as much friction as possible, is appealing I am afraid that we actually want to have an indirect method simply so that there is a way to filter invalid takedown requests before they become proposals.

It would be better if the proposal comes from an entity who has the capacity to validate such claims and if that entity can be identified by its proposer neuron id. And also that the proposal is only made after attempts to contact the canister controller have failed.

Moreover, when validating a takedown it also has to be verified if the request actually comes from the legitimate copyright owner. I don’t know how that can be reliably verified. If it cannot be reliably verified then we have to be prepared to make mistakes. If a YouTube video is “removed” I doubt they actually delete the data. Most likely they just make it inaccessible. So in case of a successful appeal they can probably simply undo the take-down. Even if they cannot undo in case of a video it can simply be uploaded again because it doesn’t contain state. In case of a canister state would be destroyed by the uninstall action so it cannot be undone. Therefore, if we have to be prepared for appeals then we need first the functionality to hibernate a canister instead of outright uninstalling it.


So if you post a video of yourself on IC about how you don’t want censorship, and IC takes it down, that is censorship… it’s your video to post

If I quit my job and spend 6 months carefully crafting a music album and post it on bandcamp for sale, you are not allowed to download it and post it on the IC for sale without my permission. If the IC takes that canister down for DCMA, that is not censorship, that is removing content that doesn’t have the right to be there in the first place. The canister is robbing the content creator of their livelihood.

I still think there’s a better process than ‘take it down’ and put it into a suspended state while the issue is resolve because as timo says above ^ there are state variables that would be lost


I think broadening it to beyond DMCA to cover global IP infringement legal processes would be appropriate. I have concerns about scaling, the overhead of vetting for legitimacy, exposure to litigation/redress and external pressure being exerted in certain jurisdictions and time spent when the IC takes off at webscale.


Nice one, yes we need a process diagram… So should there be a vote after the legitimacy review? If it’s legitimate, than the vote is on whether to get the node operators in trouble every time, which isn’t fair to them. IMO if it’s legitimate, the canister should be suspended and the vote should come to reinstate after the appeal has been made by the canister owner that they have resolved the issue. That’s just my opinion

I was unsure if suspension was technically possible or only removal. Suspension would be better because of state information. The legitimacy review was to simply inform voters. This works well for a clear cut infringement. If someone were to make a claim that was murky then this becomes very complicated. A non-interventionist approach would be to leave the node operator to fend for themselves.

A more blissful approach.


^^ I feel this is the current approach :rofl:

1 Like