Line item property image files persistence

Short description of issue

Images uploaded natively as a line item property for personalisation do not seem to have a configurable lifetime or method to remove them

Reproduction steps

  1. Add a file upload input as a field in the add to cart form
  2. Upload an image via the input and then add the item to your cart
  3. That image is now on the CDN and I can’t see any way to ever remove it

Additional info

It is natively supported in Shopify to use line item properties to store images for product personalisation. However, once the image is uploaded by the customer, how long is the image persisted to Shopify’s servers for and is there any way to remove it?

There is a question on the community about this exact issue but it does not look to have ever been answered: How to manage customer

We would like to offer image personalisation but with a promise not to retain the image past 30 days (or similar), is there any way to do that using line item properties as the image store with a native file upload?

What type of topic is this

Feature request
General discussion

Hey @lrotherfield :waving_hand:

Thanks for flagging this. I’m going to check on this internally before giving you a definitive answer, just to double check things on our end here.

From the public docs side, line item properties can store uploaded file references and those can show as /uploads/ CDN links, but I’m not seeing a documented merchant-facing TTL or deletion flow for those native uploads.

For now, if you need guaranteed deletion after a fixed period, the safer pattern would be storing the uploaded image in your own/app-managed storage, saving only a reference as the line item property, and applying your own deletion lifecycle there. I realize that’s not super ideal though.

I’ll loop back once I can confirm things on our side.

Hey @Alan_G,

Did you manage to confirm things on your side?

Cheers
Luke

Hey @lrotherfield -

I was able to confirm this on our end. There isn’t currently a configurable lifetime or automatic deletion policy for files uploaded natively as line item properties, so there isn’t a 30-day retention setting you can rely on at the moment unfortunately.

That said, one workaround you could use is when an upload is attached to an order, deleting the corresponding line item property from that order should also remove the underlying uploaded file. However, this isn’t an automated retention mechanism and doesn’t cover the broader management gap, such as uploads that never reach a completed order.

For a guaranteed 30-day retention policy, the safest option is still app-managed storage with an automatic lifecycle rule, while saving only a reference in the line item property.

I’ve passed your examples along to our team here too. I can’t guarantee any changes on our side, but did want to let you know I’ve passed your feedback on.

Let me know if I can clarify anything on our end here - happy to help.