Shopify app access scopes
What read_customers, read_orders, and write_products let an app see
Direct answer. Shopify access scopes are named permissions that control which store data an app can read or write. read_customers covers Customer records (and, where B2B is enabled, Company and CompanyLocation) plus Segment. read_orders covers Order, Fulfillment, OrderTransaction, AbandonedCheckout, and DeliveryCarrierService for orders created within the last 60 days. read_all_orders is used with an order scope so the app can reach orders outside that 60-day window; Shopify has to approve the app for that scope. write_products covers Product, ProductVariant, Collection, and ResourceFeedback, and a write scope includes read of the same resources. Confirm the live table on shopify.dev; this page is not legal advice.
Staff Access Audit Guard (Shopify App Store · Write a review) reviews installed app access, granted scopes, staff access records, and ownership evidence without reading customer or order data. It classifies each granted scope and flags protected customer-data and broad-write access. This page explains what those scope names mean and where a store owner reviews them — not the scored audit job.
Related: Agentic Catalog by momiji — Crawler rules and complete product JSON-LD for shopping agents.
Free check first: App access scope reader runs in your browser and sends nothing. Paste an app's access scopes and see which touch customer data or can write.
The four names, from Shopify’s scope table
The rows below paraphrase the authenticated-scope table on Shopify API access scopes. They are not a complete catalogue of every scope an app might hold.
| Scope | What Shopify documents that it covers |
|---|---|
read_customers |
Customer; Company and CompanyLocation where B2B is enabled; Segment |
read_orders |
AbandonedCheckout, Fulfillment, Order, OrderTransaction, DeliveryCarrierService — orders created within the last 60 days |
read_all_orders |
All relevant orders rather than the default 60-day window; used with read_orders or write_orders; Shopify approval required |
write_products |
Product, ProductVariant, Collection, ResourceFeedback (write includes read of the same resources) |
Declaring a scope in an app’s configuration is not the same as the merchant having granted it. Shopify documents that a scope takes effect only after it is approved on the store, and that optional scopes are granted separately after installation. Developers can query currentAppInstallation and its accessScopes field to see what an install actually holds.
How a store owner reviews installed app permissions
In Shopify admin, go to Settings > Apps, open each installed app, and read its Activity and permissions section (the Admin API areas it can view or edit) and its Privacy section (which customer data categories it can access). Shopify’s 11 March 2026 changelog, Track app activity and permissions from Settings, describes Admin API activity, data privacy, and app history on that screen. Uninstalling an app revokes its access; see the Help Center page Protecting customer personal information in apps.
That native view is per app and point-in-time. Classifying every granted scope on every install, without opening customer records, is the sibling job on audit Shopify app scopes for customer data access.
What this page is not
- Not a score, a security attestation, or a reading of customer or order payloads.
- Not a substitute for the live shopify.dev access-scope table.
- Not the store-wide scope-classification audit. That URL is app scopes for customer data.
- Not staff leftover-Admin scoring. That path is staff permissions checklist.
Related pages
- App access scope reader — paste scope names and see which touch customer data or can write
- Audit Shopify app scopes for customer data access
- Score installed app access risk
- Access audit without reading customer or order data
- Shopify custom app permissions and re-approval
- Shopify API access scopes
- Staff Access Audit Guard
- Shopify apps hub
- Tools
Not legal advice. Confirm the live shopify.dev access-scope table and your Admin permissions screen before you treat a scope name as a legal finding.