MockupFlow.AI
Why MockupFlow How It Works Features FAQ Contact
Join Waitlist

Privacy Policy

Effective Date: April 22, 2026

  • 1. Overview
  • 2. Local-First Architecture
  • 3. Data We Collect
  • 4. Data We Do NOT Collect
  • 5. Third-Party Services
  • 6. API Keys & Credentials
  • 7. Etsy Platform Data
  • 8. Shopify Platform Data
  • 9. Cookies & Analytics
  • 10. GDPR & Your Rights
  • 11. Data Retention
  • 12. Children's Privacy
  • 13. Open-Source Licensing
  • 14. Changes to This Policy
  • 15. Contact & DPO

This Privacy Policy describes how MockupFlowAI ("we", "us", "our") handles information when you use our desktop application and website.

1. Overview

MockupFlowAI is a local desktop application. It runs entirely on your machine. We are committed to minimal data collection. The core application does not require an internet connection to function, except when communicating with third-party APIs that you configure yourself (e.g., Etsy OAuth, cloud storage).

Key Principle: Your shop data, designs, product content, and API credentials remain on your local machine at all times. We do not operate cloud servers that process or store your marketplace data.

2. Local-First Architecture

All processing happens on your computer:

  • Mockup rendering is performed locally via Adobe Photoshop's scripting engine.
  • Database storage uses a local SQLite file on your filesystem.
  • Etsy API connections are made directly from your machine using your own OAuth credentials.
  • PDF generation and image processing are performed locally.
  • Third-party service connections are made directly from your machine. We do not proxy these requests.

3. Data We Collect

3.1. License Validation

To validate your software license, we collect:

  • License key — the key you purchased
  • Hardware fingerprint — a SHA-256 hash derived from your machine's MAC address, hostname, OS, and CPU identifier. This is used solely to enforce device limits per your license tier.

This data is sent to our licensing server (Supabase) and is the only data that leaves your machine to our servers.

3.2. Payment Information

When you purchase a license, payment is processed by Lemon Squeezy (our merchant of record, powered by Stripe). They collect your name, email, billing address, and payment method. We receive your name, email, and order details (product, amount, date) but never your full credit card number or PayPal credentials. This data is used to provision your license and send purchase receipts.

3.3. Waitlist / Contact Forms

If you submit your email via our website waitlist form, we collect your email address via Web3Forms. This is used solely to notify you about product availability. You can unsubscribe at any time.

4. Data We Do NOT Collect

We do not collect, transmit, or store:

  • Your designs or generated artwork
  • Your product listings, titles, or descriptions
  • Your shop data, sales data, or customer information
  • Your API keys or marketplace credentials
  • Your research data or niche analysis results
  • Usage analytics or telemetry from the desktop application
  • Browsing history or keystrokes

How uploads work: When you publish a listing, your design files and listing content are transmitted directly from your device to the destination platform (Etsy, Shopify, Printify, or Gelato) using your own OAuth token or API key. MockupFlowAI servers never receive, proxy, cache, or store your artwork, listing text, or any platform content. All uploads are peer-to-peer between your machine and the platform's API endpoint.

5. Third-Party Services

MockupFlowAI integrates with third-party services that have their own privacy policies. When you use these integrations, data flows directly between your machine and the third-party service:

5.1. Payment Processing

All purchases are processed by Lemon Squeezy (powered by Stripe), which acts as our merchant of record. When you purchase a license, Lemon Squeezy collects your payment information (credit card, PayPal), billing address, email, and name. We do not have access to your full payment details. See Lemon Squeezy Privacy Policy and Stripe Privacy Policy.

5.2. Software Integrations

