Privacy Policy
Last updated: 2026-10-29
This Privacy Policy describes how Boxly: One Shipping Email ("the App", "we", "us"), operated by FOP Mykhailo Barkov, a sole proprietor registered in Ukraine, processes information when a merchant ("you") installs and uses the App on a Shopify store. It applies together with our Terms of Service, which include a Data Processing Addendum.
1. What the App does
When an order is shipped in several packages, the App waits until the order is fully shipped and then adds all tracking numbers to one shipment in your store. Shopify then sends your customer a single shipping update email. That email is sent by Shopify, from your store's own notification template and sender address. The App never sends email to your customers.
2. Information we process
We access the minimum data needed to provide this function, using the Shopify Admin API and the webhooks Shopify sends to the App. The App requests these Shopify permissions: read orders, read fulfillments, read and write merchant-managed fulfillment orders, and, optionally, read third-party fulfillment orders (only to recognise orders the App cannot change and tell you why).
| Data | Source | Why we need it |
|---|---|---|
Shop domain (e.g. example.myshopify.com) | Shopify, at installation | To identify your store and keep your data separate from other stores |
| Shopify access token for your store and the granted permissions | Shopify, at installation | To call the Shopify Admin API on your behalf |
Order IDs and order names (e.g. #1001) | Shopify Admin API, webhooks | To track which orders are waiting for consolidation and to show you an activity log |
| Fulfillment IDs, fulfillment status, fulfillment order status and delivery method type | Shopify Admin API | To decide whether an order is fully shipped by mail and which shipment to update |
| Tracking numbers, carrier names and tracking URLs | Shopify Admin API, webhooks | To combine them into one shipment and to recognise our own updates |
| Shipping email events in the order timeline (event type and time) | Shopify Admin API | To detect that your customer was already notified by another tool, so the App does not cause an extra email |
| App settings (on/off, waiting period, maximum wait, carrier label option, preview mode, skip-if-notified option) and the time of the last successful email template check | You, in the App | To run the App the way you configured it |
| Name of your active App plan | Shopify App Pricing (Shopify Partner API) | To apply your plan's monthly limit |
| Webhook receipts (webhook ID, topic, time received) | Shopify webhooks | To ignore duplicate deliveries of the same webhook |
| Background job records (shop domain, order ID, scheduled time) | The App | To run the consolidation check at the right time |
If you use the email template check, the template code you paste is processed only to check it and prepare a fixed version. It is not stored or logged.
3. Information we do not collect
The App does not request, read or store your customers' names, email addresses, postal addresses, phone numbers, or payment information. It does not request access to customer records.
Some data Shopify sends can contain more than the App needs:
- Webhook messages about shipments can contain fields about the shipment destination. Depending on the App's data access approval, Shopify may remove those fields before sending. The App reads only the order ID, the shipment name, tracking numbers and shipment status from these messages, and it does not store or log the rest of the message.
- Shopify's description of a shipping email event in the order timeline can mention the recipient. The App reads it in memory only to recognise which notification was sent and does not store or log it. Logs may record the notification type (for example "shipping update"), never a name or address.
We do not use cookies or tracking technologies on your customers' storefront. The App has no storefront component and no analytics or advertising tools.
4. How we use information
We use the information above only to:
- decide when an order is ready to be consolidated and update the tracking information of one shipment;
- show you the App's status, settings, plan usage and activity log in your Shopify admin;
- operate, secure and troubleshoot the App.
We do not sell or rent data, use it for advertising, build profiles, or use it for automated decisions with legal or similarly significant effects on individuals.
5. Plans and billing
Plans are billed by Shopify through your Shopify invoice. Payments are handled by Shopify; we never receive or store payment details. The App reads only the name of your active plan from Shopify, when it needs it, and does not store it.
6. Retention and deletion
| Data | Retention |
|---|---|
| Consolidation records (order ID, order name, tracking numbers, status) | Deleted automatically 90 days after the last update |
| Activity log entries | Deleted automatically 90 days after they are created |
| Webhook receipts | Deleted automatically after 7 days |
| Background job records | Deleted automatically within 7 days (finished jobs after 3 days); deleted at once on a customer erasure request (for the listed orders) and on a shop erasure request |
| Access token and session data | Deleted when you uninstall the App |
| App settings and all remaining data for your store | Deleted when we receive Shopify's shop erasure request (shop/redact), which Shopify sends 48 hours after you uninstall the App |
| Operational server logs | Kept by our hosting provider for the period of our hosting plan (currently up to 30 days). Logs record shop domains, order and webhook IDs and error messages; they contain no customer data |
| Operational alerts | Kept in the operator's private Telegram chat until the operator deletes them. Alerts contain store domains, plan names, counts, order IDs and names and error messages; they contain no customer data |
| Database backups (if enabled) | Kept by our hosting provider for up to 3 months under its backup schedule, then deleted |
When Shopify forwards a customer's erasure request (customers/redact), we delete the consolidation records, activity log entries and pending background jobs for the orders listed in that request.
When Shopify forwards a customer's data request (customers/data_request), the App adds an entry to the Activity page that lists what we hold for the listed orders (order name, tracking numbers, status), so you can answer your customer. We hold no customer profile data. If you need a copy of these records, contact us using the details below and we will send you an export.
7. Sharing and sub-processors
We do not share data with third parties except the service providers we need to run the App:
| Sub-processor | Purpose | Location |
|---|---|---|
| Railway Corp. | Hosting of the App (web server and background worker) and its PostgreSQL database | United States (US East) |
| Shopify Inc. and its affiliates | The platform the App runs on; sends the shipping emails; bills App plans | As described in Shopify's privacy policy |
| Telegram Messenger Inc. | Operational alerts to the operator of the App (installs, plan changes, errors, daily statistics). Alerts contain only store domains, plan names, counts, order IDs and names, and technical error messages; never customer data | As described in Telegram's privacy policy |
Shopify's processing is also covered by your own agreement with Shopify. We will update this list before we add or replace a sub-processor, as described in the Data Processing Addendum.
We may disclose information if required by law.
8. International transfers
The App and its database are hosted in the United States, and the App is operated from Ukraine. If you are in the European Economic Area, the United Kingdom or Switzerland, your data is transferred to these countries. Where required, these transfers are covered by the Standard Contractual Clauses approved by the European Commission (and the UK addendum), as described in the Data Processing Addendum.
9. Security
- Data in transit is encrypted: Shopify and the App communicate over HTTPS (TLS) only, and the App reaches its database over the hosting provider's encrypted private network.
- Our hosting provider encrypts its storage at rest.
- Requests from Shopify are verified with HMAC signatures before they are processed.
- The embedded App shows each store only its own data.
- Access to production systems is limited to the operator of the App, using accounts protected by two-factor authentication.
No method of transmission or storage is completely secure. If we learn of a security incident that affects your data, we will notify you and Shopify without undue delay.
10. Your rights
Depending on where you or your customers are located (for example, under the GDPR or CCPA), you may have rights to access, correct or delete personal data. Merchants can delete all App data by uninstalling the App. For any request, contact us using the details below. Customer requests should be made to the merchant, who can forward them through Shopify.
11. Changes to this policy
We may update this policy. We will post the new version at this address and update the "Last updated" date. For material changes, we will notify merchants in the App or by email.
12. Contact
FOP Mykhailo Barkov
Ukraine
Email: boxly.support@gmail.com