I’m planning to develop a Shopify app and wanted to confirm if this type of functionality aligns with Shopify’s app policies and guidelines.
The app would allow merchants to select videos from their store, process them externally (for accessibility improvements such as captions, transcripts, and audio descriptions), and then upload the remediated videos back into their Shopify store for use on product pages or media libraries.
The workflow would involve accessing store media, processing it securely on our server, and returning the enhanced version to the merchant, with an option to replace or attach it to products.
Before moving forward, I’d like to confirm:
Is this type of media processing and re-upload workflow allowed under Shopify’s app ecosystem?
Are there any specific compliance, data handling, or API usage considerations I should be aware of?
Are there any restrictions around modifying or replacing existing store media via an app?
I’d appreciate any guidance or insights from the community or Shopify team.
Hey @Syed_Aoun_Naqvi - thanks for reaching out, it’s always great to see someone building for accessibility.
Based on what you described here, I can’t see anything in our app store policies that prevents a read, process externally, write-back pattern for store media.
For reading store media, you’d use the Files API and product media queries with read_files and read_products access scopes. For uploading the remediated videos back, you’d use the fileCreate mutation which supports video (MP4, MOV, WEBM, up to 1GB and 10 minutes at up to 4K). You can use stagedUploadsCreate to upload in stages/in bulk if needed. There’s a limit of 1,000 videos per store per week, so just wanted to mention that as well.
Another thing to note is that fileUpdate can update alt text and product references for videos, but you can’t replace the actual video content on an existing file. So your workflow would be to upload the captioned video as a new file via fileCreate, then swap it onto the product by removing the old media with productDeleteMedia and attaching the new one with productCreateMedia. The media management guide walks through all of this: Manage media for products and collections
On the compliance and data handling side, since you’re processing store media on external servers you’ll want to make sure you’re encrypting data at rest and in transit, have a privacy policy linked in your app listing, and implement the mandatory compliance webhooks (customers/data_request,customers/redact, shop/redact).
More on that here: Privacy requirements and here: Work with protected customer data
The full app store requirements are here if you want to review them before building: App Store requirements
Let me know if I can clarify anything on our end here!