The following services are accessed directly from your machine using your own credentials:

  • Etsy (Open API v3, OAuth2 PKCE) — Product and order management. Etsy Privacy Policy
  • Shopify (Admin GraphQL API, OAuth2) — Product and order management. Shopify Privacy Policy
  • Printify (REST API) — Print-on-demand fulfillment. Printify Privacy Policy
  • Gelato (REST API) — Global print fulfillment. Gelato Privacy Policy
  • Google Trends (Trend analysis) — Google Privacy Policy
  • RapidAPI (Trademark checking) — RapidAPI Privacy Policy
  • Supabase (License validation) — Supabase Privacy Policy

5.3. Optional Third-Party AI Services

When you provide your own API keys for optional AI features (design generation, SEO writing), the Software connects directly from your machine to the AI provider you have configured. MockupFlow does not proxy, store, or log these requests — the design prompt or text payload goes from your device straight to the provider’s endpoint, and the response returns to your device. AI providers supported via “bring your own key”:

  • OpenRouter (multi-model router for LLMs — SEO copy, listing titles) — OpenRouter Privacy Policy
  • OpenAI (GPT Image generation, GPT-4 family LLMs) — OpenAI Privacy Policy
  • Replicate (Flux / Recraft / SDXL image generation) — Replicate Privacy Policy
  • Ideogram (Ideogram V3 image & layerize text APIs) — Ideogram Privacy Policy
  • Black Forest Labs (BFL Direct) (optional FLUX provider, cheaper at 4K) — BFL Privacy Policy
  • Local LLM (Ollama, LM Studio, mflux) — Runs entirely on your own machine. No data leaves your device. No third-party privacy policy applies.

You are responsible for reviewing the privacy policies of any third-party AI services you choose to connect, and for ensuring your own use of those services complies with the rights of third parties whose content you may submit as inputs.

6. API Keys & Credentials

All API keys and OAuth tokens are:

  • Stored locally in your SQLite database
  • Encrypted at rest using Fernet symmetric encryption (AES-128-CBC)
  • Never transmitted to MockupFlow servers

You are responsible for the security of your own API keys. We recommend keeping your database backups in a secure location.

7. Etsy Platform Data

When you connect your Etsy shop via OAuth, MockupFlowAI accesses certain Etsy data to provide its services. With respect to this data, MockupFlowAI acts as a service provider (data processor) to you, the Etsy seller (data controller), and processes such data solely to fulfill the services described in our Terms of Service.

7.1. OAuth Scopes & Justification

MockupFlow connects to Etsy’s Open API v3 using OAuth 2.0 with PKCE. The exact scope string sent during authorization is:

listings_r listings_w listings_d shops_r transactions_r transactions_w

Each scope is the minimum required to support a specific feature. The table below documents what every scope grants and why it is requested.

Scope What It Grants Why MockupFlow Needs It
listings_r Read the shop’s listings (titles, descriptions, tags, prices, images, inventory, variations). Powers the Listing Health Score, SEO Optimizer, Cross-Listing, Repricing Engine, and Listing Snapshots features, which analyse existing listings and propose improvements.
listings_w Create draft listings and update existing listings (titles, descriptions, tags, prices, images, inventory, variations). Powers the Launch Pad publisher, One-Click Pipeline, Composer bundle publish, and Bulk Editor. Every new listing is created as a draft; nothing goes live until you manually publish it from the Etsy Seller Dashboard.
listings_d Delete listings from the shop. Powers the Bulk Editor cleanup workflow and the “Undo publish” safety net for removing a draft listing created in error. Deletions are always initiated by you; MockupFlow never deletes listings automatically.
shops_r Read the shop profile (shop name, shop ID, sections, policies, shipping profiles, return policies, production partners, taxonomy). Required to route listings to the correct shop, to pre-fill shipping profiles and return policies when creating drafts, and to match Etsy taxonomy IDs during SEO optimisation.
transactions_r Read orders and shipping receipts for the shop. Powers the Unified Orders dashboard, Revenue Analytics, and Packing Slip generation. Order data is used solely to display your own orders back to you.
transactions_w Update order/receipt records — specifically, add tracking numbers and mark receipts as shipped. Powers the Gelato → Etsy shipment sync and the manual “Mark as shipped” action. Writes are limited to tracking/fulfilment fields; MockupFlow does not modify prices, buyer details, or payment status.

