Privacy Policy

← Back to Home

1. Introduction

ReturnBoard ("we", "us", or "our") provides a Shopify embedded app that syncs return requests (RMAs) into a visual Kanban board. This Privacy Policy explains how we collect, use, store, and protect personal data when merchants use our app and related services (the "Service").

We process the minimum personal data required to operate the returns board. We do not use customer data for marketing, advertising, or resale. By installing the Service, the merchant agrees to this Privacy Policy and our Terms of Service.

2. Information We Collect

2.1 Return and order data (including protected customer data)

To display return cards and sync status with Shopify, we process return and related order data from the merchant’s Shopify store, including:

  • Shopify Return ID, return name (for example #1031-R1), and order number
  • Customer name and email (Shopify Protected Customer Data Level 2, when approved)
  • Line items (title, SKU, quantity, price) and return reason / customer notes
  • Board and Shopify return status, priority, refund amounts, and tracking fields
  • Timestamps for creation, updates, and completion

2.2 Staff information

Merchants may add staff records so returns can be assigned inside the app:

  • Staff name and email address
  • Role and permissions within the app
  • Return assignment history
  • Optional workload / performance metrics derived from assignments

2.3 Usage and operational data

We automatically collect operational information needed to run and secure the Service:

  • Pages and features used inside the embedded app
  • Return actions (approve, decline, cancel, assign, complete, refund)
  • Webhook delivery and processing metadata (topic, shop domain, timestamps)
  • Error logs and performance metrics (we avoid writing customer PII into logs)

2.4 Authentication data

We store authentication data required for Shopify OAuth and sessions:

  • Shopify store domain
  • OAuth access tokens (restricted to the app runtime; secrets not in source control)
  • Session identifiers and expiry metadata

3. How We Use Information (purpose limitation)

  • Provide and maintain the returns Kanban board and related features
  • Sync returns with Shopify (webhooks and Admin API) and update return / refund status
  • Display customer name and email on cards so authenticated shop staff can identify RMAs
  • Assign returns to staff and show workload context
  • Send in-app or optional transactional notifications about return updates
  • Enforce plan limits, billing via Shopify Billing API, and security controls
  • Troubleshoot errors and improve reliability (aggregated / non-marketing use)
  • Comply with legal obligations, including Shopify GDPR webhooks and merchant data requests

4. Storage, security, and retention

Production data is hosted on Fly.io (primary region: EU Frankfurt) using PostgreSQL. Traffic uses HTTPS/TLS. Platform disk encryption and encrypted backups are provided by the hosting provider. Test and production environments are separated (for example local SQLite vs production Postgres).

We retain shop and customer-related data while the app remains installed and only as long as needed to provide the Service. After uninstall or Shopify shop/redact, we purge shop-scoped data. Merchants can also use in-app export and deletion tools.

  • Encryption in transit (TLS) and encryption at rest via hosting infrastructure
  • Shopify OAuth; shop-scoped sessions; staff roles limiting who can view returns
  • Access logging / audit events for sensitive app actions where implemented
  • Data loss prevention practices: minimize PII in logs; no sale of customer data

5. GDPR, CCPA, and customer rights

We support merchants’ compliance with GDPR and similar laws. End customers typically exercise rights through the merchant; we honor Shopify mandatory webhooks and merchant-initiated export/deletion.

  • Access / export: Shopify customers/data_request webhook and in-app export (/app/export)
  • Correction: merchants can update data in Shopify; board sync reflects Shopify as source of truth
  • Deletion / redaction: customers/redact and shop/redact webhooks; in-app data deletion (/app/data-deletion)
  • Uninstall: app/uninstalled triggers purge of shop-scoped data (sessions and returns board data)
  • Restriction / objection: contact us; we limit processing to Service operation and legal duties

Contact jasonhh5276@gmail.com for privacy requests. We aim to respond within 30 days. We do not sell personal data. We do not use customer data for advertising or automated decisions with legal or similarly significant effects.

6. Sharing and sub-processors

We do not sell, rent, or share personal data for marketing. We share data only as needed to operate the Service:

  • Shopify: authentication, Admin API, Billing API, and webhook delivery
  • Fly.io: application hosting, database, and infrastructure
  • Optional: Sentry (error monitoring without intentional PII) and Resend (transactional email if enabled); legal disclosures when required by law

7. Cookies and tracking

The marketing site and embedded app use essential cookies / session storage for authentication and preferences. We do not use advertising cookies or sell data derived from cookies.

You can control cookies in your browser. Disabling essential cookies may prevent login or session continuity.

  • Session cookies / storage: maintain authenticated Shopify session
  • Preference cookies: remember UI settings such as language where applicable

8. Changes to this Policy

We may update this Privacy Policy from time to time. We will post the updated policy at https://return-board.fly.dev/privacy-policy and revise the "Last updated" date. Material changes may also be noted in the app or Partner listing.

9. Contact Us

Privacy and data protection contact for ReturnBoard:

Email: jasonhh5276@gmail.com — Privacy Policy URL: https://return-board.fly.dev/privacy-policy — GDPR summary: https://return-board.fly.dev/gdpr