Privacy Policy — Gold Bullion Live Pricing
Last updated:
Draft for legal review. This text has not yet been reviewed by a lawyer and may change before the app is published.
1. Who we are
Gold Bullion Live Pricing (“the app”) is a Shopify app published by Qode Bites (“we”, “us”). It reprices the variants of a jewellery store from gold rates supplied by Gold Bullion (goldbullioneg.com). This policy explains what the app stores about the Shopify stores that install it (“you”, the merchant). Contact: Qadi@qodebites.com. Postal address: [OWNER: publisher's legal name and postal address].
[OWNER: …] marks a point the owner must decide before publication.
2. What the app stores
- Your store's identity: its myshopify.com domain, its currency and that currency's decimal places, the name of your Shopify plan, whether the app is installed, and the dates of install and uninstall.
- Access to your store: the offline access token Shopify issues to the app (with its refresh token, expiry and granted scopes), used only by our server to call the Shopify Admin API. The app uses offline access only, so no staff member's name or e-mail address is stored.
- Your settings: market (country), markup, making charge, rounding, change threshold, safety-rail limits, kill switch, default karat, and your collection-to-karat mappings (collection ID and title).
- Catalogue data needed to price: product and variant IDs, the gold weight and karat the app read from your gbgold metafields, the last price the app wrote, the price last seen on Shopify, any price held back by a safety rail, a hash of the pricing inputs, and the status and reason of each variant.
- Original prices: the price and compare-at price of each variant captured before the app's first write (the snapshot), so they can be shown in the before-and-after preview and restored.
- Results of catalogue tasks you start: the before-and-after preview (including product titles and prices) and the shipping-weight import suggestions (product and variant titles, shipping weight). Only the newest three of each kind are kept.
- Operating records: sync runs (trigger, counts, reasons, errors), daily usage counters (variants under management, writes, safety rails tripped, variants skipped), the daily usage charges for Pro overage (day, amount, Shopify usage-record ID), bulk-operation records, Shopify API rate-limit samples, and webhook receipts (webhook ID, topic, store domain).
- Billing state: your subscription ID, plan, usage line-item ID, trial dates and when the subscription was last checked.
The app also reads and writes data inside your Shopify store: it reads your products, variants and collections and their gbgold.* metafields, and it writes variant prices, the gbgold.last_priced_at metafield, the gbgold metafield definitions themselves (created once when you install), the gbgold.gold_weight_g metafield when you confirm a weight import, and compare-at prices when you restore a snapshot. That data stays in your store and is governed by Shopify's terms.
3. What the app does not collect
- No customer data: no customer names, e-mail addresses, phone numbers or addresses.
- No orders and no payment data. The only access scope the app requests is write_products.
- No tracking of your storefront visitors, no analytics, no advertising. These public pages set no cookies.
- Some Shopify webhooks (for example app/uninstalled and shop/update) include your store's contact details. The app reads only what it needs from them (the store domain, currency and plan name) and does not store the rest.
Shopify's mandatory customers/data_request and customers/redact requests are answered and completed: the app holds no customer data to report or delete.
4. Why the app stores it
- To compute your variant prices from the gold rate, your settings and your metafields, and to write them to your store.
- To protect your prices: to apply the safety rails, show the before-and-after preview, list what needs your attention, and restore your original prices.
- To show the health of the app in your admin (last sync, priced, skipped and held variants and why).
- To bill your subscription through Shopify and count variants under management, the billing unit.
- To process each Shopify webhook once, and to meet Shopify's privacy-compliance requirements.
5. Where it is stored
All of it is stored in a PostgreSQL database on a single server that we operate on Amazon Web Services (Amazon Lightsail) in the AWS eu-central-1 region (Frankfurt, Germany). The database accepts connections only from the server itself; the app is reached over HTTPS. If your store is outside the European Union, this means your store data is processed in Germany.
Gold rates are fetched by our server from Gold Bullion (goldbullioneg.com). Those requests carry no information about your store: merchants never call Gold Bullion, and Gold Bullion receives no merchant data from the app.
6. Sub-processors
| Sub-processor | What for |
|---|---|
| Amazon Web Services (Amazon Lightsail, eu-central-1, Frankfurt) | Hosting of the app server and its database |
| Shopify | The platform the app runs in: authentication, Admin API, webhooks and billing. Its CDN (cdn.shopify.com) also serves the fonts and Polaris assets used by the app’s admin pages |
| [OWNER: e-mail provider that hosts the support mailbox] | Receiving and storing the support e-mail you send us |
Gold Bullion (goldbullioneg.com) supplies the gold rates and receives no merchant data, so it is not a sub-processor of your data.
7. How long it is kept
| Data | Kept until |
|---|---|
| Everything listed in section 2 | While the app is installed |
| Access tokens (sessions) | Deleted as soon as Shopify tells the app it was uninstalled (app/uninstalled); deleted again at shop/redact |
| Store record, settings, mappings, price ledger, sync runs, usage counters, usage charges, bulk-operation records, task results, rate references, original-price snapshot | Kept after uninstall so that a reinstall within 48 hours can still restore prices; deleted when Shopify sends shop/redact, 48 hours after the uninstall (nothing is deleted if you reinstalled in the meantime) |
| Webhook receipts | 30 days, and at shop/redact for your store |
| Background-job records that contain your store domain | Deleted automatically by the job queue: 7 days after the job finished, or after at most 14 days for a job that never ran (pg-boss defaults; the app sets no other retention) |
| Server logs (store domain, job outcomes) | [OWNER: log retention period on the server] |
| Database backups | [OWNER: whether backups are enabled and how long they are kept] |
| Gold rates | Shared market data, contains no store data; kept |
Restoring your original prices needs access to your store, so it must be done before you uninstall (Preview & approval → Restore original prices).
8. Your rights
You can see and change your settings and mappings in the app at any time. You can ask us for a copy of the data the app holds about your store, for a correction, or for its deletion before the automatic deletion described above, by writing to Qadi@qodebites.com from the store owner's e-mail address. We answer within [OWNER: response time, e.g. 30 days].
Depending on where you are, data-protection laws (for example the EU/UK GDPR, Egypt's Personal Data Protection Law No. 151 of 2020, or the personal data protection laws of Saudi Arabia and the United Arab Emirates) may give you further rights, including the right to complain to a supervisory authority. [OWNER: legal review of applicable laws and of the controller/processor roles.]
9. Security
- Traffic to the app is encrypted with HTTPS.
- Every webhook is verified with Shopify's HMAC signature before it is processed.
- The database listens only on the server itself; its password and the app's secrets are kept in a configuration file readable only by the app's user.
- Shopify access tokens expire and are refreshed; they are deleted on uninstall.
10. Changes and contact
We update this page when the app's data handling changes and change the date at the top. Questions or requests: Qadi@qodebites.com.