Introduction
TreStack Bundles ("the App") shows bundle, quantity break, and volume discount offers on a Shopify store's product pages and applies them at checkout. It is built by TreStack ("we", "us") and runs at bndl.trestack.app. This privacy policy describes how personal information is collected, used, and shared when you install or use the App in connection with your Shopify store. For TreStack Timer and for trestack.app itself, see the main privacy policy at trestack.app/privacy.
For the personal information of your store's customers, you are the controller and we act as your processor (service provider): you decide to install the App, and we process that information only to run it for you. The data processing agreement at trestack.app/bundles/dpa sets out those terms.
Personal information the App collects
When you install the App, Shopify gives it access to your store through the access scopes it requests. They let it read and create the products and discounts behind your offers (read_products, write_products, read_discounts, write_discounts, read_cart_transforms, write_cart_transforms, read_publications, write_publications, read_inventory), read your orders to attribute revenue to your offers (read_orders), check that the app embed is on (read_themes), show offers in your markets and languages (read_markets, read_locales), keep offer images in your own Shopify Files (read_files, write_files), run its storefront analytics pixel (write_pixels, read_customer_events), and read product listings, stock, and subscription options on the storefront (unauthenticated_read_product_listings, unauthenticated_read_product_inventory, unauthenticated_read_selling_plans). The App does not request access to your customer records or to payments.
From your store we keep your shop domain and id, store name, contact email, currency and money format, main language, Shopify plan type (for example whether it is a development store), and the markets and languages you use; encrypted access tokens; your plan, subscription, and charge records as Shopify reports them, and the monthly added revenue figure usage based plans are billed on; the deals you create, their settings, translations, brand colours, and custom styles; and daily statistics per deal. If you send feedback from the App's Home page, we keep its rating, its text, and the reply email address if you choose to give one. If you cancel your plan, we also keep the reason you give.
About your store's orders: for an order that matches one of your deals, the App keeps the order id, its creation time and test flag, and for each matching line the product, variant, quantity, price, the discounts applied to it, and the App's own line property. These come from Shopify's orders/create webhook and, when the App is reinstalled, from a one time read of the last 60 days of orders. The webhook is set up so that Shopify leaves out every customer field: no customer name, email, phone number, or address reaches us, and none is requested in the 60 day read.
About your shoppers: the App's storefront pixel reports when a deal is viewed, when a deal is added to the cart, and when checkout starts, with a one way hash of Shopify's anonymous browser id in place of any identity. No shopper names, emails, addresses, or payment details reach us, and no profile of any visitor is built.
Technologies we use
- Browser storage: on your storefront the App sets no cookies. For a running A/B test it keeps a random id in the shopper's own browser (local storage, key bndl_sid) so a returning shopper sees the same offer. That id is not linked to the shopper and never leaves the browser
- Web pixel: a Shopify web pixel that runs only for shoppers who have allowed analytics under your store's cookie and consent settings (Shopify Customer Privacy). For a deal view, add to cart, or checkout started event it sends bndl-px.trestack.app the deal, offer, A/B variant, and product ids, a timestamp, and Shopify's anonymous browser id, which we store only as a one way hash. It never reads a name, email, phone number, address, or payment detail
- Order data: the order fields listed above, from Shopify's orders/create webhook and the 60 day read on reinstall, with every customer field excluded
- Log files: like any web server, ours records the IP address, browser type, and time of each request. We use this only to run and secure the service, never to identify shoppers, and it is deleted after about 14 days
How we use your personal information
We use the information collected from your store to provide the App and operate it: to show your offers and apply their discounts at checkout, to show you each deal's analytics and run your A/B tests, to bill your plan through Shopify, to answer your feedback and support requests, and to keep the service secure, including rate limits and abuse prevention.
We may write to your store's contact email about the App itself, such as billing, a change to this policy, or a security matter. We do not send marketing email, we do not sell or rent your information or your shoppers' information, and we do not use it for advertising or to train machine learning models.
Sharing your personal information
We share information only with the service providers that help us run the App, each only for the service it provides:
- Shopify
- The platform the App runs on. Its APIs, Functions, and billing run the App, Shopify bills your plan and any usage charges, and your offer images stay in your Shopify Files.
- Contabo
- Hosts the server the App runs on, in the United States. It is the same server that runs TreStack Timer.
- Cloudflare
- Carries requests to bndl.trestack.app and bndl-px.trestack.app and sees the IP address of each, as any network provider does. Its R2 storage also holds the App's nightly database backups, encrypted before they leave our server.
- We may also share information to comply with applicable laws and regulations, to respond to a subpoena, search warrant, or other lawful request, or to otherwise protect our rights, and we will tell you unless the law forbids it
- If TreStack or the App is sold or merged, your information moves with it under this policy
Your rights
If you are a resident of the European Economic Area, the United Kingdom, or a US state with a privacy law such as California or Virginia, you have the right to access the personal information we hold about you, to ask that it be corrected, updated, or deleted, to receive it in a portable form, and to object to processing we base on our legitimate interests. We honour these rights for every merchant. You can view and delete your deals inside the App; for anything else, write to us at the address below. You can also complain to your data protection authority. Shoppers should contact the store they bought from, which can ask us directly or through Shopify, and we respond within the time the law requires.
Your information is processed in the United States, outside Europe. Where it leaves Europe, the standard contractual clauses or another valid mechanism apply.
Retention: raw storefront pixel events are deleted after 45 days, hourly statistics after 7 days, webhook receipts after 7 days, and the working file of a 60 day order read after 8 days at most. Daily statistics and order line records are kept while the App is installed. When you uninstall, your access tokens are deleted at once, and Shopify's shop redaction request, sent 48 hours later, deletes all of your store's data from the App: the store record, deals, statistics, events, order lines, and feedback. A customer redaction request from Shopify deletes the App's records of that customer's orders. A customer data request is answered with what the App holds about that customer, which is no personal information beyond order ids.
We protect your information with HTTPS on every connection (Cloudflare in Full strict mode, with an origin certificate on our server), access tokens encrypted with AES-GCM, the App's database encrypted at rest, a check of Shopify's signature on every request Shopify sends us, and key based server access. Nightly database backups are encrypted before they are uploaded to Cloudflare R2 and kept for 30 days. If a breach affects your store's data, we will tell you without undue delay.
The App is a business tool and is not directed at children under 16.
Changes
We may update this privacy policy from time to time to reflect changes to our practices or for other operational, legal, or regulatory reasons. The date above marks the current version, and for a material change we will tell you inside the App before it takes effect.
Contact us
For more information about our privacy practices, if you have questions, or if you would like to make a complaint, contact us by email or by mail using the details below.
- Entity
- TreStack is an early-stage startup and is not yet a registered company.
- Postal address
- 40 Nguyen Huu Tho, Hoa Cuong, Da Nang, Vietnam
- Privacy requests
- [email protected]
- Support
- [email protected]
Questions about this document go to [email protected] and are answered by the people who wrote the app.