Scopes we do NOT request: MockupFlow does not request elevated scopes such as email_r, profile_r, profile_w, favorites_r, favorites_w, feedback_r, recommend_r, recommend_w, address_r, address_w, billing_r, or cart_r. No buyer profile information, addresses, or billing data is accessed beyond what is strictly necessary for fulfilment.

7.2. How Etsy Data Is Stored

All Etsy data accessed through the API is stored exclusively on your local machine in the application's SQLite database. We do not transmit, copy, or store Etsy data on our servers. OAuth tokens are encrypted at rest using Fernet symmetric encryption.

7.3. Data Freshness & Caching

In compliance with the Etsy API Terms of Use:

  • Listing data (titles, descriptions, prices, images) is cached for no more than 6 hours
  • Other Etsy data (shop info, taxonomy, orders) is cached for no more than 24 hours

Cached data is refreshed from the Etsy API on subsequent access after expiration.

7.4. Disconnecting Your Etsy Account

You can revoke MockupFlow’s access at any time, either from inside the application (Settings → Integrations → Etsy → Disconnect) or directly from your Etsy account at etsy.com/your/apps. Upon disconnection:

  • Your OAuth access token and refresh token are immediately deleted from local storage
  • Cached Etsy data (listings, orders, shop info) is purged from the local database
  • Scheduled token-refresh jobs are cancelled
  • No Etsy data is retained after disconnection

7.5. Data Breach Notification

In the unlikely event that any Etsy member data accessed via the API is compromised or suspected to be compromised, we will promptly notify Etsy at dpo@etsy.com and the affected Etsy seller within 24 hours of discovery.

7.6. Active Compliance Assistance

To help you create listings that meet Etsy's Seller Policy and Intellectual Property Policy, MockupFlowAI runs the following checks locally on your machine before you publish:

  • Trademark screening — Every listing title, description, and tag is screened against a built-in database of 3,290+ registered brand marks across 26 commercial categories. Matches are flagged to you prior to publishing.
  • Design quality gate — Rendered designs pass through an automated quality check (resolution, DPI, color profile, transparency, artifact detection) to reduce low-quality submissions.
  • Draft-first publishing — All Etsy listings are created as drafts. Publication requires your explicit manual review and approval inside the Etsy Seller Dashboard.

These checks run entirely on your device — no listing data is transmitted to MockupFlowAI servers during screening. The features are tools to assist compliance; final responsibility for listing content remains with you as the seller.

8. Shopify Platform Data

When you connect your Shopify store via OAuth, MockupFlowAI accesses certain Shopify data to provide its services. With respect to this data, MockupFlowAI acts as a service provider (data processor) to you, the Shopify merchant (data controller), and processes such data solely to fulfill the services described in our Terms of Service.

8.1. OAuth Scopes & Justification

MockupFlow connects to Shopify’s Admin GraphQL API using OAuth 2.0. The exact scope string sent during authorization is:

write_products, read_orders, write_inventory, write_merchant_managed_fulfillment_orders

Each write_* scope implicitly grants its read_* counterpart. The table below documents what every scope grants and why it is requested.

Scope What It Grants Why MockupFlow Needs It
write_products Create, update, and delete products, variants, options, media, collections, and product metafields. Core publishing flow. Launch Pad, One-Click Pipeline, Composer bundle publish, and Bulk Editor all create draft products in your Shopify store. MockupFlow also writes SEO metafields and size-chart metafields onto the products it creates.
read_orders Read order data and the fulfillment orders attached to each order. Powers the Unified Orders dashboard (Shopify orders shown alongside Etsy, Printify, Gelato) and Revenue Analytics. Required for routing new orders to print providers. No order mutations are performed — write_orders is intentionally NOT requested.
write_inventory Update on-hand stock levels for variants at the merchant’s locations. Syncs stock-outs reported by Printify/Gelato back to Shopify so customers see accurate availability. Also used by the Bulk Editor when you manually adjust inventory.
write_merchant_managed_fulfillment_orders Create fulfillments and update tracking information for orders the merchant fulfills themselves. Modern replacement for legacy write_fulfillments. Marks Shopify orders as shipped and pushes tracking numbers from Printify/Gelato so the customer receives the “your order shipped” email and the order leaves the “unfulfilled” state. The merchant retains fulfillment ownership; MockupFlow is not registered as a Shopify fulfillment service.

