Gaming

Canadian petition launches to stop payment processors from censoring video games

A conservative group has gotten thousands of games from marginalized creators de-indexed for ill-defined reasons

Steam

Canadians can take part in a government petition to protest payment processors censoring the kinds of video games that can be made.

At the end of August, Carmen Tam from Waterloo, Ont., initiated a petition with local Liberal MP Bardish Chagger in response to recent action from companies like Visa and Mastercard to stop facilitating certain financial transactions from gaming storefronts Steam and Itch.io.

This was prompted by Australian conservative “anti-porn” group Collective Shout, resulting in services like Steam prohibiting “adult only” content that goes against the policies of payment processors. However, as the Canadian petition explains, “adult only” isn’t clearly defined, which has led to thousands of games being de-indexed, many from LGBTQ+ creators.

As CBC reports, some of the games caught in the crossfire include a teen romance comedy and a 1920s alternate-history art book that contains no sexual content whatsoever. Naturally, Collective Shout’s work has indiscriminately affected marginalized creators for flimsy reasons. Of course, it’s also a freedom of expression issue, with bad actors weaponizing the system to censor content they don’t like, which is a slippery slope in general.

“This has set an unsettling precedent of corporate censorship, causing concern in video game development teams, including developers, voice actors, and artists in other creative fields as their livelihoods are in limbo,” argues the Canadian petition.

It’s therefore calling for the House of Commons to “stop financial discrimination by payment platforms against legal goods and services, ensure transparency to consumers about content restrictions and the rationale behind them, and protect creators’ rights to make legal adult content and ensure a fair appeals process for any penalized media.”

At the time of writing, the petition has about 4,000 signatures. Those interested can read more on the House of Commons website. Game developers have also taken to social media to ask fans and colleagues to call payment processors like Visa to protest this censorship.

Update Sept. 8, 2025 at 9:25a.m. ET: Canada isn’t the only country taking a stand against payment processors. A similar petition was filed with the Australian government, seeking to use an anti-trust investigation to prevent payment processors from regulating what content people can consume.

Image credit: Valve

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49