Why doesn't an option to mark products as private exist in Shopify?

Topic summary

Request for a native way to make customer-generated products truly private. Current Shopify storefront endpoints (e.g., products.json) publicly list all products—including variants and images—so “password-protect” apps don’t stop product data from being discoverable.

Impact reported: custom items (phone cases with names, pillows with faces, wedding invitations) can be viewed by anyone via these endpoints, raising privacy concerns.

Existing workaround: build intricate product setups linked to private metaobjects plus substantial custom code. This is cumbersome and error-prone compared to a built-in setting.

Proposed solution: a simple “private product” flag that keeps a product fully functional but only accessible via direct URL or authenticated API calls, and excluded from all general listing endpoints.

Clarifications: “Endpoints” are URLs returning data (often JSON). “API” (application programming interface) enables authenticated data access.

Status: multiple follow-ups request Shopify staff to explain why such a feature doesn’t exist or if it’s planned. Another participant signals strong agreement. No official response yet; issue remains open and unresolved.

Summarized with AI on January 9. AI used: gpt-5.

Hoping to get a response from someone in the Shopify staff.

I’ve been working on an app that allows store customers (with or without account) to generate personal products. The problem I’m having now is that I don’t want anyone else to be able to see these products.

This has been asked a lot, an often Shopify staff will point devs asking about this to one of these password-protect apps, but this does not really work as EVERY Shopify store has multiple endpoints that allow you to request a list of ALL products (like products.json)

You might not be able to order a product, but you can still see all if its information, like variants and images. I’ve seen multiple stores that use apps promoted by Shopify staff that allow for the generation of custom products, that leak personal information this way. Everything from phone cases with names, to throw pillows with kids’ faces on them, to wedding invites with loads of personal information.

There are some ways to get around this, by creating an intricate system of products and linked metaobjects (which can be private) and loads of custom code. But it would be so, SO much easier if there simply was an option to mark a product as private, meaning it should work exactly the same as any other product, but only be accessible via a direct URL or API calls, and NOT appear in any of these general endpoints.

Is there a specific reason why this option does not exist?

1 Like

Still hoping for a response

Is there really nobody at @Shopify_77 who can take a lookt at this (in my opinion major) issue?

HUGE ISSUE!!!