MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: beta
Implementation User interface
Description Service for detecting possible child exploitation content
Author(s) Wikimedia Core Platform & Trust and Safety Teams (Peter.ovchyntalk)
Latest version 0.1.0
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.35+
PHP 7.2+
License GNU General Public License 2.0 or later
  • $wgMediaModerationPhotoDNAUrl
  • $wgMediaModerationSendThumbnails
  • $wgMediaModerationPhotoDNASubscriptionKey
  • $wgMediaModerationRecipientList
  • $wgMediaModerationThumbnailSize
  • $wgMediaModerationCheckOnUpload
  • $wgMediaModerationFrom
  • $wgMediaModerationHttpProxy
Translate the MediaModeration extension if it is available at translatewiki.net

Check usage and version matrix.

Issues Open tasks · Report a bug

The MediaModeration extension is for detecting possible child exploitation content.


The purpose of the extension is to improve the Foundation’s existing workflows for child protection content.

Prior to deployment of this extension, when the Foundation receives a report of images that depict child sexual abuse, the images are deleted from the projects and reported to law enforcement according to legal requirements. This setup requires volunteers, who unlike staff have no professional training or mental health support, to initially deal with this very emotionally taxing content.

This extension aims to protect the community from being exposed to such content in nearly all cases and get it off the platform a lot faster. It would check images against a database of hashed, known images of child sexual abuse and notify Foundation staff of hash matches to allow Foundation staff to remove the images and report their existence to law enforcement.

This extension does not automatically remove any content without human review by Foundation staff.


MediaModeration provides the following:

  • Check uploaded image against PhotoDNA
  • Send email to pre-configured recipients if suspicious content found


Before installation, the PhotoDNA subscription key should be obtained from Microsoft.


  • Download and place the file(s) in a directory called MediaModeration in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'MediaModeration' );
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


After it is installed, the extension must be configured.

Configuration Variable Default Value Description
$wgMediaModerationPhotoDNAUrl https://api.microsoftmoderator.com/photodna/v1.0/Match URL of PhotoDNA service endpoint.
$wgMediaModerationPhotoDNASubscriptionKey "" Key for access to PhotoDNA service endpoint, obtained from Microsoft. Must be given a value.
$wgMediaModerationRecipientList [] List of emails to be notified a hash match occurs. Must be an array. Must be given a value.
$wgMediaModerationFrom "" Email 'from' field to use for email notifications. Must be given a value.
$wgMediaModerationHttpProxy null HTTP proxy to use when calling PhotoDNA service. Default is null, which means no proxy is used. Set to the URL of the proxy to use a proxy.
$wgMediaModerationCheckOnUpload false Indicates whether files should be checked on upload. If false, checking will only be done by the ModerateExistingFiles.php maintenance script.