How Wechat censors images in private chats

Citizen Lab has expanded its analysis of how censorship and filtering work on Chinese social media (previously). In (Can't) Picture This 2 An Analysis of WeChat's Realtime Image Filtering in Chats , researchers probe and document how Wechat complies with Chinese state censorship policies in private chats.

Wechat maintains a massive index of the MD5 hashes of every image that Chinese censors have prohibited. When a user sends another user an image that matches one of these hashes, it's recognized and blocked at the server before it is transmitted to the recipient, with neither the recipient or the sender being informed that the censorship has taken place.

Separately, all images not recognized in the hash database are processed out-of-band. This processing includes checking for bitmaps representing text (to catch things like photos of banned articles) and also to see whether it is a partial match for an already-banned image (if it's been resized, transformed, etc). Anything that is found to be "harmful content" (including material critical of the Chinese state) is removed from the chat on the sender and recipients' devices and the hash of that image is added to the blocklist.

The system very slowly expires these hashes out of the banned database, in a way that seems non-systematic and hard to predict.

Looming over all of this is the prospect of being blocked or suspended from Wechat, which is a "mega-app" that is used for taxi-hailing, food delivery, paying utility bills, booking doctor's appointments, and interacting with state services. Some of the banned hashes are carried over into blocklists for other Tencent services, such as the blogging platform Qzone.

* WeChat implements realtime, automatic censorship of chat images based on text contained in images and on an image's visual similarity to those on a blacklist

* WeChat facilitates realtime filtering by maintaining a hash index populated by MD5 hashes of images sent by users of the chat platform

* We compare levels of filtering across WeChat's Moments, group chat, and 1-to-1 chat features and find that each has different images censored; we find that Moments and group chat are generally more heavily filtered than 1-to-1

* WeChat targets predominantly political content including images pertaining to government and social resistance

* WeChat's image censorship is reactive to news events; we found censored images covering a wide range of events, including the arrest of Huawei's CFO, the Sino-US Trade War, and the 2018 US Midterm Elections

(Can't) Picture This 2 An Analysis of WeChat's Realtime Image Filtering in Chats [Jeffrey Knockel and Ruohan Xiong/Citizen Lab]

How WeChat censors private conversations, automatically in real time [Patrick Howell O'Neill/Technology Review]