Crate removal procedure

If we get a DMCA takedown notice, here's what needs to happen:

Before removing the crates, get in touch with legal and ask an opinion from them on the received request and whether we have to comply with it.

Remove relevant version(s) and/or entire crates from crates.io

  • Remove it from the database:

    heroku run -a crates-io -- target/release/delete-crate [crate-name]
    

    or

    heroku run -a crates-io -- target/release/delete-version [crate-name] [version-number]
    
  • Remove the crate or version from the index. To remove an entire crate, remove the entire crate file. For a version, remove the line corresponding to the relevant version.

  • Remove the crate archive(s) and readme file(s) from S3.

  • Invalidate the CloudFront cache:

    aws cloudfront create-invalidation --distribution-id EJED5RT0WA7HA --paths '/*'
    

Remove entire crates from docs.rs

The docs.rs application supports deleting all the documentation ever published of a crate, by running a CLI command. The people who currently have permissions to access the server and run it are:

You can find the documentation on how to run the command here.