Facebook open sources photo and video matching technology
The Facebook development team announced at their Child Safety Hackathon that they have open sourced ThreatExchange. ThreatExchange is a collection of RESTful APIs that helps find matching content for an explicit video, in order to prevent it from being shared. Check out some of the privacy features and how you can potentially help make the internet safer.
In order to help make browsing the Internet safer, Facebook open sourced its video matching technology ThreatExchange.
According to the announcement blog by Facebook Newsroom, some of the main uses for this technology are combating child exploitation and the spread of terrorist material. This software helps find matching content to an explicit video, in order to help prevent it from being shared.
With the release of ThreatExchange, Facebook hits a new milestone. This marks the first time that the company has open sourced its photo or video matching technology.
Open sourcing security
From GitHub: “ThreatExchange is a set of RESTful APIs on the Facebook Platform for querying, publishing, and sharing security threat information. It’s a light-weight way for exchanging details on malware, phishing pages, and other threats with either specific members of the community or the ThreatExchange community at large.”
It is currently in beta, as it continues to collect high-confidence information.
Under the hood
How does it work? The announcement blog explains:
These technologies create an efficient way to store files as short digital hashes that can determine whether two files are the same or similar, even without the original image or video. Hashes can also be more easily shared with other companies and non-profits. For example, when we identify terrorist propaganda on our platforms, we remove it and hash it using a variety of techniques, including the algorithms we’re sharing today. Then we share the hashes with industry partners, including smaller companies, through GIFCT so they can also take down the same content if it appears on their services.
The API supports three levels of privacy/visibility: all members, the ThreatPrivacyGroup, and a whitelist limited to specific members. Users can create their own privacy groups.
See some examples in Python, Java, and PHP using cURL and see how it works.
Want to help share threat information and make the internet more secure? In order to apply, you will need a Facebook developer app, which will give you an app ID. You will need to authenticate the ThreatExhange API via an Access Token.
Full documentation for the current version available here, including more info about best practices, and how to edit and submit data.