Scopes we do NOT request: MockupFlow does not request payment, transaction, discount, theme, storefront, draft-order, marketing, or customer-list scopes. Customer PII reads are limited to the shipping name and address required to produce a print-on-demand label — never billing data, payment methods, or marketing preferences.

8.2. How Shopify Data Is Stored

All Shopify data accessed through the API is stored exclusively on your local machine in the application’s SQLite database. We do not transmit, copy, or store Shopify data on our servers. OAuth access tokens are encrypted at rest using Fernet symmetric encryption.

8.3. Disconnecting Your Shopify Store

You can revoke MockupFlow’s access at any time from inside the application (Settings → Integrations → Shopify → Disconnect) or directly from your Shopify admin under Settings → Apps and sales channels. Upon disconnection:

  • Your OAuth access token is immediately deleted from local storage.
  • Cached Shopify data (products, orders, locations) is purged from the local database.
  • The shop/redact compliance webhook (see §9.4) confirms removal of any remaining shop-side records 48 hours after uninstall.

8.4. Mandatory GDPR Compliance Webhooks

Per the Shopify App Store requirements, MockupFlowAI is subscribed to three mandatory privacy/GDPR webhook topics. When Shopify or a merchant triggers one of these, our backend receives the request, verifies the HMAC-SHA256 signature against our application client secret, and either returns HTTP 200 within seconds (so Shopify does not retry) or HTTP 401 if the signature is invalid.

Webhook Topic Triggered When What MockupFlowAI Does
customers/data_request A customer of one of your stores asks for a copy of the personal data we hold about them. We acknowledge receipt within 5 seconds and respond with the requested data within the Shopify-mandated 30-day SLA. Because MockupFlow stores customer data only on your local machine (not on our servers), the typical response confirms that no central record exists; if you have synced order data into your local cache, you are expected to retrieve and forward that data to the customer.
customers/redact A customer asks the store owner to delete the personal data we hold about them, or the store owner asks on their behalf. We acknowledge receipt within 5 seconds and complete the redaction within the Shopify-mandated 30-day SLA. The audit log row tracks the request; the operator then redacts matching rows in their local SQLite cache via the in-app redaction workflow (Settings → Compliance).
shop/redact Sent 48 hours after a merchant uninstalls MockupFlowAI. Triggers permanent cleanup of any shop data we still hold. We acknowledge receipt within 5 seconds and immediately purge any remaining shop-scoped tokens, cached metadata, and audit-log entries within the Shopify-mandated 30-day SLA. Because the desktop app already wipes everything on disconnect, this webhook typically completes near-instantly.

Compliance webhook endpoints are publicly resolvable at https://mockupflow.ai/api/webhooks/shopify/{customers/data_request,customers/redact,shop/redact}. Each request is HMAC-verified before any audit row is written; invalid signatures return HTTP 401 and are not logged as compliance events. Audit records are retained for 7 years to demonstrate compliance with regulator audits and Shopify App Store policy.

8.5. Data Breach Notification

In the unlikely event that any Shopify merchant data accessed via the API is compromised or suspected to be compromised, we will promptly notify the affected merchant within 24 hours of discovery via the contact email associated with their MockupFlowAI account, and notify Shopify Partner Support within 72 hours per Shopify Partner Program Agreement requirements.

8.6. Active Compliance Assistance

