From mediawiki.org
MediaWiki extensions manual
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+
Composer mediawiki/media-moderation
License GNU General Public License 2.0 or later
  • $wgMediaModerationPhotoDNAUrl
  • $wgMediaModerationSendThumbnails
  • $wgMediaModerationPhotoDNASubscriptionKey
  • $wgMediaModerationRecipientList
  • $wgMediaModerationThumbnailSize
  • $wgMediaModerationCheckOnUpload
  • $wgMediaModerationFrom
  • $wgMediaModerationHttpProxy
Quarterly downloads 12 (Ranked 148th)
Public wikis using 908 (Ranked 292nd)
Translate the MediaModeration extension if it is available at translatewiki.net
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 file:
    wfLoadExtension( 'MediaModeration' );
  • Yes 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. The easiest way to do this is to set the following variables in your copy of mediawiki/LocalSettings.php

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. Which is available from wmaint server:yourName@mwmaint1002:~$ mwscript shell.php --wiki=commonswiki Psy Shell v0.11.10 (PHP 7.4.33 — cli) by Justin Hileman
$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.