Legal

Shopify Permissions

Plain-language explanation of every Shopify access scope the EasyWithdraw app requests, what each permission is used for, and what the app deliberately does not request, published pursuant to Annex II of the Data Processing Agreement.

Last updated

Provider: R11N Ventures GmbH (the "Provider")
Service: EasyWithdraw. Shopify application for handling end-customer withdrawal declarations
Document type: Access-scope explanation pursuant to Annex II Part 1 of the Data Processing Agreement (the "DPA")
Last updated: 4 June 2026


Purpose of This Page

When you install EasyWithdraw, Shopify shows you a consent screen listing the permissions (called "access scopes") the app requests. This page explains, for each of those permissions, what Shopify grants, why the app needs it, and what the app does not do with it.

The app requests six scopes in total: four are read-only, and two grant write access (orders and returns) because cancelling, refunding, and creating return requests are the app's core job. The app requests no other scopes.

Permissions at a Glance

#PermissionWhat Shopify grantsAccessUsed for
1read_localesShop languages (ShopLocale)Read-onlyShowing the withdrawal form and emails in your store's language
2read_productsProducts, variants, collectionsRead-onlyConfiguring unreturnable-item rules and resolving their labels
3read_themesOnline Store themesRead-onlyDetecting whether the withdrawal form is installed in your theme
4read_customersCustomer recordsRead-onlyLinking a withdrawal to the customer record in your Shopify admin
5write_ordersOrders, transactions, fulfillments (last 60 days only)Read and writeLooking up orders for withdrawal validation; cancelling and refunding
6write_returnsReturnsRead and writeCreating return requests for fulfilled items

1. Shop Languages (read_locales)

FieldDetail
Scoperead_locales
Shopify API resourcesShopLocale
Access levelRead-only
What the app readsThe list of languages your store has published, and which one is the primary language
Why the app needs itThe withdrawal form, confirmation pages, and emails to your customers are shown in your store's language. The app reads your published languages once during setup to pick the right defaults
What the app does not doThe app never changes your store's language settings

2. Products and Collections (read_products)

FieldDetail
Scoperead_products
Shopify API resourcesProduct, ProductVariant, Collection
Access levelRead-only
What the app readsProduct titles and IDs, product types, vendors, tags, collections, and variant option names (such as "Size")
Why the app needs itWhen you configure rules for items that are exempt from withdrawal (for example made-to-measure goods), the app shows you pickers for your product types, vendors, tags, collections, and individual products. It also resolves the names of the items you selected so your rules stay readable, and suggests variant option names for size-based exemption settings
What the app does not doThe app never creates, edits, or deletes products, variants, collections, prices, or inventory

3. Theme Detection (read_themes)

FieldDetail
Scoperead_themes
Shopify API resourcesOnlineStoreTheme
Access levelRead-only
What the app readsThe list of your themes (name and role) and the JSON template and settings files needed to check whether the app's blocks are present, plus the list of installed sales channels
Why the app needs itDuring onboarding and on the status page, the app checks whether the withdrawal form block or embed is installed in your published theme, so it can tell you whether setup is complete and link you to the right spot in the theme editor. It also detects whether your storefront is a standard Online Store theme or a headless or POS setup, to show you the matching installation instructions
What the app does not doThe app never modifies, installs, or publishes themes or theme files
FieldDetail
Scoperead_customers
Shopify API resourcesCustomer
Access levelRead-only
What the app readsThe ID of the customer linked to an order for which a withdrawal was declared
Why the app needs itThe withdrawal detail page in the app links directly to the matching customer record in your Shopify admin, so you can jump to the customer with one click. Shopify only exposes the customer attached to an order if this permission is granted
What the app does not doThe app never browses, lists, exports, edits, or deletes your customer base, and does not read customer segments or company records

5. Orders, Cancellations, and Refunds (write_orders)

FieldDetail
Scopewrite_orders
Shopify API resourcesOrder, OrderTransaction, Fulfillment (write access includes read access)
Access levelRead and write, limited by Shopify to orders created within the last sixty (60) days
What the app readsThe order a customer references on the withdrawal form (looked up by order number, with the email checked against the order), its items, amounts, fulfillment and payment status, refund state, and a small sample of recent fulfilled orders to check whether your shipping setup records delivery dates
What the app writesOn the cancellation path, the app cancels the order and creates the refund; this happens automatically only if you enabled the automation, and otherwise only when you approve a withdrawal in the dashboard. The app also stores one app-owned configuration value (its own domain) on the app installation
Why the app needs itValidating a withdrawal declaration requires reading the order it refers to: the app checks that the order exists, that the email matches, that the withdrawal period has not expired, and which items are unfulfilled, so it can route the case to cancellation, return request, or manual review. Executing your decision (or your automation) requires writing the cancellation and the refund
What the app does not doThe app never requests access to your full order history (see "Permissions We Do Not Request" below), never edits order contents, and never creates orders

6. Return Requests (write_returns)

FieldDetail
Scopewrite_returns
Shopify API resourcesReturn (write access includes read access)
Access levelRead and write
What the app readsThe fulfillment line items of an order, to determine which items a return request can cover
What the app writesA standard Shopify return request for the withdrawn items, so the return appears in your Shopify admin's regular returns workflow
Why the app needs itWhen items have already been shipped, a withdrawal cannot be handled by cancelling the order. Instead the app creates a return request in Shopify (automatically only if you enabled the automation, and otherwise on your approval), keeping your returns process in one place
What the app does not doThe app never closes, declines, or deletes returns you manage yourself

Permissions We Do Not Request

  • No full order history. The app does not request the read_all_orders scope. Shopify therefore limits the app's order access to orders created within the last sixty (60) days.
  • No write access outside orders and returns. The app cannot modify your products, themes, customer records, or language settings; those scopes are read-only.
  • Nothing else. The app requests no scopes for checkouts, draft orders, discounts, marketing, analytics, fulfillment services, inventory, price rules, or shipping.

Note on Protected Customer Data

Shopify additionally gates access to order and customer fields (such as name and email address) through its protected customer data requirements, which apply on top of the scopes above. The app's access to and use of these fields is limited to the purposes described on this page and in Annex II of the DPA.

Note on GDPR Webhooks

Independently of the permissions above, Shopify sends every app the mandatory privacy webhooks (customers/data_request, customers/redact, shop/redact). These require no permission grant; the Provider's handling commitments are set out in §17 of the DPA.

Changes to This List

Adding a scope requires your renewed approval: Shopify shows the consent screen again before the app receives the new permission. The Provider updates this page whenever the requested scopes change, so this page is the up-to-date list of permissions referenced in Annex II Part 1 of the DPA.

We're launching soon

Our app is not listed yet, please reach out via chat or email at support@easywithdraw.eu

By accepting, you agree to our use of cookies and similar technologies to enhance your browsing experience and analyze site traffic. Read our Privacy Policy for more information.

Necessary (Security and functionality)Analytics (Improving our product)Marketing (Ads and retargeting)