The same on-device safety checks documented for Etsy in §8.6 (trademark screening, design quality gate, draft-first publishing) apply equally to Shopify publishing flows. All new Shopify products are created as drafts — nothing goes live in your store until you explicitly publish from the Shopify admin.

9. Cookies & Analytics

Our website (mockupflow.ai) may use basic analytics cookies to understand traffic patterns. The desktop application does not use cookies, tracking pixels, or any form of telemetry.

The Software includes an optional telemetry module (disabled by default) that, when explicitly enabled by you, sends anonymized usage statistics to help us improve the product. No personal data, designs, or business information is included in telemetry data. You can enable or disable this at any time from the Settings panel.

10. GDPR & Your Rights (EU)

As a company based in the European Union (Croatia), we comply with the General Data Protection Regulation (GDPR).

10.1. Legal Basis for Processing

  • Contract performance — License key validation and hardware fingerprinting (necessary to deliver the Software you purchased)
  • Legitimate interest — Security monitoring and license fraud prevention
  • Consent — Email marketing communications (waitlist, product updates). You can withdraw consent at any time.

10.2. Your Data Rights

Under GDPR, you have the right to:

  • Access — Request a copy of all personal data we hold about you
  • Rectification — Correct any inaccurate personal data
  • Erasure — Request deletion of your personal data ("right to be forgotten"). We will delete your license activation records, hardware fingerprints, and email from our systems within 30 days of request.
  • Portability — Receive your data in a structured, machine-readable format (JSON)
  • Object — Object to processing of your personal data for marketing purposes
  • Restrict — Request restriction of processing in certain circumstances

To exercise any of these rights, contact us at info@mockupflow.ai. We will respond within 30 days as required by GDPR.

10.3. International Data Transfers

License validation data is stored on Supabase servers. When you use third-party APIs, data flows directly from your machine to those providers. We do not control or process this data. Refer to each provider's privacy policy for their data transfer practices.

11. Data Retention

  • License records — Retained for the duration of your license plus 12 months after expiration
  • Hardware fingerprints — Retained only while your license is active; deleted upon deactivation or erasure request
  • Payment records — Retained by Lemon Squeezy/Stripe according to their retention policies and applicable tax law requirements
  • Email addresses (waitlist) — Retained until you unsubscribe or request deletion
  • Backblaze uploads — Auto-deleted after 36 hours

12. Children's Privacy

MockupFlowAI is not intended for use by individuals under the age of 18. We do not knowingly collect personal information from children. If you are a parent or guardian and believe your child has provided us with personal information, please contact us to have it deleted.

13. Open-Source Licensing

MockupFlowAI uses open-source libraries under permissive licenses (MIT, BSD, Apache 2.0). These libraries do not collect personal data independently. All open-source components used in this Software are commercially licensed and permit redistribution. A full list of third-party components is available in the Software's documentation.

14. Changes to This Policy

We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. For significant changes that affect your data rights, we will provide notice via email (if you are a registered user) or via a notification in the Software. Continued use of the Software after changes constitutes acceptance of the updated policy.

15. Contact & Data Protection

If you have questions about this Privacy Policy, want to exercise your data rights, or wish to file a complaint, contact us at:

Email: info@mockupflow.ai
Location: Croatia, European Union

If you are unsatisfied with our response, you have the right to lodge a complaint with the Croatian Personal Data Protection Agency (AZOP) or your local EU supervisory authority.



Last updated: April 22, 2026

MockupFlow

Desktop mockup studio for product sellers. Professional mockups with Adobe Photoshop, optimized listings, and direct publishing to your stores.

Privacy Policy · Terms of Service · info@mockupflow.ai

The term “Etsy” is a trademark of Etsy, Inc. This application uses the Etsy API but is not endorsed or certified by Etsy, Inc.

© 2026 MockupFlow.AI. All rights reserved.

We use cookies to analyze site traffic and improve your experience. No personal data is collected. See our Privacy Policy.