We believe your store data belongs to you. Each app is built with minimal permissions, and we're upfront about where data lives — whether it's in your browser, on our servers, or shared with a third-party service you've chosen to connect.
Our Privacy Principles
🔑
Minimal Permissions
Each app requests only the Shopify access scopes it strictly needs to function. Nothing more.
🔌
Direct API Only
We talk to Shopify's API and your chosen integrations. No third-party analytics, no tracking pixels, no ad networks.
🚫
No Customer PII
We never collect or store your customers' personal information. Not names. Not emails. Not addresses.
🗑️
Clean Uninstall
Uninstall the app, and server-side data is deleted within 48 hours. No lingering data, no marketing emails.
What Each App Accesses — and Why
We follow the principle of minimal permissions. Each app requests only the Shopify access scopes it strictly needs to function. Here's a transparent breakdown.
🏪
Shop Information
Shop name, domain, and email — used for authentication, to identify your store when providing support, and for technical follow-up communications related to app functionality.
📦
Products & Inventory (read-only)
Product variants and inventory levels. The app reads this data to display stock counters on your storefront. It never modifies anything.
💡 How data is handled: Stock Counter injects a lightweight script into your theme via Shopify's Theme Extensions API. It reads inventory data in real-time and renders badges directly in the browser. No data is stored on our servers.
🏪
Shop Information
Shop name, domain, and email — for authentication, support, and technical follow-up communications related to app functionality.
📦
Products (read-only)
Product IDs and handles — so the app knows which product page a visitor is viewing. No product details, prices, or inventory data is stored.
⚠️ Server-side storage: This app stores anonymous visit records on our server to count visitors per product. Each visit is recorded with a hashed visitor identifier (not an IP address or personal ID), the product ID, and a timestamp. This data cannot be traced back to any individual. No customer names, emails, or personal information is ever collected or stored.
💡 How data is handled: Visitor Counter uses Shopify's Theme Extensions API to display a counter block on product pages. When a customer views a product, an anonymous visit is recorded server-side. The counter then displays aggregated counts (e.g., "24 people viewed this recently") directly in the browser. Your theme settings (display text, styling, thresholds) are stored within your Shopify theme — not on our servers.
🏪
Shop Information
Shop name, domain, currency, and email — for authentication, currency formatting, support, and technical follow-up communications related to app functionality.
📖
Read Products
Product titles, variant names, SKUs, prices, costs, images, product types, vendors, tags, and inventory policies. Displayed in your dashboard for browsing and management.
✏️
Write Products
Enables inline editing of prices, costs, SKUs, product status, types, vendors, tags, and collections — directly from the dashboard without leaving the app.
📦
Read & Write Inventory
Reads stock quantities across all locations. Write access allows you to adjust quantities inline, enable inventory tracking at new locations, and toggle selling policies.
📍
Read Locations
Location names and IDs — so you can switch between warehouses, stores, and fulfillment centers in the dashboard.
📢
Read & Write Publications
Lets you view and control which sales channels (Online Store, POS, etc.) each product is published to, directly from the Publishing column.
⚠️ Server-side storage: This app stores certain data on our servers (Supabase) to power features that require persistence across sessions:
- Activity Log — Records who made changes, what was changed, and when. Includes staff name, action type, field names, and old/new values. Used for accountability and audit trails.
- Email Alert Settings — Your email address, timezone, preferred send time, and low-stock threshold. Used to send daily inventory digest emails. You can unsubscribe at any time.
- API Keys — Hashed API keys for the external inventory API. The raw key is shown once at creation and never stored. Only the cryptographic hash is retained for validation.
💡 How data is handled: Product and inventory data is fetched directly from Shopify's API and displayed in your browser. The dashboard uses browser cache (session storage and IndexedDB) for fast load times. Your UI preferences (column settings, dark mode, thresholds) are stored in localStorage. Product and inventory data itself is not stored on our servers — only the activity log, alert configurations, and API key hashes described above.
🏪
Shop Information
Shop name, domain, and email — for authentication, support, and technical follow-up communications related to app functionality.
📖
Read & Write Products
Reads product titles, SKUs, and variant data to map Shopify products to ECCANG WMS warehouse SKUs. Write access is used to sync product updates bidirectionally.
🛒
Read & Write Orders
Reads new orders to push them to ECCANG WMS for fulfillment. Write access is used to update order status and attach tracking information once ECCANG WMS ships the order.
📦
Read & Write Inventory
Syncs stock levels between Shopify and ECCANG WMS warehouses. When ECCANG WMS receives or ships stock, inventory quantities are updated in Shopify automatically.
🚚
Read & Write Fulfillments
Creates fulfillment records in Shopify when ECCANG WMS ships an order, including tracking numbers and carrier information.
↩️
Read & Write Returns
Manages return-to-warehouse workflows. When a return is initiated in Shopify, the app can create an inbound return notice in ECCANG WMS.
📍
Read Locations
Location names and IDs — so you can map Shopify locations to ECCANG WMS warehouse codes.
⚠️ Third-party data sharing: This app is designed to sync data between Shopify and
ECCANG WMS (易仓), a third-party warehouse management system. When you connect your ECCANG WMS account and enable sync, the following data is sent to ECCANG WMS:
- Order data — Order line items, SKUs, quantities, and shipping addresses are pushed to ECCANG WMS for fulfillment processing.
- Product data — SKU codes and variant information are shared to maintain product mappings.
- Return requests — Return details are sent when processing warehouse returns.
This data sharing only occurs when you explicitly connect your ECCANG WMS account and enable auto-sync. ECCANG WMS has its own privacy policy governing how it handles your data. We recommend reviewing it at eccang.com.
⚠️ Server-side storage: This app stores the following on our servers to maintain sync state:
- Sync mappings — Product, order, warehouse, and shipping mappings between Shopify IDs and ECCANG WMS codes.
- ECCANG WMS credentials — Your ECCANG WMS API domain, app key, and app token (encrypted) so the app can communicate with ECCANG WMS on your behalf.
- Sync logs — A log of sync actions (module, direction, status, errors) for troubleshooting. Logs are automatically pruned after 30 days.
💡 How data is handled: ECCANG WMS Sync acts as a bridge between Shopify and your ECCANG WMS warehouse account. Orders flow from Shopify → our server → ECCANG WMS. Fulfillment and tracking data flows from ECCANG WMS → our server → Shopify. Our server processes and routes data but does not use it for any purpose other than powering the sync you've configured. Your sync settings, language preference, and connection status are stored in our database. The dashboard UI is rendered in your browser using data fetched in real-time.
Technologies We Use
Our apps use standard, privacy-respecting web technologies:
- Browser Local Storage — Stores your display preferences, theme settings, and column configurations. Stays on your device.
- Session Storage & IndexedDB — Temporarily caches inventory data for fast load times. Clears automatically when you close your browser or after 10 minutes.
- Shopify Theme Extensions API — Apex Stock Counter and Apex Visitor Counter use Shopify's official extension system. No unauthorized code injection.
- Supabase — Used by Apex Inventory Management for server-side storage of activity logs, alert configurations, and API key hashes. Hosted on secure, SOC 2 compliant infrastructure.
- Turso — Used by Apex Visitor Counter for storing anonymous visit records. Edge-hosted SQLite database.
- Resend — Used by Apex Inventory Management to deliver daily inventory digest emails. Email tracking (open/click tracking) is explicitly disabled.
- OpenWidget Chat — Our support chat widget uses a single cookie to function. You can reject it — we just won't be able to chat with you.
What We Don't Do
- We don't collect or access your customers' personal information.
- We don't use third-party analytics, tracking pixels, or ad networks.
- We don't sell, share, or rent any data to anyone.
- We don't use your data for advertising, profiling, or any purpose beyond powering app features.
- We don't send marketing or promotional emails — not during use, not after uninstall. Ever.
- We don't track email opens or clicks in digest emails.
Technical Communications
We may send you technical emails related to your use of our apps. These include:
- Post-install check-ins — A brief email after installation to ensure the app is working correctly and to offer setup assistance if needed.
- Post-uninstall feedback requests — A one-time email after uninstallation to ask if you encountered any technical issues. If something is broken, we want to fix it for everyone.
- Replies to existing conversations — If you've previously contacted us via email or chat, we may follow up on unresolved issues regardless of install status.
- Critical bug or security notices — In rare cases, we may contact you about a bug or security issue that affected your store while the app was installed.
These communications are strictly technical and service-related. They will never contain marketing, promotions, upsells, or product announcements. If you'd prefer not to receive even technical follow-ups, you can let us know and we'll respect that immediately.
Data Sharing
We do not share your information with third parties, with one intentional exception:
Apex ECCANG WMS 易仓 Sync — When you connect your ECCANG WMS account and enable sync, order and product data is sent to ECCANG WMS (易仓) as described above. This data sharing is the core purpose of the app and only occurs with your explicit configuration. No data is shared with ECCANG WMS unless you connect your account.
Beyond this, we may disclose information if required by law, such as in response to a valid subpoena or court order.
Data Retention & Deletion
We retain basic shop information (name, domain, email) while the app is installed — for authentication, support, and technical communications as described above. When you uninstall any Apex app, all associated server-side data (sync mappings, activity logs, alert configurations, API keys, anonymous visit records) is deleted from our systems within 48 hours. We may retain your shop email address for up to 14 days after uninstall solely to send a one-time technical follow-up. After that, all contact information is permanently deleted. Browser-stored data (cache, preferences) remains on your device until you clear it.
Your Rights
You have the right to:
- Access any information we hold about your store.
- Request correction of inaccurate data.
- Request complete deletion by uninstalling the app or contacting us.
- Opt out of technical follow-up emails by replying or contacting us — we'll honor it immediately.
- Unsubscribe from email alerts at any time (via the link in every email or from the app settings).
- Revoke or delete API keys at any time from the Apex Inventory Management settings.
- Disconnect third-party services (ECCANG WMS) at any time — data sharing stops immediately.
- Clear all locally stored data at any time via your browser settings.
Changes to This Policy
We may update this policy to reflect changes in our apps or for legal reasons. When we do, the "Last Updated" date will change. For significant changes, we'll make reasonable efforts to notify you.
Contact
Questions about privacy? We're an open book. Use the chat widget below to reach Arda directly — we typically respond within a few hours.