Merchant app

Shopify

Connect a store without pasting a key.

Not yet on the Shopify App Store — that listing is still in progress. Today a store connects directly from your host's own admin console, and everything below is what that connection actually does.

Connecting a store

  1. In your admin: Settings → Integrations → Connect a Shopify store, and enter the shop's domain.
  2. Shopify shows its own consent screen, listing two permissions — nothing more is asked for.
  3. You land back on Integrations with the store connected.
  4. In the store's own admin, under Online Store → Themes → Customize → App embeds, switch on Try it on — or drop the block into the product template directly. This step is not required for the button to appear on older themes, but it is the supported placement going forward.

The merchant never sees or pastes a key. Between steps 2 and 3, the connection:

  • exchanges Shopify's OAuth code for an access token and encrypts it before storing it,
  • mints a publishable key for the store and seeds its origin allowlist from the domains Shopify reported,
  • puts the storefront widget on the storefront,
  • syncs the catalogue into your product list,
  • registers the webhooks that keep the connection honest when a merchant uninstalls.

Why only two permissions

The consent screen asks for read_products (so a shopper on a product page is looking at a garment this workspace actually holds) and write_script_tags (so the button can appear on the page). Nothing reads orders, customers or themes.

How a request from that storefront is authenticated

A shopper on a connected Shopify store never sees a publishable key in the page at all. The storefront's own app proxy forwards the try-on request with Shopify's signature attached, which proves it came from that shop — the same assurance a secret key would give, without a storefront needing a backend of its own. That signed request is traded for a short-lived session token scoped to one shopper, one shop and one origin — the same session mechanism described on the storefront widget page, minted automatically here instead of by your own server.

Uninstalling

Uninstalling in Shopify clears the stored access token, removes the injected button and revokes the store's publishable key. The connection record itself stays, so reconnecting later is a returning store rather than a new setup.